X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Message-Id: <201001110539.o0B5dZ6a024391@delorie.com> X-Authenticated: #27081556 X-Provags-ID: V01U2FsdGVkX1/T4DcRqvvTtLTETnFIewwnVT1GJIfEjS/Nb/Hod6 656HuCr3NHkXWW From: Juan Manuel Guerrero To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: DJGPP port of GNU Bison 2.4.1 uploaded. Date: Sun, 10 Jan 2010 19:37:16 +0100 Content-Disposition: inline X-Y-GMX-Trusted: 0 X-FuHaFi: 0.49 This is a port of GNU Bison 2.4.1 to MSDOS/DJGPP. Bison is a Yacc compatible parser generator. This is mostly a porting and bug-fix release; the only change to user-visible behavior is to the YYRECOVERING macro in GLR grammars, as noted in the user-visible change list. DJGPP specific changes. ======================= - The DJGPP port of Bison offers LFN and SFN support depending on which OS it is running. If LFN support is available or not is determinated at run time. If LFN support is available (DOS session under Win9X), the standard posix file name extensions will be used. These are: y.tab.c, y.tab.c++, y.tab.h, y.output, etc. If only SFN support is available (plain DOS), then the standard MSDOS short file names will be used. These are: y_tab.c, y_tab.h, y.out, etc. - It should be noticed that this version of Bison uses the m4 program as a backend to generate the parser file (e.g. y_tab.c, etc.) from the skeleton files. This means that m4 *must* be installed and available when bison's is invoked or bison will not be able to generate the parser file. m4 will use a couple m4 scripts that will be installed in /dev/env/DJDIR/share/bison. This version of bison requires at least m4 1.4.3 available as m4-143b.zip at ftp://ftp.delorie.com and mirrors. - It should also be noticed that the two skeleton files bison.simple and bison.hairy are no longer used nor supported anymore. This applies also to the two environment variables BISON_HAIRY and BISON_SIMPLE. Those variables are *no* longer honored at all. This implies that you can no longer use these variables to point bison to an alternative skeleton file. Use the command line option `-S' instead. - The skeleton file bison.simple is now called yacc.c and is an m4 script. Please notice that the grammar type coded in the skeleton file bison.hairy is no longer supported by the bison maintainer. The other two skeleton files supported by this bison version are glr.c and lalr1.cc. The first one is a generalized LR C parser based on Bison's LALR(1) tables and the second one is a experimental C++ parser class. As usual, all djgpp specific files (config.bat, diffs, README files, etc.) are located in the /djgpp subdir. Here is a list of user-visible changes in version 2.4.1. taken from the NEWS file: * Changes in version 2.4.1 (2008-12-11): ** In the GLR defines file, unexpanded M4 macros in the yylval and yylloc declarations have been fixed. ** Temporary hack for adding a semicolon to the user action. Bison used to prepend a trailing semicolon at the end of the user action for reductions. This allowed actions such as exp: exp "+" exp { $$ = $1 + $3 }; instead of exp: exp "+" exp { $$ = $1 + $3; }; Some grammars still depend on this `feature'. Bison 2.4.1 restores the previous behavior in the case of C output (specifically, when neither %language or %skeleton or equivalent command-line options are used) to leave more time for grammars depending on the old behavior to be adjusted. Future releases of Bison will disable this feature. ** A few minor improvements to the Bison manual. * Changes in version 2.4 (2008-11-02): ** %language is an experimental feature. We first introduced this feature in test release 2.3b as a cleaner alternative to %skeleton. Since then, we have discussed the possibility of modifying its effect on Bison's output file names. Thus, in this release, we consider %language to be an experimental feature that will likely evolve in future releases. ** Forward compatibility with GNU M4 has been improved. ** Several bugs in the C++ skeleton and the experimental Java skeleton have been fixed. For futher information about GNU bison please read the info docs and NEWS file. The port has been configured, compiled and tested on a WinXP Prof SP3 system with LFN support using stock djdev204, gcc442 and bsh205bbr3. To be able to compile the sources you must fix the "_rdtsc" issue, this means that you have to change the following lines in your /dev/env/DJDIR/include/time.h like this: < unsigned long long _rdtsc(void); --- > static unsigned long long _rdtsc(void); Please also note that the testsuite will only work if LFN are available. All tests concerning java and doxygen will be skipped. It should be noticed that all tests from the testsuite checking g++ specific features fail with an error message like this: c:/djgpp-2.04/bin/ld.exe: cannot find -lgcc collect2: ld returned 1 exit status This happens always when the testsuite ist invoked from the Makefile like this: make check If the same testsuite is startet from inside the /tests directory like this: sh ./testsuite the testsuite passes flawless. I was not able to figure out what is wrong with the Makefile. The port has mostly testet for 2.04 and very little for 2.03. The port consists of the usual three packages that have been compiled using stock djdev203 and that can be downloaded from ftp.delorie.com and mirrors as (timestamp 2010-01-10): Bison 2.4.1 binary, info and man format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/bsn241b.zip Bison 2.4.1 dvi, html, ps and pdf format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/bsn241d.zip Bison 2.4.1 source: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/bsn241s.zip For the convenience of the WinXP users the binaries has been produced a second time using the djdev204 beta library. This package is available at ftp.delorie.com and mirrors as (timestamp 2010-01-10): Bison 2.4.1 binary, info and man format documentation: ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/bsn241b.zip Send GNU bison specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel