PL/I for GCC version 0.0.14 release
February 2007 This is the fourteenth 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. With pl1gcc-0.0.14 another important milestone has been reached. v0.0.14 is the first release where it is possible to create a partly referencelist for the variables in a program, and an overview of %INCLUDE files. Beside structure level information the referencelist contains the following declare attributes: REAL/COMPLEX FIXED/FLOAT BINARY/DECIMAL AUTOMATIC/BASED/CONTROLLED/DEFINED/STATIC/PARAMETER INTERNAL/EXTERNAL AREA/BIT/CHARACTER/GRAPHIC/PICTURE/WIDECHAR/DATE PROCEDURE/ENTRY There is still no code generation taking place, so don't run out and uninstall your production PL/I compiler just yet :-) Changes in v0.0.14 * added location information to most messages * get rid of warning messages when building pl1gcc * synchronize with gcc version 4.3 Changed syntax in v0.0.14 * allow the tilde(~) character as not operator * allow BUFF as abbreviation for BUFFERS * allow ENVIRONMENT( ... ) as part of OPEN statement * allow %INCLUDE to have filename inside quotes Sourcecode contributions to pl1gcc * From Andy&Pam Norrie: a project used for score keeping of match-races for halfton yachts. For a complete list of changes check the CHANGELOG 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. There are a number of interesting tasks related to the pl1gcc project, where any help would be greatly appreciated. a) Error regression infrastructure b) Error message codes c) Case insensitive include name expansion d) Test cases e) Project web pages f) Language reference manual g) User guide h) Tutorial to PL/I i) Frequently asked questions j) Internals of pl1gcc For more information, comments, feedback and download, please visit http://pl1gcc.sourceforge.net Finally, remember to have some fun. The GCC PL/I Team. Web links mentioned: http://pl1gcc.sourceforge.net
Re: Identifying rule responsible for lookahead
On Tuesday 01 March 2005 19.02, Soumitra Kumar wrote: > Henrik, > So, if I get the following output (rule no after a > lookahead symbol), finding the ambiguous rules is > trivial. well, you can search for all the states that have a goto your state 10.
PL/I Frontend for GCC version 0.0.10 released
Cross posted to alt.os.multics comp.lang.pl1 [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] gcc@gcc.gnu.org March 2005 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 %include files * 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 http://pl1gcc.sourceforge.net and don't forget to join the newsgroup: [EMAIL PROTECTED] Have fun The GCC PL/I Team. [EMAIL PROTECTED]
front-end tools for preprocessor / macro expansion
For the PL/I front-end project (pl1gcc.sourceforge.net), I am just about to begin to add a preprocessor expansion step, and was wondering what other front-end do. My initial thoughts were to create a completely separate program that just do the preprocessing and passes the output to the compiler. Some background info regarding the PL/I preprocessor. The PL/I processor language is more of a real text pre-processor that anything else, eg it is possible to define functions and have declared variables of data type either numeric or character based, and control statements includes for-loops, if-then constructs and goto statements. any thoughts, hints is much appreciated. Henrik
Re: [Flex] Getting the absolute input file position
On Friday 15 July 2005 03.42, [EMAIL PROTECTED] wrote: > I need to figure out how I can augment the generated file to get > the absolute input file position within two rules: > start file position...end file position. In the pl1gcc project, I have implemented token offsets across multiple input files for the scanner. Don't expect too much help from Flex though. You will have to code the beancounting yourself. I had to extend the YYLTYPE structure: typedef struct pl1ltype { int first_file; int first_line; int first_column; int first_offset; int last_file; int last_line; int last_column; int last_offset; } pl1ltype; #define YYLTYPE pl1ltype pl1gcc.sourceforge.net hope this helps you Henri
Re: Would Like to Contribute, Where to Start?
On Friday 25 November 2005 17.49, Michael Garvin wrote: > Hi! I would like to contribute as a developer to gcc. excellent! > I was just thinking the beginner stuff would be a > good way to get started. the pl1gcc.sourceforge.net front-end project could really need some hands on the integration with gcc. currently the scanner and parser is done. Mail me off list, if you are interested in some front-end development. > Thanks! > mike. Henrik
Re: i370 port
On Sunday 23 August 2009 04.27:11 Paul Edwards wrote: > > Jujitsu are pleased to announce the release of the > following software: > > GCC 3.2.3 MVS 7.5 - GCC C compiler for z/OS, MVS/380, MVS/370. > GCC 3.2.3 CMS 7.5 - GCC C compiler for z/VM, VM/380, VM/370. > PDPCLIB 2.00 - C (C90-compliant) runtime library for MVS > Hercules/380 3.06 v6.0 - Used to run MVS/380. It now does Hi Paul Congrats !! good to see you are making progress, and also getting feedback on the gcc-list. > BFN. Paul. Henrik
pl1gcc version 0.0.11 released
May 2006 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 preprocessor. It has been more than a year since the previous release of pl1gcc, but development has picked up again. 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 statement, but thanks to the tools flex and bison, it is straightforward 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 code generation 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 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. The contributions are: * Object Oriented Extension generator by Patrick Senti. * PL/I compiler for Windows by Hugh Moran. If you happen to have some PL/I code lying around and you don't know what on earth 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. For more information, comments, feedback and download, please visit http://pl1gcc.sourceforge.net If you are interested in how the development is progressing, follow the discussions on the development mailing list: pl1gcc-development (-at-) lists.sourceforge.net Finally, remember to have some fun. The GCC PL/I Team. Web links mentioned: http://www.multicians.org/proc-proc.html http://www.gnu.org/licenses/gpl-howto.html http://pl1gcc.sourceforge.net
/bin/sh: build/genmodes: No such file or directory (was Re: gcc-4.2-20060708 is now available)
> Snapshot gcc-4.2-20060708 is now available on > ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-20060708/ something is brkoen here ... [~/gcc] >../gcc-src/gcc-4.2-20060708/gcc/configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking LIBRARY_PATH variable... ok checking GCC_EXEC_PREFIX variable... ok checking whether to place generated files in the source directory... no checking whether a default linker was specified... no checking whether a default assembler was specified... no checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking whether gcc and cc understand -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for inline... inline checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for void *... yes checking size of void *... 4 checking for short... yes checking size of short... 2 checking for int... yes checking size of int... 4 checking for long... yes checking size of long... 4 checking for long long... yes checking for long long... (cached) yes checking size of long long... 8 checking for __int64... no checking whether gcc accepts -Wno-long-long... yes checking whether gcc accepts -Wno-variadic-macros... no checking whether gcc accepts -Wno-overlength-strings... no checking whether gcc accepts -Wold-style-definition... yes checking whether gcc accepts -Wmissing-format-attribute... yes checking whether gcc accepts -Wc++-compat... no checking valgrind.h usability... no checking valgrind.h presence... no checking for valgrind.h... no checking whether make sets $(MAKE)... yes checking for gawk... gawk checking whether ln -s works... yes checking whether ln works... yes checking for ranlib... ranlib checking for a BSD compatible install... /usr/bin/install -c checking for cmp's capabilities... gnucompare checking for mktemp... yes checking for makeinfo... makeinfo checking for modern makeinfo... yes checking for recent Pod::Man... yes checking for flex... flex checking for bison... bison checking for nm... nm checking for ar... ar checking for GNU C library... yes checking for ANSI C header files... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking whether string.h and strings.h may both be included... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for limits.h... yes checking for stddef.h... yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking for stdlib.h... (cached) yes checking for time.h... yes checking for iconv.h... yes checking for fcntl.h... yes checking for unistd.h... (cached) yes checking for sys/file.h... yes checking for sys/time.h... yes checking for sys/mman.h... yes checking for sys/resource.h... yes checking for sys/param.h... yes checking for sys/times.h... yes checking for sys/stat.h... (cached) yes checking for direct.h... no checking for malloc.h... yes checking for langinfo.h... yes checking for ldfcn.h... no checking for locale.h... yes checking for wchar.h... yes checking for thread.h... no checking for pthread.h... yes checking for CHAR_BIT... yes checking whether byte ordering is bigendian... no checking for collect2 libraries... none required checking for library containing exc_resume... no checking for library containing ldexp... none required checking for inttypes.h... yes checking for times... yes checking for clock... yes checking for kill... yes checking for getrlimit... yes checking for setrlimit... yes checking for atoll... yes checking for atoq... no checking for sysconf... yes checking for strsignal... yes checking for getrusage... yes checking for nl_langinfo... yes checking for scandir... yes checking for alphasort... yes checking for gettimeofday... yes checking for mbstowcs... yes checking for wcswidth... yes checking for mmap... yes checking for mincore... yes checking for setlocale... yes checking for clearerr_unlocked... yes checking for feof_unlocked... yes checking for ferror_unlocked... yes checking for fflush_unlocked... yes checking for fgetc_unlocked... yes checking for fgets_unlocked... yes checking for fileno_unlocked... yes checking for fprintf_unlocked... no checking for fputc_unlocked... yes checking for fputs_unlocked... yes checking for fread_unlocked... yes checking for fwrite_
Re: /bin/sh: build/genmodes: No such file or directory (was Re: gcc-4.2-20060708 is now available)
On Monday 10 July 2006 22:42, [EMAIL PROTECTED] wrote: > > Snapshot gcc-4.2-20060708 is now available on > > ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-20060708/ > > something is brkoen here ... > [~/gcc] > > >../gcc-src/gcc-4.2-20060708/gcc/configure > ups, should of course have been ../gcc-src/gcc-4.2-20060708/configure
pl1gcc 0.0.12 released
August 2006 This is the twelfth 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. This is mostly a technical release, with some visible user changes. Most notably, the compiler output will now show the compiler options, and a message indicating the number of successfully parsed statements, and further show syntax errors as well. There is still no code generation taking place, so don't run out and uninstall your production PL/I compiler just yet :-) 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. Summary of changes in v0.0.12: * Scanner and parser are now reentrant * Synchronized with gcc version 4.2-20060715 * Improved internal documentation of functions * Parsing of procedures and their parameters * Stop compiling at first error * Make compiler output more user friendly Changed syntax in v0.0.12 * Fixed error when %INCLUDE filename was not found * Ignoring hex character 0x1A (ctrl-z, EOF) * Accept but ignore the following preprocessor statements - %SKIP - %PAGE - %PRINT - %NOPRINT Changed semantic checks in v0.0.12: * Error message if procedure name is already defined * Error message if %INCLUDE cannot be resolved * Error message if an unknown character is met * Error messages by bison: Syntax error ... For a complete change-log 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, or consider making a donation using the sourceforge donation system [*]. That way you can support both the pl1gcc project and also sourceforge and a number of other open source projects. Looking ahead. If you know of a PL/I project that should be compilable by the pl1gcc compiler, please get in touch with us and we'll see if we can accommodate it. The code does not have to be covered by GPL. For more information, comments, feedback and download, please visit http://pl1gcc.sourceforge.net If you are interested in how the development is progressing, follow the discussions on the development mailing list: pl1gcc-development (-at-) lists.sourceforge.net Finally, remember to have some fun. The GCC PL/I Team. Web links mentioned: http://pl1gcc.sourceforge.net [*] http://sourceforge.net/donate/index.php?group_id=49916
pl1gcc-0.0.13 released
October 2006 This is the thirteenth 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. Main new feature in pl1gcc-0.0.13 is the preprocessor %GOTO statement. There is still no code generation taking place, so don't run out and uninstall your production PL/I compiler just yet :-) Changes in v0.0.13 * improved internal documentation * many improved diagnostic messages Changed syntax in v0.0.13 * added %GOTO label * added %ACTIVATE variable * added %DEACTIVATE variable * added %NOTE ( level , message ) For a complete list of changes check the CHANGELOG 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, or consider making a donation using the sourceforge donation system[*]. That way you can support both the pl1gcc project and also sourceforge and a number of other open source projects. For more information, comments, feedback and download, please visit http://pl1gcc.sourceforge.net Finally, remember to have some fun. The GCC PL/I Team. Web links mentioned: http://pl1gcc.sourceforge.net [*] http://sourceforge.net/donate/index.php?group_id=49916
PL/I for GCC version 0.0.15 released
September 2007 This is the fifteenth 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. With pl1gcc-0.0.15 the preprocessor do loop, %DO, has been partly implemented. Only one level is allowed. This required quite a bit of restructuring of the internal code. But now it is easy to add more preprocessor statements like %IF and preprocessor %PROCEDUREs. Expect some more releases soon. Further the internal parse tree has also been improved, so code generation should begin really soon now (tm). There is still no code generation taking place, so don't run out and deinstall your production PL/I compiler just yet :-) Changes in v0.0.15 -- * Restructuring parser stack * Improve internal interface to preprocessor * Synchronize with gcc version 4.3 (20070810) * Improved error messages with declares Changed syntax in v0.0.15 - * Non-nested %DO varname = NUM TO NUM * %NOTE can reference preprocessor variables For a complete list of changes check the CHANGELOG file. Source code contributions to pl1gcc --- If you have some PL/I code you do would like to save for the future, then consider to release the source code either under GPL or donate it to the public domain. pl1gcc can offer to host the code for you. 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 development and testing, it has mostly been a one man project. There are a number of interesting tasks related to the pl1gcc project, where any help would be greatly appreciated. a) Error regression infrastructure b) Error message codes c) Case insensitive include name expansion d) Test cases e) Project web pages f) Language reference manual g) User guide h) Tutorial to PL/I i) Frequently asked questions j) Internals of pl1gcc k) Code generation For more information, comments, feedback and download, please visit http://pl1gcc.sourceforge.net Finally, remember to have some fun. Henrik Sorensen Web links mentioned: http://pl1gcc.sourceforge.net
Re: PL/I for GCC version 0.0.15 released
On Sunday 30 September 2007 11.21:38 Rafael Espindola wrote: > > PL/I for GCC is released under the terms of the > > GNU Public License; version 2. > > The GCC at trunk uses GPL version 3 or newer ... I use the snapshot from 20070810 and there the COPYING file is still GPL version two. anyway I will plan an upgrade of the license together with major release upgrade, and leave the 0.0.xx series as GPLv2. Henrik