This is the ninth 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.9 marks yet another milestone for the PL/I front-end project, because a much larger subset of the PL/I language can now be parsed using only flex and bison.
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.9: - Added preliminary syntax diagrams, thanks to ebnf2ps and latex2html - Setup a newsgroup firstname.lastname@example.org - Fixed syntax error in YYLLOC_DEFAULT macro - Use the gcc-core-4.0-20050220 snapshot - Revised the DECLARE statement - Unification of signal-conditions and on-conditions - Allow '*' as filler/padding in structure - List of condition commalist for ON and REVERT statements - Allow '_' and ' ' in numeric constants for improved readability
Fixed syntax in v0.0.9: * New statements: - ATTACH - DETACH - DEFINE ALIAS - DEFINE ORDINAL - DEFINE STRUCTURE - FLUSH - ITERATE - RESIGNAL - PACKAGE - DO LOOP; - DO FOREVER; - UPTHRU / DOWNTHRU
* constants: - B3 Octal constants - XN hex signed - XU hex unsigned - M mixed - WX wide hex - S/D/Q number constants - Numeric binary constants, eg x = 0110b; - Use doublequotes '"' for strings along with single quotes "'"
* operators - => (handle operator) - +=, -=, *=, /= - |=, &=, ||=, **=
* conditions - ANYCONDITION - NO-/INVALIDOP - STORAGE
* attributes on declare statement - DIMENSION - PARAMETER - TASK - AB-/NORMAL - NON-/ASSIGNABLE - BIG-/LITTLEENDIAN - HEXADEC - IEEE - NONCONNECTED - UNION/CELL - NONVARYING - VARYINGZ - WIDECHAR - SIGNED / UNSIGNED - PRECISION - VALUE - DATE - NOINIT - HANDLE - ORDINAL - TYPE - EXTERNAL - RESERVED - LIMITED - BYADDR - BYVALUE - OPTIONAL - OPTIONS - NO-/INLINE - NO-/DESCRIPTOR - FROMALIEN - FORTRAN - FETCHABLE - LINKAGE - LIST - CDECL - OPTLINK - STDCALL - SYSTEM - WINMAIN
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: email@example.com
The GCC PL/I Team. firstname.lastname@example.org