]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
lalr1.cc: don't discard non-existent lookahead on syntax error.
[bison.git] / ChangeLog
index 02d15de9809ac03099ed4563a9c965adddcbbe46..1c15cc5e3e7fe9bbffc2a1764b996a7a08a2c6ab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,335 @@
+2009-12-18  Joel E. Denny  <jdenny@clemson.edu>
+
+       lalr1.cc: don't discard non-existent lookahead on syntax error.
+       * data/lalr1.cc (parser::parse): Check yyempty first.
+       * tests/c++.at (Syntax error discarding no lookahead): New test
+       group.
+
+2009-12-17  Joel E. Denny  <jdenny@clemson.edu>
+
+       Code cleanup.
+       * src/symtab.c, src/symtab.h (symbol_class_get_string): Remove
+       function, which is no longer used.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       Add gcc's -Wundef to test suite and fix another warning from it.
+       * NEWS (2.4.2): Update description of -Wundef fix.
+       * configure.ac (WARN_CXXFLAGS_TEST): New substitution.
+       (WARN_CFLAGS_TEST): New substitution.
+       * data/glr.c: Avoid warning about __STRICT_ANSI__.
+       * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of
+       WARN_CFLAGS.
+       (NO_WERROR_CFLAGS): Likewise.
+       (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       * data/yacc.c: Reformat m4 a little.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       Document gcc -Wundef fix.
+       * NEWS (2.4.2): Here.
+       * THANKS (Jonathan Nieder): Add.
+
+2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
+
+       Simplify y.tab.c when location tracking is disabled.
+       * data/yacc.c: Do not check YYLTYPE_IS_TRIVIAL if location
+       tracking is not enabled.  Instead, unconditionally define
+       YY_LOCATION_PRINT as a no-op for backward compatibility.
+
+2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
+
+       Avoid warnings from gcc -Wundef y.tab.c.
+       * data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are
+       defined before using them.
+       * data/lalr1.cc: Likewise.
+       * data/yacc.c: Likewise.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       autoconf: update to latest for fix of M4 detection.
+       Reported by Eric Blake.
+       * submodules/autoconf: Update.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       portability: use -DGNULIB_POSIXCHECK.
+       Reported by Eric Blake.  See discussions at
+       <http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
+       and
+       <http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
+       * HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
+       * bootstrap.conf (gnulib_modules): Add all the printf modules
+       suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
+       suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
+       (excluded_files): Remove m4/printf-posix.m4.
+       * tests/atlocal.in (LIBS): As for LDADD in src/local.mk, add
+       lib/libbison.a so gnulib libraries can be linked.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       gnulib: update for fix of fprintf-posix, which we'll use soon.
+       * etc/prefix-gnulib-mk (prefix): Adjust regex for make file
+       targets so that gnulib's new arg-nonnull.h and link-warning.h
+       are matched.
+       * gnulib: Update.
+
+2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       Enable assertion output and --disable-assert for configure.
+       * bootstrap.conf (gnulib_modules): Add assert module.
+       * src/system.h (aver): Define as assert, and summarize the
+       discussion on this issue.
+
+2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       Expand GLR acronym in summary of Bison.
+       Based on discussion with Akim Demaille starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
+       * doc/bison.texinfo (Introduction): Here.
+       * src/getargs.c (usage): Here.
+
+2009-10-03  Alex Rozenman  <rozenman@gmail.com>
+
+       Document named references.
+       * doc/bison.texinfo (Actions): Add new example and xref to
+       Using Named References node.
+       (Using Named References): New node.
+
+2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       cleanup.
+       * src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
+       of char*.
+       (Sbitset__isEmpty): Use Sbitset instead of char*.
+       * src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
+       instead of char.  This helps to avoid casting errors.
+       (Sbitset__or): Use Sbitset instead of char*.
+
+2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       portability: don't assume 8-bit bytes.
+       That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
+       * src/Sbitset.h (Sbitset__nbytes): Here.
+       (Sbitset__byteAddress): Here.
+       (Sbitset__bit_mask): Here.
+       (Sbitset__last_byte_mask): Here.
+       (Sbitset__ones): Here.
+       (SBITSET__FOR_EACH): Here.
+
+2009-10-11  Joel E. Denny  <jdenny@clemson.edu>
+
+       portability: use va_start and va_end in the same function.
+       * src/complain.c (error_message): Move va_end from here...
+       (ERROR_MESSAGE): ... to here.
+
+2009-10-08  Joel E. Denny  <jdenny@clemson.edu>
+
+       * data/bison.m4: Update comments for rename to muscle-tab.h.
+
+2009-10-07  Joel E. Denny  <jdenny@clemson.edu>
+
+       Minor code cleanup.
+       * src/muscle-tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
+       replace all uses with UNIQSTR_CONCAT.
+       * src/uniqstr.c (uniqstr_vsprintf): New function.
+       * src/uniqstr.h (uniqstr_vsprintf): Add prototype.
+       (UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
+       macros.
+
+2009-10-06  Joel E. Denny  <jdenny@clemson.edu>
+
+       * TODO (Complaint submessage indentation): New.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       Minor code cleanup.
+       * src/parse-gram.y: Clean up sorting of declarations.
+       Use types to simplify %printer declarations where possible.
+       Provide %printer for BRACKETED_ID and symbol.prec.
+       * src/symtab.c: Whitespace change.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: skip tests of file names that platform does not support.
+       Reported by Michael Raskin at
+       <http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
+       * THANKS (Michael Raskin): Add.
+       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
+       to fail at least for file names containing ":" or "\".
+
+2009-09-23  Joel E. Denny  <jdenny@clemson.edu>
+
+       yysyntax_error: avoid duplicate lookahead collection.
+       Except when memory reallocation is required, this change
+       eliminates the need to invoke yysyntax_error twice and thus to
+       repeat the collection of lookaheads.  It also prepares for
+       future extensions that will make those repetitions more
+       expensive and that will require additional memory management in
+       yysyntax_error.  Finally, it fixes an obscure bug already
+       exercised in the test suite.
+       * data/yacc.c (yysyntax_error): Add arguments for message
+       buffer variables stored in the parser.  Instead of size, return
+       status similar to yyparse status but indicating success of
+       message creation.  Other than the actual reallocation of the
+       message buffer, import and clean up memory management code
+       from...
+       (yyparse, yypush_parse): ... here.
+       * tests/regression.at (parse.error=verbose overflow): No longer
+       an expected failure.
+
+2009-09-23  Joel E. Denny  <jdenny@clemson.edu>
+
+       yysyntax_error: test memory management more.
+       * tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
+       * tests/regression.at (parse.error=verbose and
+       YYSTACK_USE_ALLOCA): New test group.
+       (parse.error=verbose overflow): New test group that reveals an
+       obscure bug.  Expected fail for now.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       benchmarks: use %debug consistently among grammars.
+       * etc/bench.pl.in (generate_grammar_triangular): Do not activate
+       %debug by default.  It can affect the timings even if yydebug=0.
+       (generate_grammar_calc): For consistency with other grammars,
+       use YYDEBUG environment variable to set yydebug.
+
+2009-10-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       Remove dead code.
+       * src/symtab.c (symbol_pack): Here because every symbol's number
+       is always defined by this time.
+
+2009-10-03  Alex Rozenman  <rozenman@gmail.com>
+
+       Add additional space after periods in NEWS.
+       * NEWS (2.5): here.
+
+2009-09-29  Joel E. Denny  <jdenny@clemson.edu>
+
+       Use the correct conversion specifier for size_t.
+       Reported by Jim Meyering.
+       * src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
+       because Sbitset__Index is size_t.
+       * src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
+
+2009-09-27  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: don't abuse AT_BISON_CHECK.
+       * tests/regression.at (parse-gram.y: LALR = IELR): Move
+       additional shell commands outside of AT_BISON_CHECK.
+
+2009-09-26  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: check that parse-gram.y's IELR and LALR are identical.
+       * tests/atlocal.in (abs_top_srcdir): New shell variable.
+       * tests/regression.at (parse-gram.y: LALR = IELR): New test
+       group.
+
+2009-09-19  Alex Rozenman  <rozenman@gmail.com>
+
+       Keep sub-messages aligned. Fix strings for translation.
+       * src/location.h (location_print): Add return value.
+       * src/location.c (location_print): Return number of printed
+       characters.
+       * src/complain.h (complain_at_indent, warn_at_indent): Prototype
+       new functions.
+       * src/complain.cpp (indent_ptr): New static variable.
+       (error_message, complain_at_indent, warn_at_indent): Implement
+       the alignment mechanism.
+       * src/scan-code.l (parse_ref, show_sub_messages): Fix strings
+       for translations. Use new alignment mechanism.
+       * tests/named-ref.at: Adjust test-cases.
+       * NEWS (2.5): Add an announcement about named references.
+
+2009-09-17  Akim Demaille  <demaille@gostai.com>
+
+       doc: fixes.
+       * doc/bison.texinfo: here.
+       Reported by Alex Rozenman.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       doc: lalr1.cc and variants.
+       * doc/bison.texinfo (Decl Summary): Document the "lex_symbol" and
+       "variant" %define variables.
+       (C++ Semantic Values): Split into...
+       (C++ Unions, C++ Variants): these.
+       The latter is new.
+       (C++ Parser Interface): Fix type names.
+       Document parser::syntax_error.
+       Document the fact that locations are not mandatory.
+       (C++ Scanner Interface): Split into...
+       (Split Symbols, Complete Symbols): these.
+       The later is new.
+       (Calc++ Parsing Driver): Use variants.
+       Add more comments.
+       Adjust style.
+       (Calc++ Parser): Declare all the tokens, no
+       longer accept raw characters.
+       Remove %union.
+       Adjust types and printers.
+       Remove destructors.
+       (Calc++ Scanner): Use make_<SYMBOL> functions.
+       Use strerror in error message.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       doc: spell checking.
+       * doc/bison.texinfo: here.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       doc: comment changes.
+       * doc/bison.texinfo: Comment changes.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: factor the yytranslate_ invocation in make_SYMBOLS.
+       * data/c++.m4, data/lalr1.cc (parser::symbol_type): Change the
+       constructor to take a token_type instead of the (internal) symbol
+       number.
+       Call yytranslate_.
+       * data/variant.hh (b4_symbol_constructor_define_): Therefore,
+       don't call yytranslate_ here.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       TODO: statistics.
+       * TODO (Figures): New.
+
+2009-09-13  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: clean up push.at test group titles.
+       * tests/push.at: Remove "Push Parsing: " from test group titles
+       because these are already under the banner "Push Parsing Tests".
+
+2009-09-12  Alex Rozenman  <rozenman@gmail.com>
+
+       Provide an additional sub-message for clarity.
+       Add "symbol not found in production" error message when
+       an "invalid reference" is detected in named references
+       resolution.
+       * src/scan-code.l: Update "invalid reference" case.
+       * tests/named-ref.at: Adjust test-cases.
+
+2009-09-10  Joel E. Denny  <jdenny@clemson.edu>
+
+       Clean up yacc.c a little.
+       * data/yacc.c: Clean up M4 for readability, and make output
+       whitespace more consistent.  For the main parse function
+       comment, instead of saying "yyparse or yypush_parse", say either
+       "yyparse" or "yypush_parse" depending on which it actually is.
+
+2009-09-10  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix --enable-gcc-warnings.
+       * src/parse-gram.y (%printer <param>): Handle param_none.
+
 2009-09-09  Akim Demaille  <demaille@gostai.com>
 
        lalr1.cc: syntax_error as exceptions.