X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/9af3fbce7c5f893ab9cd72b924e154d01f1f9190..1509d42fcb8fb8a78d46f0c26b863cafd347bee5:/NEWS diff --git a/NEWS b/NEWS index 64258f23..c589d2f2 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,19 @@ Bison News Changes in version 1.49b: +* GLR parsing + The declaration + %glr-parser + causes Bison to produce a Generalized LR (GLR) parser, capable of handling + almost any context-free grammar, ambiguous or not. The new declarations + %dprec and %merge on grammar rules allow parse-time resolution of + ambiguities. Contributed by Paul Hilfinger. + +* Output Directory + When not in Yacc compatibility mode, when the output file was not + specified, runnning `bison foo/bar.y' created `foo/bar.c'. It + now creates `bar.c'. + * Undefined token The undefined token was systematically mapped to 2 which prevented the use of 2 from the user. This is no longer the case. @@ -17,6 +30,13 @@ Changes in version 1.49b: user specified that one of her tokens is numbered 256, then error will be mapped onto another number. +* Verbose error messages + They no longer report `..., expecting error or...' for state where + error recovery is possible. + +* End token + Defaults to `$end' instead of `$'. + * Error recovery now conforms to documentation and to POSIX When a Bison-generated parser encounters a syntax error, it now pops the stack until it finds a state that allows shifting the error @@ -42,6 +62,13 @@ Changes in version 1.49b: Before, Bison reported the useless rules, but, although not used, included them in the parsers. They are now actually removed. +* Useless rules, useless nonterminals + They are now reported, as a warning, with their locations. + +* Rules never reduced + Rules that can never be reduced because of conflicts are now + reported. + * Incorrect `Token not used' On a grammar such as @@ -64,7 +91,7 @@ Changes in version 1.49b: * Token end-of-file The token end of file may be specified by the user, in which case, the user symbol is used in the reports, the graphs, and the verbose - error messages instead of `$', which remains being the defaults. + error messages instead of `$end', which remains being the defaults. For instance %token YYEOF 0 or