mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-10 12:53:03 +00:00
2d32fc9fe2e648418f253405f0be19dc903bf8c9
This is used to help the user catch cases where some value gets ovewritten by a new one. This should not happen, as this will probably leak. Unfortunately this uncovered a bug in the C++ parser itself: the lookahead value was not destroyed between two calls to yylex. For instance if the previous lookahead was a std::string, and then an int, then the value of the std::string was correctly taken (i.e., the lookahead was now an empty string), but std::string structure itself was not reclaimed. This is now done in variant::build(other&) (which is used to take the value of the lookahead): other is not only stolen from its value, it is also destroyed. This incurs a new performance penalty of a few percent, and union becomes faster again. * data/lalr1-fusion.cc (variant::build(other&)): Destroy other. (b4_variant_if): New. (variant::built): New. Use it whereever the status of the variant changes. * etc/bench.pl.in: Check the penalty of %define assert.
This package contains the GNU Bison parser generator. See the file INSTALL for generic compilation and installation instructions. See the section FAQ in the documentation (doc/bison.info) for frequently asked questions. The documentation is also available in PDF and HTML, provided you have a recent version of Texinfo installed: run "make pdf" or "make html". Bison requires GNU m4 1.4.6 or later. See: ftp://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz Bison can work with pre-1.4.6 distributions of GNU m4 if they are sufficiently patched, but if you encounter a bug with an older distribution and report a bug we will probably suggest that you upgrade to 1.4.6 as the first step in trying to fix it. Please send bug reports to <bug-bison@gnu.org>. Please include the version number from `bison --version', and a complete, self-contained test case in each bug report. If you have questions about using Bison and the documentation does not answer them, please send mail to <help-bison@gnu.org>. ----- Copyright (C) 1992, 1998, 1999, 2003, 2004, 2005, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Description
Languages
C
61%
M4
11.7%
C++
11.3%
Shell
4.1%
XSLT
3.1%
Other
8.8%