X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/327b5b5675f14c998a535ef0ecdf69a551ebd25c..2ae64eed2720a7bd03febd7207a62049448f04c1:/ChangeLog

diff --git a/ChangeLog b/ChangeLog
index e18fa06d..a7301cc1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,271 @@
+2004-03-25  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+	* src/parse-gram.y: Define PERCENT_EXPECT_RR.
+	(declaration): Replace expected_conflicts with expected_sr_conflicts.
+	Add %expect-rr rule.
+	
+	* src/scan-gram.l: Recognize %expect-rr.
+
+	* src/conflicts.h (expected_sr_conflicts): Rename from 
+	expected_conflicts.
+	(expected_rr_conflicts): Declare.	
+
+	* src/conflicts.c (expected_sr_conflicts): Rename from
+	expected_conflicts.
+	(expected_rr_conflicts): Define.
+	(conflicts_print): Check r/r conflicts against expected_rr_conflicts
+	for GLR parsers.
+	Use expected_sr_conflicts in place of expected_conflicts.
+	Warn if expected_rr_conflicts used in non-GLR parser.
+	
+	* doc/bison.texinfo: Add documentation for %expect-rr.
+	
+2004-03-08  Paul Eggert  <eggert@gnu.org>
+
+	Add support for hex token numbers.  Suggested by Odd Arild Olsen in
+	<http://mail.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
+
+	* NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
+	in lalr1.cc.
+	* doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
+	* src/scan-gram.l (scan_integer): New function.
+	({int}): Use it.
+	(0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
+	(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
+	handle_action_dollar, handle_action_at, convert_ucn_to_byte):
+	Say "long int", not "long", for uniformity with GNU style.
+
+2004-02-25  Paul Eggert  <eggert@twinsun.com>
+
+	* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
+	compilers.  This fixes a problem with Intel's C++ compiler being
+	chatty, reported by Guido Trentalancia in
+	<http://mail.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
+
+2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Support %destructor and merge error locations in lalr1.cc.
+
+	* data/lalr1.cc (b4_cxx_destruct_def): New macro.
+	(Parser::stos_): Define unconditionally.
+	(Parser::destruct_): New method.  Generate its body with
+	b4_yydestruct_generate.
+	(Parser::error_start_): New attribute.
+	(Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous
+	token which are discarded.
+	(Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update
+	error_start_ when erroneous token are discarded.
+	(Parser::parse) <yyerrlab1>: Compute the location of the error
+	token so that it covers all the discarded tokens.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so
+	it can be called with `%skeleton "lalr1.cc"', and do that.
+
+2004-02-02  Paul Eggert  <eggert@twinsun.com>
+
+	* src/Makefile.am (AM_CPPFLAGS): New macro.  It mentions
+	$(top_srcdir)/lib and ../lib.  This fixes a bug reported
+	by Paul Hilfinger; the old INCLUDES value didn't mention ../lib.
+	There's no need to mention top_builddir since Automake does that
+	for us.
+	(INCLUDES): Remove, as Automake says it's obsolescent.
+	Contents migrated into AM_CPPFLAGS as described above.
+	* lib/Makefile.am (INCLUDES): Remove; obsolescent.
+
+2004-01-14  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+	* data/glr.c (yytokenName): Bullet-proof against YYEMPTY token.
+	(yyreportSyntaxError): Handle case where lookahead token is
+	YYEMPTY.
+
+2004-01-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+	* data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that
+	resulting parsers are compilable with C++.
+
+2003-12-23  Paul Eggert  <eggert@twinsun.com>
+
+	* config/depcomp, config/install-sh: Sync with Automake 1.8.
+	* src/output.c (output_skeleton): Rename local var.
+	* tests/input.at (Torturing the Scanner): Don't use \x0 or \0 in
+	Bison tokens, as this runs afoul of the 2003-10-07 change that
+	disallowed NUL bytes in character constants or string literals.
+
+	* tests/local.at: Require Autoconf 2.59's Autotest.
+	* tests/testsuite.at: Don't include local.at, since we now assume
+	Autoconf 2.59 or later.  Autoconf 2.59 had some problems with
+	including it.
+	* tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring
+	multiple inclusion warnings.
+
+2003-12-02  Akim Demaille  <akim@epita.fr>
+
+	* doc/bison.texinfo (How Can I Reset the Parser): More about start
+	conditions.
+	From Bruno Haible.
+
+2003-11-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/bison.texinfo (Bison Options): Escape `@' in `$@'.
+
+2003-10-07  Paul Eggert  <eggert@twinsun.com>
+
+	* tests/Makefile.am (clean-local): Don't run 'testsuite --clean'
+	if testsuite doesn't exist.
+
+	* doc/bison.texinfo (Symbols): NUL bytes are not allowed in string
+	literals, unfortunately.
+	* src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
+	Complain about NUL bytes in character constants or string literals.
+
+2003-10-05  Paul Eggert  <eggert@twinsun.com>
+
+	* NEWS: Don't document %no-default-prec, as it's still
+	too experimental.
+	* doc/bison.texinfo: Document %no-default-prec only if
+	the defaultprec flag is set.  Normally it's not.
+
+2003-10-04  Paul Eggert  <eggert@twinsun.com>
+
+	* data/glr.c (b4_rhs_value, b4_rhs_location): Yield a
+	non-modifiable lvalue, instead of a modifiable one.
+	* doc/bison.texinfo (Actions): Document that $$ can
+	be assigned to.  Do not claim that $$ and $N are
+	array element references: user code should not rely on this.
+
+2003-10-01  Paul Eggert  <eggert@twinsun.com>
+
+	* src/parse-gram.h (PERCENT_NO_DEFAULT_PREC): New token.
+	(grammar_declaration): Use it.
+	* src/scan-gram.l: New token %no-default-prec.
+	* tests/conflicts.at: Revamp tests to use %no-default-prec.
+	* NEWS, doc/bison.texinfo: Document the above.
+
+2003-10-01  Akim Demaille  <akim@epita.fr>
+
+	VCG no longer supports long_straight_phase.
+
+	* src/vcg.c, src/vcg.h: Remove the handling of long_straight_phase.
+	* src/print_graph.c (print_graph): Adjust.
+
+2003-09-30  Frank Heckenbach  <frank@g-n-u.de>
+	and Paul Eggert  <eggert@twinsun.com>
+
+	* doc/bison.texinfo (Decl Summary, Contextual Precedence,
+	Table of Symbols): Document %default-prec.
+	* src/parse-gram.y (PERCENT_DEFAULT_PREC): New token.
+	(grammar_declaration): Set default_prec on %default-prec.
+	* src/scan-gram.l (%default-prec): New token.
+	* src/reader.h (default_prec): New flag.
+	* src/reader.c: Likewise.
+	(packgram): Handle it.
+	* tests/conflicts.at (%default-prec without %prec,
+	%default-prec with %prec, %default-prec 1): New tests.
+
+2003-09-30  Paul Eggert  <eggert@twinsun.com>
+
+	* tests/testsuite.at: Include local.at, not input.at, fixing
+	a typo in the 2003-08-25 patch.
+
+2003-08-27  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify
+	GCC warnings.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+	* config/announce-gen (print_changelog_deltas): Neutralize "<#" as
+	"<\#" to avoid magic from Gnus when posting parts of this script.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::report_syntax_error_): New, extracted from
+	(Parser::parse): here.
+	Adjust: nerrs and errstatus is now replaced by...
+	(Parser::nerrs_, Parser::errstatus_): New.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* config/announce-gen, Makefile.cfg: New.
+	* Makefile.am: Adjust.
+	* GNUmakefile, Makefile.maint: Update from CVS Autoconf, but
+	keeping local WGET and WGETFLAGS modifications from Paul Eggert.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	When reducing initial empty rules, Bison parser read an initial
+	location that is not defined.  This results in garbage, and that
+	affects Bison's own parser.  Therefore we need (i) to extend Bison
+	to support a means to initialize this location, and (ii) to use
+	this CVS Bison to fix CVS Bison's parser.
+
+	* src/reader.h, reader.c (epilogue_augment): Remove, replace
+	with...
+	* src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
+	* src/parse-gram.y: Adjust.
+	(%initial-action): New.
+	(%error-verbose): Since we require CVS Bison, there is no reason
+	not to use it.
+	* src/scan-gram.l: Adjust.
+	* src/Makefile.am (YACC): New, to make sure we use our own parser.
+	* data/yacc.c (yyparse): Use b4_initial_action.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* doc/bison.texinfo: Don't promote stdout for error messages.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
+	From Alexandre Duret-Lutz.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	Version 1.875c.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
+	Use them.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::reduce_print_): New.
+	Use it.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
+	error recovery loops.  This patch is based on
+	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
+	Also, augment the similarity between lalr1.cc and yacc.c.
+	Note: the locations of error recovery rules are not correct yet.
+
+	* data/lalr1.cc: Comment changes to augment the similarity between
+	lalr1.cc and yacc.c.
+	(YYERROR): Goto to yyerrorlab, not yyerrlab1.
+	(yyerrlab1): Remove, but where it used to be (now the bottom part of
+	yyerrlab), when hitting EOF, pop the whole stack here instead of
+	merely falling thru the default error handling mechanism.
+	(yyerrorlab): New label, with the old contents of YYERROR,
+	plus the following change: pop the stack of rhs corresponding
+	to the production that invoked YYERROR.  That is how Yacc
+	behaves (required by POSIX).
+	* tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to
+	fail.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	Tune local.at so that people can "autom4te -l autotest calc.at -o
+	calc" for instance, to extract a sub test suite.
+
+	* tests/testsuite.at: Move the initialization, Autotest version
+	requirement, and AT_TESTED invocation into...
+	* tests/local.at: here.
+	* tests/testsuite.at: Include it for compatibility with Autoconf
+	2.57.
+	* tests/Makefile.am ($(TESTSUITE)): Report that the warning should
+	be ignore.
+
 2003-08-04  Paul Eggert  <eggert@twinsun.com>
 
 	Rework code slightly to avoid gcc -Wtraditional warnings.
@@ -12,7 +280,7 @@
 	yyresolveStates, yyprocessOneStack):
 	Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'.
 	Derived from a suggestion by Frank Heckenbach.
-	
+
 2003-07-25  Paul Eggert  <eggert@twinsun.com>
 
 	* data/glr.c (yyglrReduce): Don't use C89 string concatenation,
@@ -11604,7 +11872,7 @@
 -----
 
 Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Compiler Compiler.