The PL1CPP® translator is a software tool that converts existing PL/1 programs to C++. The powerful dual conversion PL1CPP® translator accepts PL/I programs, checks their syntax, analyzes the syntax tree and generates C++ source code. Comments are moved transparently from the source file to the target file. Any built-in functions for math, string manipulation, and I/O in PL/I are converted to calls to external procedure. (to see Pl/I to C++ sample translation(PDF)) The translator currently supports the following PL1 dialects: For other dialects or custom translation, please contact us for a price quote.
Dialect type 1: PL/C Cornell University PL/I
Dialect type 2: PL/I for IBM series 1
Dialect type 3: PL/I-D IBM PL/I subset compiler that runs under DOS
Dialect type 4: PL/I-F IBM PL/I full language compiler runs under DOS
Dialect type 5: DRI PL/I-D DIGITAL RESEARCH PL/I general purpose subset
Dialect type 6: IBM optimizer PL/I compiler runs under DOS
Dialect type 7: IBM optimizer PL/I - OS
Dialect type 8: ANSI X3.7-1987 PL/I general purpose subset
Dialect type 9: ANSI x3.53-1976, ISO 6160-1979 PL/I
Dialect type A: Prime PL/I
Dialect type B: Stratus PL/I
Dialect type C: Data General PL/I
Dialect type D: VAX PL/I
ORDER: PL1CPP type x ( select one from above)
The PL1CPP® translators contain a syntax analyzer, a PL/I to tertiary converter, and a tertiary to C++ converter. The syntax analyzer scans the PL/I input file for syntactic errors and generates a listing file of the PL/I program. Any syntactic errors will be flagged with detailed English messages in the listing file. If no errors are encountered, then the PL/I input file is converted to tertiary language.
The transfer of the PL/I source language into an intermediate tertiary language ensures the logical equivalence between the source and target languages. This tertiary language is common to the entire family of our translators. The tertiary language is automatically converted to C++ while maintaining the logical equivalence between the output C++ program and the input PL/I program.
PL/I STATEMENTS SUPPORTED:
Note: The number in the parentheses indicates the number of formats supported for this
* This statement is not translated. It is passed
through as a comment.
PL/I TYPES SUPPORTED:
aligned area binary bit character complex decimal entry file fixed float format label member non varying offset picture pointer precision real structure union unaligned varying