PL/I front-end for GNU Compiler Collection Logo
Source Forge
GCC project
PL/I Links
If you have a PL/I project you would like to see supported by the pl1gcc effort, please get in touch with us.
pl1gcc newsMarch 23rd, 2005

PL/I for GCC is released under the GNU Public License; version 2.

Version 0.0.10 marks yet another milestone for the PL/I front-end project. With this release most if not all of the Multics source code can be parsed using only flex and bison. Special thanks to Tom Van Vleck and Douglas Quebbeman for their effort in providing some 100+ megabytes of Multics source code. It dramatically helped squeeze out many of the quirks of the PL/I grammar.

If you are testing the PL/I compiler, please inform us about any syntax errors that might occur. It suffers to send the offending line of code.

Changes in v0.0.10:

  • Updated INSTALL to follow guidelines
  • Added new compiler option -isuffix, to control suffix of included files
  • Enhanced the ./testone script for mass compiling
  • Included killer test program from Paul Karagianis,
  • Added offset counting to the location tracking
  • Added online manual to
Removed in v0.0.10
  • Removed usage of spaces in numeric constants (wrongly introduced in v0.0.9)
  • Removed compiler option -J, introduced in v0.0.4
Fixed syntax in v0.0.10:
  • Added 'INITIAL TO' for initialising pointers to strings
  • Added B2 bitconstants
  • Allow negative precision and scale for numeric declares
  • Added attribute expressions for DEFAULT statement
  • Added RENAME to procedure options
  • Added support for iSUB array specification
  • RETURNS on procedure and entry can now specify a structure or array
  • Added to entry and procedure options: non_quick_blocks, packed_decimal, separate_static,packed, support, variable,non_quick
  • Added to environment list: interactive, stringvalue
  • Added irreducible,reducible to declare statement
  • Corrected CALL to array of entries with parameters
  • Added constant,format,local,nonvarying to declare statement
  • Allow for user defined conditions
  • Allow '*' in array specifications
  • Change edit specification for E specifications
  • On GENERIC declares allow precision range in WHEN option
  • Allow UNS as abbreviation for UNSIGNED
  • Allow PARM as abbreviation for PARAMETER
  • Floating point constants can end with just '.'
  • Options elements can be separated by blanks or comma
  • Added 'F' in fixed point constants notation
  • Ignore various hex codes in scanner

For a complete changelog look in the README file.

What is pl1gcc ?

The pl1gcc project is an attempt to create a native PL/I compiler using the GNU Compiler Collection. The project is looking for more people to join the development and testing. If you want to see a free PL/I compiler please do contact us and join the fun.


Download via these links

  • GCC version 4.0 (12Mb)

  • PL/I front-end (120Kb)
  • Thank you so much for visiting the pl1gcc homepages. If you do try to download and build the PL/I front end, please let us know how it goes by dropping us a line. Mail pl1gcc

    Previous releases

  • (March 2005)
  • (February 2005)
  • (July 2004)
  • (May 2004)
  • (May 2004)
  • (March 2004)
  • (March 2004)
  • (January 2004)
  • (December 2003)
  • (July 2002)
  • © 2002, Henrik Sorensen.
    Last modified March 23rd, 2005.