The Raincode PL/I compiler

The Raincode PL/I Compiler is a legacy compiler for the .NET platform. It fully supports mainframe PL/I syntax, data types, and behavior.
Applications can be migrated seamlessly, and the Visual Studio plugin provides a comfortable and productive development environment.
- Generates thread-safe, 100% managed Azure-ready code for .NET 4.5.1 and beyond, in both 32- and 64-bit mode.
Full PL/I pre-processor.
Support for generic classes.
Array, record, and BY NAME arithmetic.
Dynamic allocations and dynamically defined data types.
Parameter passing by value and by reference.
Self-describing structures (REFER clauses).
Label variables.
Non-local GOTO statements.
Grammatical tolerances to cope with loosely formed PL/I code as supported by mainframe-based compilers.
Full support for recursion.
Full support for PL/I conditions with accurate behavior.
Native EBCDIC support.
Seamless Integration with the Raincode COBOL compiler.
Visual Studio plugin.
Support for static or dynamic SQL, targeting DB2 (through Microsoft’s HIS) and SQL Server®.
Easy Transition to .NET core
The Raincode PL/I Compiler is aimed at making the transition to the .NET platform as smooth and as painless as possible. Therefore, accurate mainframe emulation one of its most important features.
All numeric types – except for floating points – are bit-wise equivalent to their mainframe equivalents.
The behavior implemented is derived from the mainframe implementation, and the exact same behavior is reproduced, even when it contradicts the original language standard or its own documentation.