#4342: bison-3.1
--------------------+-----------------------
Reporter: bdubbs | Owner: lfs-book
Type: task | Status: new
Priority: normal | Milestone: 8.4
Component: Book | Version: SVN
Severity: normal | Resolution:
Keywords: |
--------------------+-----------------------
Comment (by bdubbs):
* Noteworthy changes in release 3.1 (2018-08-27) [stable]
* Backward incompatible changes
Compiling Bison now requires a C99 compiler---as announced during the
release of Bison 3.0, five years ago. Generated parsers do not require
a
C99 compiler.
Support for DJGPP, which have been unmaintained and untested for years,
is
obsolete. Unless there is activity to revive it, the next release of
Bison
will have it removed.
* New features
* Typed midrule actions
Because their type is unknown to Bison, the values of midrule actions
are
not treated like the others: they don't have %printer and %destructor
support. It also prevents C++ (Bison) variants to handle them properly.
* Reports include the type of the symbols
The sections about terminal and nonterminal symbols of the '*.output'
file
now specify their declared type.
* Diagnostics about useless rules
In the following grammar, the 'exp' nonterminal is trivially useless.
So,
of course, its rules are useless too.
* C++: Generated parsers can be compiled with -fno-exceptions (lalr1.cc)
When compiled with exceptions disabled, the generated parsers no longer
uses try/catch clauses.
Currently only GCC and Clang are supported.
* Documentation
* Some features are no longer 'experimental'
The following features, mature enough, are no longer flagged as
experimental in the documentation: push parsers, default %printer and
%destructor (typed: <*> and untyped: <>), %define api.value.type union
and
variant, Java parsers, XML output, LR family (lr, ielr, lalr), and
semantic predicates (%?).
* Bug fixes
* Various
There were several small fixes in the test suite and in the build
system,
many warnings in bison and in the generated parsers were eliminated.
The
documentation also received its share of minor improvements.
Useless code was removed from C++ parsers, and some of the generated
constructors are more 'natural'.
--
Ticket URL: <http://wiki.linuxfromscratch.org/lfs/ticket/4342#comment:1>
LFS Trac <http://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.
--
http://lists.linuxfromscratch.org/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page