[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bison test version 2.3a available
From: |
Paul Eggert |
Subject: |
Bison test version 2.3a available |
Date: |
Wed, 13 Sep 2006 12:58:50 -0700 |
User-agent: |
Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux) |
Bison test version 2.3a is now available. An important change in 2.3a
is an experimental approach for replacing traditional Yacc prologue blocks.
Here is the URL:
ftp://alpha.gnu.org/gnu/bison/bison-2.3a.tar.gz
Here are the MD5 and SHA512 checksums:
64e334f0a44cb3bb5e8be6b122c97d4f bison-2.3a.tar.gz
d71147c289c695f9763e0e329189298e56116ead2f94e8aa6af6eaf16ebde2102cdd71008cd54f4dae587c7b14a86593541cee2bc5224e6d932aff2ec858ef5a
bison-2.3a.tar.gz
To try this test version, please make sure you have GNU m4 1.4.6
<ftp://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz> installed, and then execute
the following shell commands or their equivalents:
wget ftp://alpha.gnu.org/gnu/bison/bison-2.3a.tar.gz
gunzip <bison-2.3a.tar.gz | tar xf -
cd bison-2.3a
./configure
make
make check
We particularly appreciate tests on unusual hosts.
Please report bugs to <address@hidden>.
Bison is a parser generator that is compatible with Yacc.
Please see <http://www.gnu.org/software/bison/> for more info about Bison.
Here is a list of user-visible changes in version 2.3a, compared to 2.3:
Bison News
----------
Changes in version 2.3a, 2006-09-13:
* There is an experimental substitute for the handling of traditional
Yacc prologue blocks. This substitute is still evolving, and may
change before the next release. Comments and feedback are welcome.
For details, please see the NEWS file of the release.
* Instead of %union, you can define and use your own union type
YYSTYPE if your grammar contains at least one <type> tag.
Your YYSTYPE need not be a macro; it can be a typedef.
This change is for compatibility with other Yacc implementations,
and is required by POSIX.
* Locations columns and lines start at 1.
In accordance with the GNU Coding Standards and Emacs.
* You may now declare per-type and default %destructor's and %printer's:
For example:
%union { char *string; }
%token <string> STRING1
%token <string> STRING2
%type <string> string1
%type <string> string2
%union { char character; }
%token <character> CHR
%type <character> chr
%destructor { free ($$); } %symbol-default
%destructor { free ($$); printf ("%d", @$.first_line); } STRING1 string1
%destructor { } <character>
guarantees that, when the parser discards any user-defined symbol that has a
semantic type tag other than `<character>', it passes its semantic value to
`free'. However, when the parser discards a `STRING1' or a `string1', it
also prints its line number to `stdout'. It performs only the second
`%destructor' in this case, so it invokes `free' only once.
* Except for LALR(1) parsers in C with POSIX Yacc emulation enabled (with `-y',
`--yacc', or `%yacc'), Bison no longer generates #define statements for
associating token numbers with token names. Removing the #define statements
helps to sanitize the global namespace during preprocessing, but POSIX Yacc
requires them. Bison still generates an enum for token names in all cases.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Bison test version 2.3a available,
Paul Eggert <=