The Raincode PL/I compiler
for .NET and .NET Core
The Raincode PL/I Compiler is a full legacy compiler for the .NET platform. It supports mainframe PL/I syntax, data types and behavior accurately.
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 32- and 64-bit mode
Full PL/I pre-processor
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)
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
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
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 is an essential feature
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.
Exclusive: Run unmodified DB2 code on SQL Server
In theory, the DB2 SQL statements included in your COBOL programs should be usable as is on SQL Server.
But that’s in theory only.
Even though SQL is a standard, there are so many discrepancies between SQL dialects that it is common to see portfolios where as many as 60% of the SQL statements require some level of transformation when moving from one database to another. Differences include built-in functions, operators, implicit type conversion, controlling locking, the number of records to fetch and more.
Migrating an application from one database to another used to be a migration project in its own right. Not anymore. The Raincode COBOL compiler transforms DB2 SQL statements into equivalent SQL Server statements at compile time. The existing code can then run on the target database without any changes whatsoever.
Compiled programs can even target either of the databases based on a runtime flag. And since it all happens at compile time, there is no performance penalty involved. Statements run as fast as if they had been coded for SQL Server in the first place.
CICS Emulator: Ultimate flexibility
The Raincode PL/I compiler isn’t a black box. It can be tweaked and adapted to environment-specific constraints. Events can be intercepted, overridden or extended.
User-defined code can be used to alter the behavior of memory allocations, file I/O, module loading, SQL commands, tracing, transaction processing, etc.
More specifically, by taking advantage of the Raincode PL/I compiler’s built-in CICS recognition ability, a connection can be made to a CICS emulator without a precompiler.