This is the tenth code drop of the GCC front-end for the PL/I programming language.
PL/I for GCC is released under the terms of 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 have a PL/I project you would like to see supported by the pl1gcc effort, please get in touch with us.
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 gcc.gnu.org/install guidelines * Added new compiler option -isuffix, to control suffix of * Included killer test program from Paul Karagianis www.multicians.org/proc-proc.html * Added offset counting to the location tracking * Enhanced the ./testone script for mass compiling * Added online manual to pl1gcc.sourceforge.net/pl1gcc-0.0.10.doc/doc.html
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 to 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 help speed up the development of a free PL/I compiler please do contact us and join the fun.
Looking ahead. After the grammar has settled down, the real code generation is forseen to take place. To capitalize of the effort so far, the parser input file, will be used as basis for a highlightning editor, using the Eclipse project.
If you do try the compiler on some of your own code, please let us know how it goes.
For more information, comments, feedback and download, please visit
and don't forget to join the newsgroup: firstname.lastname@example.org
The GCC PL/I Team. email@example.com