pl1gcc-0.0.11
This is the eleventh 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.11, includes a new infrastructure for the PL/I preprocessor.
It has been more than a year since the previous release of pl1gcc,
but development has picked up again, so expect releases to happen more
frequently. And remember you are always welcome to join the project, we
need really help at all levels of development.
The v0.0.11 release marks another important step forward towards
a fully functioning PL/I compiler: the preprocessor. The current
implementation supports just a few statements, but thanks to the
tools flex and bison, it is straight forward to add the missing
preprocessor statements. Expect a few new ones to be added with
each new release, just like the PL/I parser has been developed.
Currently there is still no codegeneration taking place, so don't
run out and uninstall your production PL/I compiler, just yet :-)
But read ahead for some good news.
It would still be a great help for us if you try the compiler on
some of your own source code, or if you could construct a PL/I
program that really tests the corners of the grammar. Basically
a program that does all what the syntax allows. As inspiration,
have a look at the test program written by Paul Karagianis
http://www.multicians.org/proc-proc.html
but I am sure you can create a much worse PL/I program, which we
would like to see. And if you release it under GPL it can be added
to the pl1gcc hall of fame, so just go ahead and do the coding.
Please inform us about any syntax errors that might occur so we can
check if the error is in the pl1gcc parser, and not in your code.
Changes in v0.0.11:
- New preprocessor infrastructure using bison and flex.
- Added new compiler option -pp-only: preprocessor scanning only.
- Added installation instructions when using Eclipse as development platform.
- Added better windows/Cygwin installation instructions, thanks to John Wood.
- Refactoring of code to make the code more modular.
- Synchronized with gcc version 4.2
Changed syntax in v0.0.11:
- Allow DECLARE statements to be empty.
- Allow scale for datatype COMPLEX.
- Some ENVIRONMENT elements can have a variable as parameter.
- Allow subscripts and initial on ALLOCATE statement.
- Allow B1 for bit constants
- %DECLARE varname FIXED/CHAR
- %REPLACE varname BY value
- %INCLUDE filename
- %INCLUDE environmentvariable ( filename )
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
Since two exciting code donations has been done, real code generation
is just within reach.
A big thank to Patrick and Hugh for releasing
their hard work under the GPL license for all of us to look at.
The contributions are:
If you happend to have some PL/I code lying around and you don't know what
on earth name you should do with it. Consider releasing it under the terms
of GPLv2, and send it to the pl1gcc project. We will be happy to host the
source code for you. Who knows, it might even be possible to see that old
code live again once code generation takes place.
For releasing your code under the GPL license look at
http://www.gnu.org/licenses/gpl-howto.html
for the exact details.
If you do try the compiler on some of your own code, please let us know
how it goes.
Further, if you know of a PL/I project you would like to see supported
by the pl1gcc effort, please get in touch with us. The code does not
have to be covered by GPL.
And finally remember to have some fun
|