+2004-04-13 Jim Meyering <jim@meyering.net>
+
+ * src/conflicts.c (conflicts_print): Correct format string typo:
+ use `%%' to produce literal `%'. (trivial change)
+
+2004-03-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/getargs.c (version): Update copyright year to 2004.
+
+ * data/c.m4 (b4_int_type): Use 'short int' rather than
+ 'short', and similarly for 'long', 'unsigned', etc.
+ * data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
+ yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
+ yy_yypstack, yydumpstack): Likewise.
+ * data/lalr1.cc (user_token_number_max_, user_token_number_max_,
+ translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
+ Likewise.
+ * data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
+ yy_stack_print, yyparse): Likewise.
+ * doc/bison.texinfo (Prologue, Multiple Types): Likewise.
+ * lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
+ * lib/bitset.c (bitset_print): Likewise.
+ * lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
+ * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+ * lib/bitsetv.c (bitsetv_dump): Likewise.
+ * lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
+ * lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
+ Likewise.
+ * src/LR0.c (allocate_itemsets): Likewise.
+ * src/gram.h (rule_number, rule): Likewise.
+ * src/lalr.h (goto_number): Likewise.
+ * src/nullable.c (nullable_compute): Likewise.
+ * src/output.c (prepare_rules): Likewise.
+ * src/relation.c (relation_print, relation_digraph): Likewise.
+ * src/relation.h (relation_node): Likewise.
+ * src/state.h (state_number, transitions, errs, reductions,
+ struct state): Likewise.
+ * src/symtab.h (symbol_number, struct symbol): Likewise.
+ * src/tables.c (vector_number, tally, action_number,
+ default_goto, goto_actions): Likewise.
+ * tests/existing.at (GNU Cim Grammar): Likewise.
+ * tests/regression.at (Web2c Actions): Likewise.
+
+ * src/output.c (muscle_insert_short_int_table): Renamed from
+ muscle_insert_short_table. All uses changed.
+
+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.
+ * data/glr.c (yyuserMerge): Return void, not YYSTYPE.
+ The returned value is now stored in *YY0. All callers changed.
+ * src/output.c (merge_output): Adjust to the above change.
+
+2003-07-26 Paul Eggert <eggert@twinsun.com>
+
+ * data/glr.c (YYASSERT): New macro.
+ (yyfillin, yydoAction, yyglrReduce, yysplitStack,
+ 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,
+ for portability to K&R C (after ansi2knr, presumably). See
+ <http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
+ by Frank Heckenbach, though I have omitted the structure-initialization
+ part of his glr-knr.diff patch since I recall that the Portable
+ C Compiler didn't require that change.
+
+ Let the user specify how to allocate and free memory.
+ Derived from a suggestion by Frank Heckenbach in
+ <http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
+ * data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
+ All uses of free, malloc, realloc changed to use these macros,
+ and unnecessary casts removed.
+ * data/yacc.c (YYFREE, YYMALLOC): Likewise.
+
+2003-07-06 Matthias Mann <MatthiasMann@gmx.de>
+
+ * data/lalr1.cc (operator<<(std::ostream&, const Position&)):
+ use s.empty() rather than s == "" to test for empty string; see
+ <http://mail.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
+ (trivial change)
+
+2003-06-25 Akim Demaille <akim@epita.fr>
+
+ * config/depcomp, config/install-sh: Update from masters.
+
2003-06-20 Paul Eggert <eggert@twinsun.com>
* data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed,
when printing sizes. Print sizes using an unsigned format.
Problem reported by Frank Heckenbach in
<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
-
+
Port to Forte Developer 7 C compiler.
* data/glr.c (struct YYLTYPE): If locations are not being used,
declare a single dummy member, as empty structs do not conform
the Forte Developer 7 C compiler complains that end-of-loop
code is not reached.
+2003-06-17 Paul Eggert <eggert@twinsun.com>
+
+ * lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to
+ avoid warnings from picky compilers about redefinition of PARAMS.
+
2003-06-17 Paul Eggert <eggert@twinsun.com>
Version 1.875b.
Allow states with only a default reduction, rather than failing
(I can't quite reconstruct why these were not allowed before).
- Fixes to avoid problem that $-N rules in GLR parsers can cause
+ Fixes to avoid problem that $-N rules in GLR parsers can cause
buffer overruns, corrupting state.
* src/output.c (prepare_rules): Output max_left_semantic_context
-----
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.