X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/1deef26d0ca3df3d1c845a8cf41fc0cdef009d79..a7ddefd1c21e3bd3a90cb0a18bb67e0e2f2408c8:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 3a1c6c79..f16e0565 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,853 @@ +2010-04-25 Joel E. Denny + + build: don't require src/bison during bootstrap. + Suggested by Eric Blake at + . + * bootstrap.conf (bootstrap_epilogue): New function to make sure + src/parse-gram.[ch] are stamped later than src/parse-gram.y. + +2010-04-25 Joel E. Denny + + i18n: fix untranslatable string. + Reported by Goran Uddeborg at + . + * src/muscle-tab.c (muscle_percent_define_insert): Here. + +2010-04-13 Akim Demaille + + tests: calc: minor refactoring. + * tests/calc.at (_AT_DATA_CALC_Y): Simplify yylex. + +2010-04-13 Akim Demaille + + tests: calc: simplify location management. + * tests/local.at (AT_LOC_PUSHDEF, AT_LOC_POPDEF): New. + (_AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS): Use them to + define the appropriate AT_LOC accessors. + * tests/calc.at: Use AT_LOC accessors. + +2010-04-13 Akim Demaille + + test location_type. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): + Define AT_LOCATION_TYPE_IF. + (_AT_BISON_OPTION_POPDEFS): Undefine AT_LOCATION_TYPE_IF. + * tests/calc.at (_AT_DATA_CALC_Y): When %define location_type is + used, provide a user location type and use it. + (Simple LALR1 C++ Calculator): Add a test case for location_type. + +2010-04-13 Akim Demaille + + tests: check fclose's return value. + * tests/calc.at (_AT_DATA_CALC_Y): Check fclose's return status. + +2010-04-13 Akim Demaille + + tests: don't depend on the actual location type. + * tests/calc.at: Use yy::parser::location_type rather than + yy::location, since the former is always right, and might point to + another type than the latter. + +2010-04-13 Akim Demaille + + formatting changes. + * tests/calc.at: Formatting changes. + +2010-04-13 Akim Demaille + + lalr1.cc: remove useless forward declaration. + * data/lalr1.cc: Include location.hh before stack.hh. + Remove the useless forward declarations of position and location. + Reported by Chris Morley. + * data/glr.cc: Likewise. + +2010-04-11 Joel E. Denny + + * NEWS (2.4.3): Mention fix for Sun Studio C++. + +2010-04-10 Joel E. Denny + + tests: fix for newer Sun Studio C++. + Reported by Dagobert Michelsen at + . + * THANKS (Dagobert Michelsen): Add. + * configure.ac (AC_PREREQ): Set to 2.64 so we get the latest + Autoconf macro for handling the restrict keyword. + * gnulib: Update to latest, which no longer overrides that macro + from Autoconf. + +2010-04-03 Joel E. Denny + + portability: fix pointer arithmetic to conform to C standard. + Reported by Tys Lefering at + . + This fix is already implemented in glr.c and does not apply to + lalr1.java. + * data/lalr1.cc (yy::parser::parse): Increase size of + yyerror_range and adjust subscripting so you don't have to + subtract one from the beginning of the array. + * data/yacc.c (b4_declare_parser_state_variables, + yyparse, yypush_parse): Likewise. + +2010-04-05 Akim Demaille + + remove useless include. + * src/graphviz.h: Don't include stdbool.h. + +2010-04-05 Akim Demaille + + graph: sign the output file. + * src/graphviz.c (start_graph): Issue comments about Bison. + Suggested by Tys Lefering. + +2010-03-31 Joel E. Denny + + portability: fix test suite for GCC 4.5's new #error message. + Reported by Tys Lefering at + . + * NEWS (2.4.3): Mention. + * tests/synclines.at (AT_TEST_SYNCLINE): Implement. + +2010-03-30 Akim Demaille + + fix comments. + * src/graphviz.h: Add missing license notice. + Document. + +2010-03-25 Akim Demaille + + tests: fix 250: parse.error=verbose overflow. + * tests/regression.at (parse.error=verbose overflow): Avoid the + double inclusion of stdlib.h as it triggers hard errors. + +2010-03-23 Joel E. Denny + + portability: fix for BSD make. + Reported by Johan van Selst at + . + * tests/local.mk ($(TESTSUITE)): Qualify package.m4 in + this dependency list as in package.m4's target rule. + +2010-03-23 Joel E. Denny + + portability: fix spawning on at least FreeBSD 8 and FreeBSD 9. + Reported by Johan van Selst at + . + * NEWS (2.4.3): New. + * THANKS (Johan van Selst): Add. + * etc/prefix-gnulib-mk (prefix): Adjust regex for makefile + targets so that gnulib's new c++defs.h is matched. + * gnulib: Update to latest. + +2010-03-20 Joel E. Denny + + maint: update for changes to gnulib's announce-gen. + * HACKING (Announce): RELEASE_TYPE=major must now be written + RELEASE_TYPE=stable. + +2010-03-20 Joel E. Denny + + Version 2.4.2. + * NEWS (2.4.2): Set version and date. For the recent test suite + portability fixes, don't be so optimistic about their success + given the lack of feedback on the affected platforms. + +2010-02-22 Joel E. Denny + + tests: fix maintainer-xml-check for recent changes. + * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Use + AT_BISON_CHECK_NO_XML rather than AT_BISON_CHECK because an + output file whose name conflicts with a previous output file + is now never generated. + +2010-02-22 Joel E. Denny + + portability: fix several issues with M4 subprocess. + + M4's output pipe was not being drained upon fatal errors during + scan_skel. As a result, broken-pipe messages from M4 were seen + on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a + failure in the test suite. The problem was that, on platforms + where the default disposition for SIGPIPE is ignore instead of + terminate, M4 sometimes saw fwrite fail with errno=EPIPE and + then reported it. However, there's some sort of race condition, + because the new test group occasionally succeeded. + Reported by Albert Chin at + . + + There were also problems with the test suite livelocking on + Tru64 5.1b. Reported by Didier Godefroy at + . + Switching to create_pipe_bidi suggested by Akim Demaille. + + To attempt to solve both of these problems, switch to gnulib's + create_pipe_bidi and register M4 process as a slave. Along the + way, clean up file name conflict handling, which was affected by + the broken-pipe problem before the switch. + * NEWS (2.4.2): Document. + * THANKS (Didier Godefroy): Add. + * bootstrap.conf (gnulib_modules): Add pipe. + * gnulib: Update to latest to make sure we have all the latest + fixes. + * lib/local.mk (lib_libbison_a_SOURCES): Remove subpipe.h and + subpipe.c. + * po/POTFILES.in (lib/subpipe.c): Remove. + * src/files.c (compute_output_file_names): Update invocations + of output_file_name_check. + (output_file_name_check): In the case that the grammar file + would be overwritten, use complain instead of fatal, but replace + the output file name with /dev/null. Use the /dev/null solution + for the case of two conflicting output files as well because it + seems safer in case Bison one day tries to open both files at + the same time. + * src/files.h (output_file_name_check): Update prototype. + * src/output.c (output_skeleton): Use create_pipe_bidi and + wait_subprocess. Assert that scan_skel completely drains the + pipe. + * src/scan-skel.l (at_directive_perform): Update + output_file_name_check invocation. + * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the + grammar file actually isn't overwritten. + (Conflicting output files: -o foo.y): Update expected output. + * tests/skeletons.at (Fatal errors but M4 continues producing + output): New test group. + +2010-02-04 Joel E. Denny + + Update POTFILES. + * HACKING (Release Procedure): Add reminder about keeping + POTFILES files up-to-date. + * po/POTFILES.in (src/muscle-tab.c, src/scan-skel.l): Add. + +2010-02-01 Joel E. Denny + + Code cleanup. + * tests/atlocal.in (abs_top_srcdir): Remove shell variable, + which is already defined in atconfig. + +2010-01-22 Joel E. Denny + + tests: fix missing include caught by g++ 4.4.1. + Reported by Tys Lefering. + * HACKING (Release checks): Add note about trying a recent GCC. + * tests/regression.at (_AT_DATA_DANCER_Y): For C++, include + cstdlib for abort. + (_AT_DATA_EXPECT2_Y): Likewise. + +2010-01-21 Joel E. Denny + + * cfg.mk (gnulib_dir): Assume gnulib is a subdirectory. + +2010-01-21 Joel E. Denny + + maint: automate PACKAGE_COPYRIGHT_YEAR update, and update it. + * HACKING (Release Procedure): Update notes on copyright years. + * Makefile.am (update-package-copyright-year): New target rule. + * build-aux/update-package-copyright-year: New file. + * cfg.mk (update-copyright): Add update-package-copyright-year + as a dependency. + +2010-01-19 Joel E. Denny + + * bootstrap: Import improvements from latest gnulib. + +2010-01-19 Joel E. Denny + + build: require Automake 1.11.1 to avoid a security flaw. + * HACKING (Release Procedure): Don't document Automake security + flaw here. + * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1, and explain + why here. + +2010-01-19 Joel E. Denny + + gnulib: update to latest. + +2010-01-19 Joel E. Denny + + ChangeLog (2006-09-15): add Odd Arild Olsen's role for push.c. + +2010-01-15 Joel E. Denny + + Thank the developer of the initial push parser implementation. + This unfortunate oversight is several years old. + * THANKS (Odd Arild Olsen): Add. + +2010-01-04 Joel E. Denny + + Fix some comments concerning LR(0) versus LALR(1). + + Stop equating LR(0) with nondeterminism and LALR(1) with + determinism. That is, if all states are consistent, then LR(0) + tables are deterministic. On the other hand, LALR(1) tables + might be nondeterministic before conflict resolution, and GLR + permits LALR(1) tables to remain nondeterministic. + * src/LR0.c, src/LR0.h: Here. + * src/lalr.c, src/lalr.h: Here. + * src/main.c (main): Here. + * src/state.c, src/state.h: Here. + + * src/ielr.h (ielr): In preconditions, expect LR(0) not LALR(1) + parser tables. + +2010-01-04 Joel E. Denny + + maint: run "make update-copyright" + +2009-12-30 Joel E. Denny + + POSIX: complain if %prec's token was not defined. + * NEWS (2.5): Document. + * src/reader.c (grammar_rule_check): Convert warning to + complaint. + * tests/input.at (%prec's token must be defined): Update. + +2009-12-30 Joel E. Denny + + POSIX: warn if %prec's token was not defined. + Reported by Florian Krohm at + . + * NEWS (2.4.2): Document. + * src/reader.c (grammar_rule_check): Implement. + (grammar_current_rule_prec_set): Add comments explaining that we + here assume a %prec identifier is a token, but we still manage + to support POSIX. + * tests/input.at (%prec's token must be defined): New test + group. + +2009-12-31 Joel E. Denny + + * HACKING (Release Procedure): Recommend a secure automake. + +2009-12-29 Joel E. Denny + + portability: `<' and `>' are not always defined on addresses. + Specifically, don't sort objects by their memory addresses when + they're not allocated in the same array or other object. Though + I haven't found a test case where that fails on my platform, C + says the behavior is undefined. + * src/AnnotationList.c (AnnotationList__insertInto): Remove + FIXME. Use new id field of InadequacyList nodes rather than + their memory addresses when sorting. + (AnnotationList__compute_from_inadequacies): Add + inadequacy_list_node_count argument to pass to + InadequacyList__new_conflict. + * src/AnnotationList.h + (AnnotationList__compute_from_inadequacies): Update prototype + and documentation for new argument. + * src/InadequacyList.c (InadequacyList__new_conflict): Add + node_count argument and use it to assign a unique ID. + * src/InadequacyList.h (InadequacyListNodeCount): New typedef. + (InadequacyList): Add id field. + (InadequacyList__new_conflict): Update prototype and + documentation for new argument. + * src/ielr.c (ielr_compute_annotation_lists): Update + AnnotationList__compute_from_inadequacies invocation. + +2009-12-20 Joel E. Denny + + Fix handling of yychar manipulation in user semantic actions. + The problem was that yacc.c didn't always update the yychar + translation afterwards. However, other skeletons appear to be + fine. glr.c appears to already translate yychar before every + use. lalr1.cc does not define yychar and does not document its + replacement, yyla, for users. It does provide yyclearin, but + that does not manipulate yyla and thus requires no translation + update. In lalr1.java, yychar is out of scope during semantic + actions. + * NEWS (2.5): Document. + * data/yacc.c (YYBACKUP): Don't bother translating yychar into + yytoken here. + (yyparse, yypush_parse): Instead, translate before every use of + yytoken, and add comments explaining this approach. + * tests/actions.at (Destroying lookahead assigned by semantic + action): New test group checking that translation happens before + lookahead destructor calls at parser return. Previously, + incorrect destructors were called. + * tests/conflicts.at (parse.error=verbose and consistent + errors): New test group checking that translation happens at + syntax error detection before the associated verbose error + message and the associated lookahead destructor calls. While + the destructor call is fixed by this patch, the verbose error + message is currently incorrect due to another bug (see + comments in test group), so this is an expected failure for now. + +2009-12-21 Joel E. Denny + + YYFAIL: warn about uses and remove from lalr1.java. + * NEWS (2.5): Document. + * data/lalr1.java (parser::YYStack::YYFAIL): Rename to YYERRLAB, + and make it private. Update all uses. + * src/scan-code.l (SC_RULE_ACTION): Implement warning. + +2009-12-21 Joel E. Denny + + YYFAIL: deprecate. + * NEWS (2.4.2): Document deprecation and the phase-out plan. + * data/lalr1.java (parser::YYStack::YYFAIL): Add comment about + deprecation. + * data/yacc.c (YYFAIL): Likewise, and suppress warnings about + YYFAIL from GCC cpp's -Wunused-macros. + * doc/bison.texinfo (Java Action Features): Remove YYFAIL + documentation. + (LocalWords): Remove YYFAIL. + +2009-12-20 Joel E. Denny + + tests: cleanup. + * tests/c++.at (Syntax error discarding no lookahead): Don't + ignore stderr. Instead, eliminate remaining warnings. + +2009-12-18 Joel E. Denny + + 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 + + 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 + + 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 + + * data/yacc.c: Reformat m4 a little. + +2009-12-16 Joel E. Denny + + Document gcc -Wundef fix. + * NEWS (2.4.2): Here. + * THANKS (Jonathan Nieder): Add. + +2009-12-15 Jonathan Nieder (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 (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 + + autoconf: update to latest for fix of M4 detection. + Reported by Eric Blake. + * submodules/autoconf: Update. + +2009-12-15 Joel E. Denny + + portability: use -DGNULIB_POSIXCHECK. + Reported by Eric Blake. See discussions at + + and + . + * 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 + + 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 + + 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 + + Expand GLR acronym in summary of Bison. + Based on discussion with Akim Demaille starting at + . + * doc/bison.texinfo (Introduction): Here. + * src/getargs.c (usage): Here. + +2009-10-03 Alex Rozenman + + 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 + + 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 + + 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 + + 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 + + * data/bison.m4: Update comments for rename to muscle-tab.h. + +2009-10-07 Joel E. Denny + + 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 + + * TODO (Complaint submessage indentation): New. + +2009-10-04 Joel E. Denny + + 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 + + tests: skip tests of file names that platform does not support. + Reported by Michael Raskin at + . + * 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 + + 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 + + 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 + + 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 + + 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 + + Add additional space after periods in NEWS. + * NEWS (2.5): here. + +2009-09-29 Joel E. Denny + + 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 + + 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 + + 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 + + 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 + + doc: fixes. + * doc/bison.texinfo: here. + Reported by Alex Rozenman. + +2009-09-16 Akim Demaille + + 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_ functions. + Use strerror in error message. + +2009-09-16 Akim Demaille + + doc: spell checking. + * doc/bison.texinfo: here. + +2009-09-16 Akim Demaille + + doc: comment changes. + * doc/bison.texinfo: Comment changes. + +2009-09-16 Akim Demaille + + 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 + + TODO: statistics. + * TODO (Figures): New. + +2009-09-13 Joel E. Denny + + 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 + + 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 + + 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 + + Fix --enable-gcc-warnings. + * src/parse-gram.y (%printer ): Handle param_none. + +2009-09-09 Akim Demaille + + lalr1.cc: syntax_error as exceptions. + It is common to use sort of factories in the user actions. These + factories may check some "syntactic" constraints that are not + enforced by the grammar itself. This is possible using YYERROR + within the action itself. Provide the user with a means to throw + a syntax_error exception. + + * data/c++.m4 (b4_public_types_declare, b4_public_types_define): + Declare and define yy::parser::syntax_error. + * data/lalr1.cc: Include stdexcept. + (yy::parser::parse): Wrap the user action within a try/catch. + * data/glr.cc: Include stdexcept. + +2009-09-09 Akim Demaille + + lalr1.cc: add missing "inline". + * data/c++.m4 (b4_public_types_define): Add missing inline to + implementations provided in headers. + +2009-09-09 Akim Demaille + + %param: documentation. + * NEWS (2.6): Document %param, %lex-param, and %parse-param + changes. + * doc/bison.texinfo: Document that %lex-param and %parse-param + are n-ary. + Changes some examples to demonstrate it. + (Calc++ Parser): Use %param. + +2009-09-09 Akim Demaille + + Regen. + +2009-09-09 Akim Demaille + + style changes. + * src/parse-gram.y (add_param): Scope changes. + +2009-09-09 Akim Demaille + + %parse: support several arguments. + * src/parse-gram.y (current_param): New. + (param_type): Add param_none. + (params): New nonterminal. + Use it. + +2009-09-09 Akim Demaille + + Regen. + +2009-09-09 Akim Demaille + + %param. + Provide a means to factor lex-param and parse-param common + declarations. + + * src/parse-gram.y (param_type): New. + Define a %printer for it. + (add_param): Use it. + (%parse-param, %lex-param): Merge into... + (%parse): this new token. + Adjust the grammar to use it. + * src/scan-gram.l (RETURN_VALUE): New. + (RETURN_PERCENT_FLAG): Use it. + (RETURN_PERCENT_PARAM): New. + Use it to support %parse-param, %lex-param and %param. + +2009-09-03 Joel E. Denny + + Use aver not assert. + * src/output.c: Don't include assert.h. + (output_skeleton): Use aver not assert. + * src/system.h (aver): In documentation of why, add links to + Paul Eggert's explanations in the mailing lists. + +2009-09-05 Alex Rozenman + + Use "Unresolved reference" error message when no symbols were found + in a symbolic reference resolution. Remove .expr and -expr from + the shown reference when the reference is unresolved. + * src/scan-code.l: Change the error message, adjust location columns, + rename variable "exact_mode" to "explicit_bracketing". + * tests/named-ref.at: Adjust existing tests and add a new one. + +2009-09-04 Akim Demaille + + Adjust synclines in src/parse-gram.[ch]. + * tests/bison.in: Do some magic (including working around issues + with ylwrap) when this wrapper is used to compile + src/parse-gram.y. + +2009-09-03 Joel E. Denny + + Complain about unused %define variables and %code qualifiers. + * NEWS (2.5): Document. + * data/bison.m4 (b4_check_user_names): Complain instead of warn. + * doc/bison.texinfo (Decl Summary): Document complaint, and + improve %define documentation a little otherwise. + * tests/input.at (Reject unused %code qualifiers): Update. + (%define errors): Update. + (%define, --define, --force-define): Update. + (%define backward compatibility): Update. + (Unused %define api.pure): Update. + * tests/push.at (Push Parsing: Unsupported Skeletons): Update. + +2009-09-03 Joel E. Denny + + Don't suppress warnings about unused parse.error. + * data/bison.m4 (b4_error_verbose_flag): Don't examine value of + %define variable parse.error unless b4_error_verbose_flag is + actually expanded in a skeleton. + +2009-09-03 Akim Demaille + + * NEWS (2.4.2): Add "Internationalization" item. + 2009-09-03 Akim Demaille bootstrap: fix/improve find_tool. @@ -7408,9 +8258,12 @@ 2006-09-15 Bob Rossi + Add support for push parsing. Based on the original work of + Odd Arild Olsen . * data/Makefile.am (dist_pkgdata_DATA): Add push.c. * data/c.m4 (YYPUSH): New. (b4_push_if): New macro. Use it instead of #ifdef YYPUSH. + * data/push.c: New file. * src/getargs.c (push_parser): New var. * src/getargs.h (push_parser): New declaration. * src/output.c (prepare): Add macro insertion of `push_flag'. @@ -24583,9 +25436,8 @@ ----- - Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 1987-1988, 1991-2010 Free Software Foundation, + Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this