Differences to the plain GNU version in the packages collection:
* We do not install the shell wrapper "yacc" (it is supplied because
POSIX requires it and we already have a yacc command).
Changes since 1.75:
* Numerous bug fixes and improvements including:
+ Compatibility (with 1.35 and Solaris yacc) changes;
+ Fixes for GCC 3.2.1;
+ Use Yacc style of conflict reports;
+ Fix bug where error locations were not being recorded correctly;
+ Fix bad interaction with flex 2.5.23.
Please see the ChangeLog file supplied with the bison source code
for more details.
* Fix Yacc output file names
* Portability fixes
* Italian, Dutch, Swedish, Russian translation
* Many Bug Fixes
* Use of alloca in parsers
* When the generated parser lacks debugging code, YYDEBUG is now 0
(as POSIX requires) instead of being undefined.
* User Actions
Bison has always permitted actions such as { $$ = $1 }: it adds the
ending semicolon. Now if in Yacc compatibility mode, the semicolon
is no longer output: one has to write { $$ = $1; }.
* Better C++ compliance
The output parsers try to respect C++ namespaces.
* Reduced Grammars
Fixed bugs when reporting useless nonterminals.
* 64 bit hosts
The parsers work properly on 64 bit hosts.
* Error messages
Some calls to strerror resulted in scrambled or missing error messages.
* The verbose report includes the rule line numbers.
* Rule line numbers are fixed in traces.
* Parse errors
Verbose parse error messages from the parsers are better looking.
* Fixed parser memory leaks.
When the generated parser was using malloc to extend its stacks, the
previous allocations were not freed.
* Fixed verbose output file.
Some newlines were missing.
Some conflicts in state descriptions were missing.
* Fixed conflict report.
Option -v was needed to get the result.
* Fixed incorrect processing of some invalid input.
* Fixed CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H.
* %token MY_EOF 0 is supported.
Before, MY_EOF was silently renumbered as 257.
* doc/refcard.tex is updated.
* %output, %file-prefix, %name-prefix.
* --output
* `--defines' and `--graph' have now an optionnal argument which is the
output file name. `-d' and `-g' do not change, they do not take any
argument.
* Portability fixes.
* The output file does not define const, as this caused problems when used
with common autoconfiguration schemes. If you still use ancient compilers
that lack const, compile with the equivalent of the C compiler option
`-Dconst='. autoconf's AC_C_CONST macro provides one way to do this.
* Added `-g' and `--graph'.
* The input and the output files has automatically a similar extension.
* NLS support updated; should hopefully be less troublesome.
* Added the old Bison reference card.
* Added `--locations' and `%locations'.
* Added `-S' and `--skeleton'.
* `%raw', `-r', `--raw' is disabled.
* Special characters are escaped when output. This solves the problems
of the #line lines with path names including backslashes.
* New directives.
* @$ Automatic location tracking.
Changes include:
* Should compile better now with K&R compilers.
* Added NLS.
* Fixed a problem with escaping the double quote character.
* There is now a FAQ.