X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/ef1b427325c10362bd5880c22de310ed96dbc235..6130b75585cad5f4bb2ee78875a0bfe109b2a3e3:/NEWS diff --git a/NEWS b/NEWS index 3526e7b4..8a5fc93d 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,30 @@ Bison News ---------- -Changes in version 2.3a+ (????-??-??): +Changes in version ?.? (????-??-??): + +* Java skeleton improvements: + + The constants for token names were moved to the Lexer interface. + Also, it is possible to add code to the parser's constructors using + "%code init" and "%define init_throws". + +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. + +Changes in version 2.3b (2008-05-27): * The quotes around NAME that used to be required in the following directive are now deprecated: @@ -28,13 +51,36 @@ Changes in version 2.3a+ (????-??-??): See the new section `A Push Parser' in the Bison manual for details. + The current push parsing interface is experimental and may evolve. More user + feedback will help to stabilize it. + * The -g and --graph options now output graphs in Graphviz DOT format, - not VCG format. + not VCG format. Like --graph, -g now also takes an optional FILE argument + and thus cannot be bundled with other short options. + +* Java -* An experimental directive %language specifies the language of the - generated parser, which can be C (the default) or C++. This - directive affects the skeleton used, and the names of the generated - files if the grammar file's name ends in ".y". + Bison can now generate an LALR(1) parser in Java. The skeleton is + `data/lalr1.java'. Consider using the new %language directive instead of + %skeleton to select it. + + See the new section `Java Parsers' in the Bison manual for details. + + The current Java interface is experimental and may evolve. More user + feedback will help to stabilize it. + +* %language + + This new directive specifies the programming language of the generated + parser, which can be C (the default), C++, or Java. Besides the skeleton + that Bison uses, the directive affects the names of the generated files if + the grammar file's name ends in ".y". + +* XML Automaton Report + + Bison can now generate an XML report of the LALR(1) automaton using the new + `--xml' option. The current XML schema is experimental and may evolve. More + user feedback will help to stabilize it. * The grammar file may now specify the name of the parser header file using %defines. For example: @@ -69,7 +115,7 @@ Changes in version 2.3a+ (????-??-??): for further discussion. * Lookahead Set Correction in the `.output' Report - + When instructed to generate a `.output' file including lookahead sets (using `--report=lookahead', for example), Bison now prints each reduction's lookahead set only next to the associated state's one item that (1) is @@ -79,7 +125,8 @@ Changes in version 2.3a+ (????-??-??): bug affected only the `.output' file and not the generated parser source code. -* --report-file=FILE is a new flag to override the default `.output' file name. +* --report-file=FILE is a new option to override the default `.output' file + name. * The `=' that used to be required in the following directives is now deprecated: @@ -126,7 +173,7 @@ Changes in version 2.3a+ (????-??-??): sometimes prove to be false alarms in existing grammars employing the Yacc constructs $0 or $-N (where N is some positive integer). - To enable these warnings, specify the flag `--warnings=midrule-values' or + To enable these warnings, specify the option `--warnings=midrule-values' or `-W', which is a synonym for `--warnings=all'. * Default %destructor or %printer with `<*>' or `<>' @@ -154,6 +201,13 @@ Changes in version 2.3a+ (????-??-??): See the section `Freeing Discarded Symbols' in the Bison manual for further details. +* %left, %right, and %nonassoc can now declare token numbers. This is required + by POSIX. However, see the end of section `Operator Precedence' in the Bison + manual for a caveat concerning the treatment of literal strings. + +* The nonfunctional --no-parser, -n, and %no-parser options have been + completely removed from Bison. + Changes in version 2.3a, 2006-09-13: * Instead of %union, you can define and use your own union type @@ -978,7 +1032,7 @@ End: ----- Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007 Free Software Foundation, Inc. +2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler.