PL/1 for GCC project is an attempt to create a native PL/I compiler using the GNU Compiler Collection.
Version: 0.0.14PL/1 for GCC project is an attempt to create a native PL/I compiler using the GNU Compiler Collection. PL/I is a third-generation procedural language suitable for a wide range of applications including system software, graphics, simulation, text processing, Web, and business applications.
Operating System: Linux
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
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.
Since the GCC PL/I is not yet part of mainline GCC, there are some manual steps you have to perform before you can use the GCC PL/I compiler.
If you are using Cygwin under Windows, please follow the instructions in the file INSTALL.cygwin. If you want to use eclipse please consult INSTALL.eclipse.
First you need the source code for the GCC compiler itself. If you do not already have the sourcecode installed you will have to download it.
This is how we did it; you can probably come up with another way.
Get latest working version of the gcc-core-4.2-2006mmdd weekly snapshot and
the latest version of the pl1gcc-0.0.x archive file, from http://pl1gcc.sourceforge.net
Note: The snapshot of gcc downloaded from the pl1gcc project is known to work with pl1gcc. If you try another snapshot from the GCC project, please let us know if it works or not.
GCC recommends to separate the source directories from the build directories, so create a direcory to hold the unpacked source code.
Unpack the downloaded gcc-core-4.2-2006mmdd snapshot into your directory for gcc source, assuming the downloaded files are stored in ~/download, this will unpack the gcc compiler file:
tar -xjf ~/download/gcc-core-4.2-2006mmdd.tar.bz2
Note: this will create a directory named ~/gcc-src/gcc-4.2-2006mmdd
Unpack the pl1gcc-0.0.x.zip file into your home directory, with these commands
This will create the directories ~/pl1gcc-0.0.x/pl1
Create a link from ~/gcc-src/gcc-4.2-2006mmdd to your unpacked pl1 library:
ln -s ~/pl1gcc-0.0.x/pl1 pl1
Create an empty ~/gcc directory, where the built object will created:
rm -rf ~/gcc
Unpacking is now done, and you can start to build your downloaded compiler. This might take a while (*).
and go enjoy some of your favorite bewerages, and of course don't forget to make a donation to the pl1gcc project.
You can speed up the compilation considerably, by disabling some of the languages you do no longer need, now you have PL/I as your favorite compiler.
To do this edit the files ~/gcc-src/gcc-4.2-2006mmdd//config-lang.in,
and set the variable
What's New in This Release:
· This release adds support for using the tilde character as the "not" operator and support for ENVIRONMENT().
· It adds location information to most messages. %INCLUDE can now have filenames inside of quotes.