A Renewed Concept

Raincode Legacy Compilers were designed from the ground up as legacy compilers, as opposed to development compilers, in recognition of the fact that they will be used far more often to compile existing portfolios than newly developed code.

The only industrial standard COBOL compiler for .NET and .NET Core. Runs your IBM legacy code into .NET or .NET Core

The Raincode PL/I Compiler for .NET and .NET Core support IBM mainframe syntax, data type and behavior

Raincode ASM370

The Raincode ASM370 compiler for .NET and .NET Core allows you to port, maintain and even debug your assembler code under .NET and .NET Core environment

The JCL Interpreter is aimed at making the transition to the .NET platform as smooth and as painless as possible

Raincode CICS is an emulator for .NET and Azure platforms. It is the ideal companion for the Raincode COBOL compiler and the Raincode PL/I compiler.

Download the Raincode COBOL Compiler for free

Single sourcing or the guarantee of continuity

Single sourcing is the property that ensures that the very same source code currently in production on the mainframe can be used, as is, on the target platform. This means that the source code can be maintained centrally and deployed on both platforms, with strictly equivalent behavior.

When we created the Raincode Legacy Compilers products, the goal wasn’t to build better compilers than the ones they were meant to replace. The focus was on reproducing existing behavior as accurately as possible (even when it seemed vastly sub-optimal or even plain idiotic) to minimize disruption and guarantee continuity as well as functional equivalence.

Single sourcing is also supported by Raincode PL/I′s transparent compile-time DB2 to SQL Server translation.

Legacy compilers are always used in a migration context

Raincode Legacy Compilers provide numerous unique features to support this approach:

  • A repository with useful information to support migration project organization

  • Convenient bi-directional interfaces to other .NET components with no requirement for changes to the original source code;

  • Support for grammatical idiosyncrasies supported by older compilers, so that even minor – and generally inconsequential – changes can be avoided in most cases