X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a0de5091fc13a2fe53f72e6b2d3054b745d9dd8a..95d176ffd9f66a01125c366226e1a557b125e0d8:/ChangeLog diff --git a/ChangeLog b/ChangeLog index d175ccc6..a8c6c588 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1944 @@ +2009-06-10 Akim Demaille + + deterministic user-token-number redeclaration errors. + Address nondeterminism reported by Joel E. Denny. + http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html + + * src/uniqstr.h: Comment changes. + * src/location.h (boundary_cmp, location_cmp): New. + * src/symtab.c (user_token_number_redeclaration): New. + (symbol_translation): Use it. + * tests/input.at (Numbered tokens): Adjust the expected output. + +2009-05-25 Akim Demaille + + gnulib: update. + * gnulib: Update to latest. + * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, + * m4/.gitignore: Regen. + * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr): + Call xalloc_die on hash_insert failures. + Requested by the new __warn_unused_result__ attribute of + hash_insert. + +2009-05-22 Joel E. Denny + + Convert multiple variable definition warnings to complaints. + * NEWS (2.5): Add a new entry for that change. + * doc/bison.texinfo (Decl Summary): Update %define entry. + (Bison Options): Update -D/--define/-F/--force-define entry. + * src/muscle_tab.c (muscle_percent_define_insert): Implement. + * src/muscle_tab.h (muscle_percent_define_insert): Update + comments. + * tests/input.at (`%define errors'): Update. + (`%define, --define, --force-define'): Update. + +2009-05-22 Joel E. Denny + + -F/--force-define and relative %define/-D/--define priorities. + * NEWS (2.5): Add documentation to -D/--define entry. + * build-aux/cross-options.pl: Hard-code association of + --force-define with %define. + * doc/bison.texinfo (Decl Summary): In %define entry, + cross-reference command-line options. + (Bison Options): Add documentation to -D/--define entry. + (Option Cross Key): Widen column for --force-define row. + * src/getargs.c (usage): Document -F/--force-define. Realign + options in output. + (short_options, long_options, getargs): Parse -F/--force-define, + and update muscle_percent_define_insert invocation. + * src/muscle_tab.h (muscle_percent_define_how): New enum type. + (muscle_percent_define_insert): Add argument with that type. + * src/muscle_tab.c (muscle_percent_define_insert): Implement + -F/--force-define behavior and priorities. + * src/parse-gram.y (prologue_declaration): Update + muscle_percent_define_insert invocations. + * tests/input.at (`%define, --define'): Rename to... + (`%define, --define, --force-define'): ... this and extend. + +2009-05-22 Joel E. Denny + + Update some comments to make sense for -D. + * data/bison.m4 (b4_check_user_names): In header comments, say + "user occurrence" instead of "grammar occurrence". + * src/muscle_tab.h (muscle_percent_define_insert): Likewise. + (muscle_percent_code_grow): Likewise just for consistency. + +2009-05-22 Joel E. Denny + + * data/c++.m4: Update copyright year. + +2009-05-20 Joel E. Denny + + * data/c++.m4 (b4_namespace_close): Simplify slightly. + +2009-05-19 Joel E. Denny + + Handle a trailing `:' in a user-supplied C++ namespace better. + * data/c++.m4 (b4_namespace_close): Don't let it be printed + among the closing braces here. This fix might make the + generated code easier to debug, but otherwise it should be + insignificant because a trailing `:' is a C++ error already. + +2009-05-19 Akim Demaille + + remove useless variable. + * src/getargs.c (skeleton_arg): Remove now useless variable. + Should help the compiler see that this printf-like call is sane. + +2009-05-11 Akim Demaille + + doc: use C++ headers. + * doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C + headers. + +2009-05-05 Akim Demaille + + fix hexadecimal token number support. + * src/scan-gram.l: Catch incorrect ids after hexadecimal numbers. + +2009-05-05 Akim Demaille + + tests: check token numbers. + * tests/input.at (Numbered tokens): New. + +2009-05-04 Akim Demaille + + bison: catch bad symbol names. + * src/scan-gram.l({int}{id}): Report as an invalid identifier. + * tests/input.at: Adjust. + +2009-05-04 Akim Demaille + + space changes. + * src/scan-gram.l: Untabify to be robust to zealous editors. + +2009-05-04 Akim Demaille + + identifiers: dashes are letters. + Dashes can now start identifiers (symbols and directives). + + * src/scan-gram.l ({letter}): Add dash. + ({id}): Remove it. + * tests/input.at (Symbols): Adjust. + Remove stray comment. + * tests/regression.at (Invalid inputs): Adjust error message. + * doc/bison.texinfo (Symbols): Update. + +2009-05-01 Joel E. Denny + + Declare %code to be a permanent feature. + * NEWS (2.4.2): Here. + * doc/bison.texinfo (Prologue Alternatives): Don't say it's + experimental. + (Decl Summary): Likewise. + +2009-04-30 Joel E. Denny + + Convert underscores to dashes in some %define variable names. + For now, just api.push-pull and lr.keep-unreachable-states. + Maintain old names for backward compatibility. + * NEWS (2.5): Document. + * data/c.m4 (b4_identification): Update comment. + * data/yacc.c: Update access. + * doc/bison.texinfo: Update. + * etc/bench.pl.in (bench_grammar): Update use. + * src/files.c (tr): Move to... + * src/getargs.c, src/getargs.h (tr): ... here because I can't + think of a better place to expose it. My logic is that, for all + uses of tr so far, command-line arguments can be involved, and + getargs.h is already included. + * src/main.c (main): Update access. + * src/muscle_tab.c (muscle_percent_define_insert): Convert old + variable names to new variable names before assigning value. + * src/reader.c (reader): Update setting default. + * tests/calc.at: Update uses. + * tests/conflicts.at (Unreachable States After Conflict + Resolution): Update use. + * tests/input.at (%define enum variables): Update use. + (%define backward compatibility): New test group. + * tests/push.at: Update uses. + * tests/reduce.at: Update uses. + * tests/torture.at: Update uses. + +2009-04-30 Joel E. Denny + + Set all front-end %define defaults in one place. + * src/main.c (main): Move lr.keep_unreachable_states default... + * src/reader.c (reader): ... to here. + +2009-04-29 Joel E. Denny + + Rename lr.default_reductions to lr.default-reductions. + * NEWS (2.5): Here. + * doc/bison.texinfo: Here. + * src/lalr.c (initialize_LA): Here. + * src/print.c (print_reductions): Here. + * src/reader.c (reader): Here. + * src/tables.c (action_row): Here. + * tests/input.at (%define enum variables): Here. + * tests/reduce.at (AT_TEST_LR_DEFAULT_REDUCTIONS): Here. + +2009-04-29 Joel E. Denny + + Pacify ./configure --enable-gcc-warnings. + * tests/input.at (Symbols): Prototype yyerror and yylex. + +2009-04-21 Akim Demaille + + tests: check the use of dashes and periods in symbols. + * tests/input.at (Symbol): New test group. + +2009-04-29 Joel E. Denny + + Document how `%define "var" "value"' is not M4-friendly. + * src/parse-gram.y (variable): In comments here. + +2009-04-29 Joel E. Denny + + Add copyright updates missed during previous cherry pick. + * src/output.c: Here. + * src/parse-gram.y: Here. + * src/scan-gram.l: Here. + +2009-04-20 Akim Demaille + + variables: accept dashes. + * src/scan-gram.l ({id}): Also accept dashes after the initial + letter. + ({directive}): Use {id}. + * src/parse-gram.y: Comment and formatting changes. + * doc/bison.texinfo (Symbols): Adjust the lexical definitions of + symbols. + * src/complain.h, src/complain.c (yacc_at): New. + * src/symtab.c (symbol_new): Use yacc_at to report inappropriate + symbol names. + * src/output.c (token_definitions_output): Do not #define token + names with dashes. + +2009-04-24 Joel E. Denny + + Clean up recent patches a little. + Reported by Akim Demaille. + * doc/bison.texinfo (Understanding): Fix typos. + * src/print.c (print_reductions): Don't use negated variable. + +2009-04-24 Joel E. Denny + + List accepted values for a %define enum variable with an invalid value. + Suggested by Akim Demaille at + . + * data/bison.m4 (_b4_percent_define_check_values): Implement. + * src/muscle_tab.c (muscle_percent_define_check_values): Implement. + * tests/input.at (%define lr.default_reductions invalid values): Merge + into... + (%define enum variables): ... here, and update output. + +2009-04-23 Joel E. Denny + + Rename "default rule" to "default reduction". + This includes changing variable names in code, changing + comments, and renaming %define lr.default_rules to %define + lr.default_reductions. + * NEWS (2.5): Update IELR documentation. + * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: + Adjust YYDEFACT and yydefact_ documentation. + * doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions + and lr.type documentation. Make some other wording + improvements. + (Glossary): Adjust cross-references and Default Reduction + definition. + * src/lalr.c (state_lookahead_tokens_count): Adjust code. + Remove a confusing comment pointed out by Akim Demaille. + (initialize_LA): Adjust code. + * src/print-xml.c (print_reductions): Adjust code. + * src/print.c (print_reductions): Adjust code. + * src/reader.c (reader): Adjust code. + * src/tables.c (action_row): Adjust code. + (token_actions): Adjust code. + * src/tables.h: Adjust YYDEFACT documentation. + * tests/input.at (%define lr.default_rules invalid values): + Rename test group to... + (%define lr.default_reductions invalid values): ... this, and + update grammar file and expected output. + * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to... + (AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update. + +2009-04-21 Joel E. Denny + + Document %define lr.type and lr.default_rules. + * NEWS (2.5): Add an entry. + * src/getargs.c (usage): Mention IELR(1) and canonical LR(1) + besides just LALR(1) and GLR(1). + * doc/bison.texinfo (Introduction): Likewise. + (Language and Grammar): Bison is no longer limited to LALR(1) + restrictions. + (GLR parsing): Say deterministic or LR(1) rather than LALR(1) + when trying to distinguish from GLR. Talk about LR(1) grammars + rather than LALR(1) grammars. + (Decl Summary): In %define api.push_pull entry, say it applies + to deterministic parsers in C rather than LALR(1) parsers in C. + Add lr.default_rules entry. + Add lr.type entry. + (Mystery Conflicts): Bison is no longer limited to LALR(1) + restrictions. + (Generalized LR Parsing): Same changes as for the previous GLR + section. + (Memory Management): Say deterministic rather than LALR(1). + (Understanding): Correct some bison output. + Index discussion of "accepting state". + Say deterministic rather than LALR(1). + (Bison Options): In --yacc entry, say deterministic rather than + LALR(1). + In --report, --graph, and --xml entries, just don't mention + LALR(1). + (C++ Parsers): Say deterministic rather than LALR(1). + (Table of Symbols): Likewise in YYSTACK_USE_ALLOCA entry. + (Glossary): Add Accepting State, Consistent State, Default Rule, + and IELR(1) definitions. + In Generalized LR (GLR) definition, make same changes as in + previous GLR sections. + In LALR(1) definition, say Bison uses LALR(1) by default rather + than implying Bison is limited to LALR(1). + (LocalWords): Add IELR. + +2009-04-21 Joel E. Denny + + Finish implementing %define lr.type. + Its value can be "LALR", "IELR", or "canonical LR". + * lib/timevar.def (TV_IELR_PHASE1): New var. + (TV_IELR_PHASE2): New var. + (TV_IELR_PHASE3): New var. + (TV_IELR_PHASE4): New var. + * src/Makefile.am (bison_SOURCES): Add AnnotationList.c, + AnnotationList.h, InadequacyList.c, InadequacyList.h, Sbitset.c, + Sbitset.h, ielr.h, and ielr.c. + * src/getargs.h, src/getargs.c (enum trace, trace_args, + trace_types): Add trace_ielr. + * src/lalr.h, src/lalr.c (ngotos): Export it. + (F): Rename to... + (goto_follows): ... this, update all uses, and export it. + (set_goto_map): Export it. + (map_goto): Export it. + (compute_lookahead_tokens): Don't free goto_follows yet. Now + handled in ielr. + (initialize_LA): Export it. Move lookback allocation to... + (lalr): ... here because, for canonical LR, initialize_LA must + be invoked but lookback and much of the rest of LALR isn't + needed. + * main.c (main): Instead of lalr, invoke ielr, which invokes + lalr. + * src/reader.c (reader): Default lr.type to "LALR". + Default lr.default_rules to "accepting" if lr.type is "canonical + LR". Leave the default as "all" otherwise. + Check for a valid lr.type value. + * src/state.h, src/state.c (struct state_list): Add state_list + member. + (state_new): Initialize state_list member to NULL. + (state_new_isocore): New function, exported. + * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): New macro that + exercises all values of lr.type. + (GNU AWK Grammar): Rename test group to... + (GNU AWK 3.1.0 Grammar): ... this, and extend to use + AT_TEST_EXISTING_GRAMMAR. + (GNU Cim Grammar): Extend to use AT_TEST_EXISTING_GRAMMAR. + (GNU pic Grammar): Rename test group to... + (GNU pic (Groff 1.18.1) Grammar): ... this, and extend to use + AT_TEST_EXISTING_GRAMMAR. + * tests/reduce.at (AT_TEST_LR_TYPE): New macro that exercises + all values of lr.type. + (Single State Split): New test groups using AT_TEST_LR_TYPE. + (Lane Split): Likewise. + (Complex Lane Split): Likewise. + (Split During Added Lookahead Propagation): Likewise. + +2009-04-21 Joel E. Denny + + Add new files for IELR and canonical LR implementation. + * src/AnnotationList.c: New. + * src/AnnotationList.h: New. + * src/InadequacyList.c: New. + * src/InadequacyList.h: New. + * src/Sbitset.c: New. + * src/Sbitset.h: New. + * src/ielr.c: New. + * src/ielr.h: New. + +2009-04-20 Joel E. Denny + + Implement %define lr.default_rules. + Its value describes the states that are permitted to contain + default rules: "all", "consistent", or "accepting". + * src/reader.c (reader): Default lr.default_rules to "all". + Check for a valid lr.default_rules value. + * src/lalr.c (state_lookahead_tokens_count): If lr.default_rules + is "accepting", then only mark the accepting state as + consistent. + (initialize_LA): Tell state_lookahead_tokens_count whether + lr.default_rules is "accepting". + * src/tables.c (action_row): If lr.default_rules is not "all", + then disable default rules in inconsistent states. + * src/print.c (print_reductions): Use this opportunity to + perform some assertions about whether lr.default_rules was + obeyed correctly. + * tests/local.at (AT_TEST_TABLES_AND_PARSE): New macro that + helps with checking the parser tables for a grammar. + * tests/input.at (%define lr.default_rules invalid values): New + test group. + * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): New macro using + AT_TEST_TABLES_AND_PARSE. + (`no %define lr.default_rules'): New test group generated by + AT_TEST_LR_DEFAULT_RULES. + (`%define lr.default_rules "all"'): Likewise. + (`%define lr.default_rules "consistent"'): Likewise. + (`%define lr.default_rules "accepting"'): Likewise. + +2009-04-20 Akim Demaille + + Consistently refer to Yacc, not YACC. + * src/getargs.c (usage, warnings_args): s/YACC/Yacc/. + +2009-04-17 Joel E. Denny + + Pacify make maintainer-check-posix. + * tests/input.at (%define, --define): Move bison command-line + options before grammar file name. + +2009-04-04 Joel E. Denny + + Document semicolon warnings. + * NEWS (2.5): Here. + +2008-12-08 Akim Demaille + + Fix portability issue in the test suite. + * tests/local.at (AT_MATCHES_CHECK): New. + Based on Perl instead of Sed. Sed has too many portability + pitfalls, not ever Sed is GNU Sed. + * tests/actions.at (Fix user actions without a trailing semicolon): + Use it. + +2008-12-07 Di-an Jan + + Implement the FIXME that ends an user action with a semicolon + if it seems necessary. + * src/scan-code.l (flex rules section): Flag cpp directive from + any `#' to the first unescaped end-of-line. Semicolon is not + needed after `;', `{', '}', or cpp directives and is needed after + any other token (whitespaces and comments have no effect). + * tests/actions.at (Fix user actions without a trailing semicolon): + New test. + * tests/input.at (AT_CHECK_UNUSED_VALUES): Add semicolons to + to make user actions complete statements. + Adjust column numbers in error messages. + * tests/regression.at (Fix user actions without a trailing semicolon): + Remove. Covered by new test. + +2009-04-14 Akim Demaille + + doc: minor fixes. + * doc/bison.texinfo (Decl Summary): Fix entry about %debug. + (Table of Symbols): Remove duplicate entry for %debug. + +2009-04-10 Eric Blake + + submodules: update to latest + * submodules/autoconf: Use latest upstream Autoconf. + +2009-04-06 Eric Blake + + Work around autoconf 2.63b bug in testsuite. + * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping + autoconf bug related to # in test. + +2009-04-06 Joel E. Denny + + * NEWS (2.5): Describe new -D/--define feature. + +2008-11-10 Akim Demaille + + --trace=muscles + * src/getargs.h, src/getargs.c (trace_muscle): New. + (trace_types, trace_args): Support it. + * src/output.c (output_skeleton): Use it. + +2008-11-10 Akim Demaille + + muscles_output. + * src/output.c (muscles_output): New, extracted from... + (output_skeleton): here. + Adjust. + +2008-11-21 Akim Demaille + + Display the changes in cross-options.texi. + * build-aux/cross-options.pl ($sep): New, to separate items. + * doc/Makefile.am ($(srcdir)/cross-options.texi): Use diff to display + the changes. + +2008-11-20 Di-an Jan + + Improves options in the manual. + * doc/bison.texinfo (-g, -x): Add space before argument. + (Option Cross Key): Implement FIXME: listing directives also. + * build-aux/cross-options.pl: Read from rather than <>. + (Short Option): Special case -d. Put arguments inside @option. + (Bison Directive): Add column, automatically extracted from + src/scan-gram.l (actual name passed as the first argument) + with special case for %define. + * doc/Makefile.am (doc/cross-options.texi): Pass src/scan-gram.l + to build-aux/cross-options.pl. + * src/getargs.c (usage): Document limitations of cross-options.pl. + * src/scan-gram.l: Likewise. + +2009-02-25 Akim Demaille + + Copyright years. + * data/glr.c: Add 2007 and 2008 here, consistenly with the comments. + +2008-12-08 Akim Demaille + + Install autoconf as a submodule to get m4sugar. + * .gitmodules: Add submodules/autoconf. + * data/m4sugar/foreach.m4, data/m4sugar/m4sugar.m4: Now links into + submodules/autoconf. + +2008-11-17 Joel E. Denny + + Simplify last patch slightly. + * src/getargs.c (getargs): Here. + +2008-11-17 Joel E. Denny + + Fix last warning from --enable-gcc-warnings. + * src/getargs.c (getargs): Don't assign const address to non-const + pointer. + +2008-11-17 Di-an Jan + + Handle --enable-gcc-warnings. + * src/getargs.c (command_line_location): Set parameters to void. + +2008-11-11 Akim Demaille + + AT_FULL_COMPILE. + * tests/actions.at, tests/regression.at: Use it. + +2008-11-07 Akim Demaille + + Pass command line location to skeleton_arg and language_argmatch. + * src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch): + The location argument is now mandatory. + Adjust all dependencies. + (getargs): Use command_line_location. + +2008-11-07 Akim Demaille + + -D, --define. + * src/getargs.c (usage): Document -D. + Fix help string for --locations. + (command_line_location): New. + (short_options, long_options, getargs): Support -D, --define. + (getargs): Move -d support at the right place. + * doc/bison.texinfo (Bison Options): Update. + * tests/input.at (%define, --define): New. + +2008-11-07 Akim Demaille + + Initialize the muscle table before parsing the command line. + * src/getargs.c (quotearg.h, muscle_tab.h): Include. + (getargs): Define file_name. + * src/main.c (main): Initialize muscle_tab before calling + getargs. + * src/muscle_tab.c (muscle_init): No longer define file_name, as + its value is not available yet. + +2008-11-09 Akim Demaille + + Require the generation of parse-gram.output. + * src/Makefile.am (YACC): Pass --report=all. + +2009-04-06 Joel E. Denny + + * NEWS (2.5): New stub. + +2009-04-06 Joel E. Denny + + Fix options documentation. + * build-aux/cross-options.pl: As in --help output, write optional + arguments as [=ARG] not =[ARG]. + * doc/bison.texinfo (Bison Options): Add -W/--warnings argument. + +2008-11-07 Akim Demaille + + Fix --help. + * src/getargs.c (usage): Fix help string for -W. + +2008-11-07 Akim Demaille + + Handle more general types of option arguments. + * build-aux/cross-options.pl: The argument ends at the first + space, not the first non-symbol character. + Use @var for each word appearing the argument description. + +2009-04-04 Joel E. Denny + + Remove spurious initial empty lines. + * data/location.cc: End the @output lines with an @. + +2008-11-04 Akim Demaille + + Remove spurious initial empty lines. + * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java, + * data/yacc.c: End the @output lines with an @. + +2009-04-04 Joel E. Denny + + Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4. + If the first m4 in $PATH is wrong, it keeps looking. Moreover, its + requirements for a correct m4 are stricter. + * m4/m4.m4: Replace with Autoconf 2.63's m4/m4.m4. + * configure.ac: Update to use AC_PROG_GNU_M4. + Reported by Eric Blake. + +2009-04-03 Joel E. Denny + + Help with updating web manual. + * HACKING: Incorporate instructions from gnulib/doc/README. + * bootstrap.conf (gnulib_modules): Add gendocs. + +2009-04-03 Joel E. Denny + + Fix strange %define locations for default values. + Reported by Akim Demaille at + + and discussed again starting at + . + * data/bison.m4 (b4_percent_define_default): Leave syncline blank + because location information is bogus. + Use angle brackets to delimit fake file name because square brackets + look like underexpanded m4. Choose a better fake file name. + Use negative line numbers. + * src/muscle_tab.c (muscle_percent_define_default): Likewise. + * src/location.c (location_print): If line for a boundary is negative, + only print that boundary's file name. + * src/location.h: Document that. + * tests/skeletons.at (%define Boolean variables: invalid skeleton + defaults): Update output. + +2008-11-07 Akim Demaille + + Locations without columns for command line arguments. + * src/location.c (location_print): Don't display negative columns. + * src/location.h: Document this. + +2009-02-03 Joel E. Denny + + Add reminder about uploading public key to keys.gnupg.net. + * HACKING (Release Procedure): Here. + +2009-03-31 Akim Demaille + + bootstrap: --help to stdout. + * bootstrap (usage): Don't send --help to stderr. + Use a here doc instead of a long string. + +2009-03-31 Akim Demaille + + bootstrap: README-hacking no longer exists + * bootstrap (checkout_only_file): Set to HACKING. + +2009-03-26 Akim Demaille + + doc: merge HACKING and README-hacking. + Two files is confusing. + Reported by Alexandre Duret-Lutz. + + * README-hacking: Merge into... + * HACKING (Working from the repository): here. + +2009-03-26 Akim Demaille + + doc: update README-hacking. + * README-hacking: We now use git and git submodules. + Reported by Ralf Wildenhues and Alexandre Duret-Lutz. + +2009-03-26 Akim Demaille + + lalr1.cc: avoid GCC 4.3 warnings. + GCC 4.3 now warns about "a || b && c" and asks for explicit + parentheses. + Reported by Alexandre Duret-Lutz. + * data/location.cc: Update copyright years. + (Position::operator==): Use parens to make precedence explicit. + Compare lines and columns first, as they are more likely to be + different, and they are faster to compare. + +2009-03-26 Akim Demaille + + gnulib: update. + * gnulib: Update to latest. + * lib/Makefile.am (AM_CPPFLAGS): It is now defined by gnulib, so + use +=. + +2009-01-08 Akim Demaille + + Fix grep portability issues. + Grep on Solaris does not support -q. + Reported by Summum Bonum. + + * NEWS: Add a stub for 2.4.2. + * THANKS: Add Summum Bonum. + * tests/atlocal.in (EGREP): New. + (CC, CXX, XSLTPROC): Make it possible to override them via + envvars. + * tests/java.at: Use $EGREP instead of egrep. + Use AT_CHECK's ignore instead of grep's -q. + +2008-12-11 Joel E. Denny + + Version 2.4.1. + * NEWS: Set version and date. + * lib/Makefile.am: Update copyright year. + * tests/atlocal.in: Update copyright year. + +2008-12-11 Joel E. Denny + + Semicolon feature removal is not about future language support. + * NEWS: The semicolon feature is no longer active for newer languages, + so don't claim that it causes trouble for them. + +2008-12-11 Joel E. Denny + + * gnulib: Update submodule to HEAD. + +2008-12-09 Akim Demaille + + Update data/README. + * data/README: Document glr.cc, lalr1.java, m4sugar and xslt. + +2008-12-05 Eric Blake + + Build testsuite with newer autoconf. + * tests/output.at (m4_expand): Don't override in newer autoconf, + where the underlying implementation changed. + * tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT) + (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT) + (_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR) + (_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings, + since some of them contain unbalanced ')'. + +2008-11-19 Joel E. Denny + + * NEWS: Clarify a little. + +2008-11-19 Joel E. Denny + + * NEWS: Update for recent changes. + +2008-11-18 Joel E. Denny + + Fix unexpanded macros in GLR defines file. + Reported by Csaba Raduly at + . + * THANKS (Csaba Raduly): Add. + * data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc. + * tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate + lexer in a separate module that includes the defines file. + (AT_CHECK_CALC): Use AT_FULL_COMPILE and request compilation of lexer + source. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF. + Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX. + (AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF. + (AT_DATA_SOURCE_PROLOGUE): New. + (AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE. + (AT_DATA_SOURCE): New. + (AT_FULL_COMPILE): New, copied from master branch and extended to + support an additional source file. + +2008-11-17 Joel E. Denny + + Don't let maintainer-*-check targets force a version update. + * cfg.mk (_is-dist-target): Implement. maintainer-check* was already + handled. + +2008-11-17 Di-an Jan + + * doc/bison.texinfo: Synchronize ``Detail Node Listing''. + Align menus. Adjust word wrapping. Use node names for menu names. + (Examples): Don't abbreviate node names. + (LocalWords): Remove abbreviations. + (Copying): Make description a sentence. + (Java Action Features): Remove period to match the rest of menu. + +2008-11-11 Paolo Bonzini + + * bootstrap.conf: Replace m4/warning.m4 with warnings module. + * configure.ac: Adjust usage. + * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). + * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). + * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS). + +2008-11-07 Joel E. Denny + + Don't add a semicolon to actions for %skeleton or %language. + It breaks Java test cases as reported by Akim Demaille. + * src/scan-code.l: Implement. + +2008-11-07 Joel E. Denny + + Clean up %skeleton and %language priority implementation. + * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and + remove static qualifier because others will soon need to see it. + (language_prio): Likewise. + (getargs): Use command_line_prio rather than 0. + * src/getargs.h (command_line_prio, grammar_prio, default_prio): New + enum fields. + (skeleton_prio): Extern it. + (language_prio): Extern it. + * src/parse-gram.y: Use grammar_prio rather than 1. + +2008-11-04 Akim Demaille + + * NEWS: Mention the trailing semicolon in action. + +2008-11-04 Akim Demaille + + Reformat NEWS. + * NEWS: Use more outline-mode markup. + Suggested by Jim Meyering. + +2008-11-04 Joel E. Denny + + Fix user actions without a trailing semicolon. + Reported by Sergei Steshenko at + . + * THANKS (Sergei Steshenko): Add. + * src/scan-code.l (SC_RULE_ACTION): Fix it. + * tests/regression.at (Fix user actions without a trailing semicolon): + New test case. + +2008-11-02 Joel E. Denny + + Initiate further development. + * NEWS: Create an empty section for new entries. + * gnulib: Update submodule to HEAD. + +2008-11-02 Joel E. Denny + + * NEWS: Version 2.4. + +2008-11-02 Joel E. Denny + + Prepare for next release. + * NEWS: Briefly mention changes since 2.3b. + * README: Say GNU m4 1.4.6, which we've been requiring in release + announcements already, not 1.4.3, which breaks the build. + +2008-11-02 Joel E. Denny + + Say %language is experimental. + We're thinking of extending it's effect on output file naming. See the + thread at + . + * NEWS: Say it's experimental. + * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't + recommend it over %skeleton for now. + (Bison Options): Likewise. + (C++ Bison Interface): Use %skeleton not %language. + (Calc++ Parser): Use %skeleton not %language. + * src/getargs.c (usage): Say it's experimental. + +2008-11-01 Di-an Jan + Paolo Bonzini + + Support all Java parser class modifiers. + * data/java.m4 (b4_percent_define_get3): New. + (b4_final_if, b4_strictfp_if): New. + * data/lalr1.java (final, strictfp, extends, implements): Support. + * doc/bison.texinfo (final, strictfp, extends, implements): Add + documentation. + * tests/java.at (AT_CHECK_JAVA_MINIMAL): New. + (AT_CHECK_JAVA_MINIMAL_W_LEXER): New. + (AT_CHECK_JAVA_GREP): New. + (Java parser class modifiers): New test. + (Java parser class extends and implements): New test. + + Model exception propagation better with throws and lex_throws. + * data/java.m4 (b4_list2): New. + (throws): Change default. + * data/lalr1.java (yyaction): Add throws. + (parse): Add lex_throws in addition to throws. + * doc/bison.texinfo (throws, lex_throws): Add documentation. + * tests/java.at (Java throws specifications): New test. + + Improve documentation for Java parsers. + * doc/bison.texinfo (Java Parsers): Add subsections. + Don't quote first argument of %define. + (Java Bison Interface): Document output files. Move documentation + of parser class and merge into Java Parser Interface. Document + features that error out. Document directives with no effect. + Move note about Javadoc higher. + (Java Semantic Values): Explicitly mention stype. + Document that generic types cannot be used. + (Java Location Values): Use @deftypeivar. Document constructors. + Correct return value for toString. + (Java Parser Interface): List undocumented constants/fields. + Move documentation of fields added by %parse-param closer to list + of members. Document that token names are added as fields. + Document constructors accurately. Remove error method. + (Java Scanner Interface): Move note on %pure-parser to Java Bison + Interface. Describe %code lexer and yylex accutately. + Remove documentation that does not match the code. + (Java Action Features): New. + (Java Differences): Add reference. Add item on semantic values. + Add note about @{ ... @}. Clarify %% epilogue placement. + (Java Declarations Summary): New. + + Fix Java skeleton. + * data/java.m4 (b4_prefix): Correct quoting for m4_define_default. + (b4_remove_comma): Quote test argument. + (b4_identification): Remove "bison" field. + * tests/java.at (Java parser class and package names): New test. + (Java %parse-param and %lex-param): New test. + (Java stype, position_class and location_class): New test. + +2008-10-31 Di-an Jan + + * data/lalr1.jave: Update copyright years. + (YYParser): Correct name of "generated from" file in Javadoc: + use b4_file_name instead of @ofile@. + (Location constructor): Correct Javadoc parameter name. + (yylloc): Add missing opening m4 quote after b4_location_if. + This removes a stray [ in the Javadoc of Lexer.getStartPos. + (Lexer.yyerror): Fix incorrect m4 and Javadoc. + (YYParser constructor): Correct Javadoc parameter name. + +2008-10-30 Joel E. Denny + + Always put auxiliary code files in the same dir as other output files. + * src/files.c (compute_file_name_parts): When the user specifies + --output but not --file-prefix, extract the directory prefix from the + file prefix not from the grammar file name. This affects the location + of files like location.hh generated by the C++ skeleton. The includes + in the other output files require this fix. + * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories + for expected output files. + (Output files): Add a test for the above. + +2008-10-29 Joel E. Denny + + * gnulib: Update submodule to HEAD. + +2008-10-28 Joel E. Denny + + Update copyright year. + * src/files.c: Here. + +2008-10-28 Di-an Jan (tiny change) + + Don't overwrite the input file. + * src/files.c (output_file_name_check): Fatal error if using input file + for output. + * tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status + argument. + (Conflicting output files): Add test. + +2008-10-28 Akim Demaille + + Space changes. + * data/lalr1.cc: Formatting changes. + +2008-10-28 Akim Demaille + + Don't define debugging functions when !YYDEBUG. + * data/lalr1.cc (debug_stream, set_debug_stream) + (debug_level_type, debug_level, set_debug_level): Don't + declare them when YYDEBUG is not defined. + The implementation are already YYDEBUG-aware. + +2008-10-28 Akim Demaille + + Prefer "continue" for empty loop bodies. + * etc/bench.pl.in: Use "continue" instead of {}. + +2008-10-28 Akim Demaille + + Space and comments changes. + * data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes. + * data/c.m4, data/lalr1.cc: Space changes. + +2008-10-28 Akim Demaille + + Make gnulib a submodule. + * gnulib: New. + * .gitmodules (gnulib): New. + +2008-10-18 Joel E. Denny + + Fix yyerror_range for user-defined location type in C++. Reported by + Georg Sauthoff at + . + * data/lalr1.cc (parse): Change type of yyerror_range to location_type. + * THANKS (Georg Sauthoff): Add. + +2008-10-18 Joel E. Denny + + Update several administrative files mainly to facilitate releasing. + * HACKING (Administrivia): Make the git-merge-changelog notes more + helpful. + (Test suite): Don't say lalr1.cc is not exercised in the test suite. + (Release Procedure): Update for git and add numerous details that were + previously missing. + * Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint. + * maint.mk (announcement): Don't list bison as a bootstrap tool so + that announcements don't claim we bootstrapped with whatever bison + happened to be in PATH. Add flex as a bootstrap tool. + * Makefile.maint: Remove, previously replaced by maint.mk. + * Makefile.cfg: Remove, and migrate settings to... + * cfg.mk: ... here for the sake of `make announcement'. + * bootstrap.conf (gnulib_modules): Add announce-gen. + * README: Say GNU Bison instead of just Bison. Suggested by Karl + Berry. + +2008-10-08 Di-an Jan (tiny change) + + Small but important bugfixes for the Java skeleton. + * data/lalr1.java (yyerror): Change Location to b4_location_type. + (yy_symbol_print): Call toString on yyvaluep. + +2008-08-29 Akim Demaille + + Clarify UPDATED use. + * doc/bison.texinfo: It refers to the last edition of this file, + not to the release date of Bison. + Reported by Joel E. Denny. + +2008-08-29 Akim Demaille + + * README: Update FAQ pointer. + Reported by Joel E. Denny. + +2008-08-27 Eric Blake + + Resync m4sugar from autoconf. + * data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine) + (m4_init): Adjust to latest m4.git changes. + (m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side + effects. + * data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug. + (_m4_list_cmp): Reduce side effects. + +2008-08-27 Akim Demaille + + Check yyerrok in calc.at. + * tests/calc.at (calc.y): Use yyerrok on "( error )". + (AT_CHECK_CALC): Add a check that ensures that yyerrok works as + expected. + +2008-08-27 Akim Demaille + + Support yyerrok in lalr1.cc. + YYBACKUP is still to import back into lalr1.cc. + * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define. + +2008-08-26 Joel E. Denny + + For maintainer-check*, don't recompile for a $(VERSION) update. + * cfg.mk: New file. + (_is-dist-target): Override the one in GNUmakefile. + * Makefile.am (EXTRA_DIST): Add cfg.mk. + +2008-08-26 Joel E. Denny + + Update for recent change to gnulib. + * src/parse-gram.y: Don't include strverscmp.h. It comes from + string.h now. + +2008-08-15 Eric Blake + + Remaining m4sugar merge from autoconf. + * data/m4sugar/m4sugar.m4: Copy entire file from autoconf. + * data/m4sugar/foreach.m4: New file, copied from autoconf. + * data/Makefile.am (dist_m4sugar_DATA): Distribute it. + * src/output.c (output_skeleton): Tell m4 how to find it. + + Partial m4sugar merge from autoconf: m4_map. + * data/m4sugar/m4sugar.m4 (m4_fst): Delete. + (m4_map, m4_map_sep, _m4_map): Rewrite more efficiently. + (m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros. + * data/java.m4 (b4_token_enums): Use more efficient short-circuit + for empty list. + * data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals): + Likewise. + (b4_parse_param_for): Avoid m4_fst, now that autoconf no longer + declares it. + +2008-08-07 Joel E. Denny + + Keep .version and PACKAGE_VERSION in sync. + * Makefile.am ($(top_srcdir)/.version): Declare configure as a + dependency, and add comments justifying this in more detail. Discussed + starting at + . + +2008-08-06 Eric Blake + + Partial m4sugar merge from autoconf: m4_shiftn. + * data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation. + (m4_shift2, m4_shift3): New macros. + (m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients. + * data/c.m4 (b4_c_function_def, b4_c_ansi_function_def) + (b4_c_ansi_function_decl, b4_c_function_call): Likewise. + * data/java.m4 (b4_remove_comma): Likewise. + + Partial m4sugar merge from autoconf: m4_wrap vs. m4 1.6. + * data/m4sugar/m4sugar.m4 (m4_unquote, m4_wrap_lifo): New macros. + (m4_wrap): Guarantee FIFO order, in spite of m4 1.6. + (m4_init): Consolidate wrapped text into single m4_wrap. + * data/bison.m4 (b4_check_user_names_wrap): Stick with LIFO order + in wrapped text. + +2008-08-05 Eric Blake + + Partial m4sugar merge from autoconf: builtins, version.m4. + * data/m4sugar/m4sugar.m4 (changeword): Nuke. + (m4_prepend): Remove, as it is unused and inherently quadratic, + whereas m4_append is linear in newer m4. + (m4_mkstemp): New builtin. + (m4_symbols): Make rename conditional. + (m4_version_prereq): Ensure fatal error if used in bison, which + intentionally lacks version.m4. + + Fix comments in m4sugar. + * data/m4sugar/m4sugar.m4: Comment changes, borrowed from autoconf. + +2008-08-02 Joel E. Denny + + Update for recent .gitignore fix in Gnulib. + * bootstrap: Back out 2008-07-18 hack now that gnulib-tool creates + anchored .gitignore entries. + +2008-08-02 Joel E. Denny + + Set gnu or gnits strictness. + * configure.ac (AM_INIT_AUTOMAKE): Set gnu strictness during + development and gnits strictness for releases. Based on Eric Blake's + suggestion at + . + +2008-07-31 Paolo Bonzini + + * NEWS: Clarify documentation of %language. + +2008-07-31 Paolo Bonzini + + Support usage of git-merge-changelog. + * .gitattributes: New. + * HACKING: Document usage of git-merge-changelog. + * bootstrap: Install git-merge-changelog entries in .git/config + if appropriate. + +2008-07-27 Joel E. Denny + + Remove remaining dependence on CVS Id keyword. + * ChangeLog: For the sake of people still using CVS, don't use dollars + when mentioning Id. + * data/xslt/bison.xsl: Remove Id from header comments, where it was + unusual anyway. + * data/xslt/xml2dot.xsl: Likewise. + * data/xslt/xml2text.xsl: Likewise. + * data/xslt/xml2xhtml.xsl: Likewise. + * doc/Doxyfile.in (PROJECT_NUMBER): Don't use ID. + * doc/Makefile.am (neutralize): Remove, no longer needed. + (.x.1): Don't use neutralize. + (edit): Don't substitute for ID. + (Doxyfile): Don't define Id, and thus don't depend on ChangeLog. + +2008-07-27 Joel E. Denny + + Fix dependence on computed configure variables. + * doc/Makefile.am (common_dep): Depend on $(top_srcdir)/configure not + $(top_srcdir)/configure.ac so that changes to computed variables, such + as PACKAGE_VERSION, are seen. + * tests/Makefile.am ($(srcdir)/package.m4): Likewise. + +2008-07-20 Joel E. Denny + + Update copyright dates for recent changes. + * Makefile.am: Here. + * src/Makefile.am: Here. + * src/reduce.c: Here. + * tests/reduce.at: Here. + +2008-07-18 Joel E. Denny + + Use git-version-gen for version names between releases. + * .cvsignore (.tarball-version, GNUmakefile, *~): Add. + * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add. + * .prev-version: New. + * .version.in: Remove. + * ChangeLog: Remove the Id previously used for capturing the CVS + revision. + * GNUmakefile: Remove, now copied from Gnulib. + * Makefile.am: Add code suggested by comments in + build-aux/git-version-gen. + (EXTRA_DIST): Remove GNUmakefile, handled by Gnulib. Add maint.mk, + .prev-version, and .version. + * NEWS (2.3b+): Rename to... + (?.?): ... this because we're dropping the "+" version naming scheme, + but, in general, we still can't be sure of our next release name. + * bootstrap: Add a quick hack to remove from .gitignore the + GNUmakefile entry that gnulib adds. We already have a /GNUmakefile + entry. This should really be fixed in gnulib instead. + * bootstrap.conf (gnulib_modules): Add gnumakefile. + * configure.ac (AC_INIT): Set version name by invoking + build-aux/git-version-gen. + (AC_CONFIG_FILES): Remove .version, now generated by + build-aux/git-version-gen. + * maint.mk: New, copied from coreutils. + * doc/.cvsignore (bison.1): Add. + * doc/.gitignore (/bison.1): Add. + * doc/bison.1: Remove, generated. + * src/.cvsignore (revision.c): Remove. + * src/.gitignore (/revision.c): Remove. + * src/Makefile.am (bison_SOURCES): Remove revision.c and revision.h. + (BUILT_SOURCES): Remove revision.c. + (revision.c): Remove. + * src/getargs.c (version): Don't print revision after the VERSION. + * src/revision.h: Remove. + +2008-07-16 Joel E. Denny + + Fix untranslatable composition of sentences. Reported by Goran + Uddeborg at + . + * THANKS (Goran Uddeborg): Add. + * src/reduce.c (reduce_print): Report the number of nonterminals and + rules useless in the grammar in separate sentences. + * tests/reduce.at (Useless Rules): Update output. + (Reduced Automaton): Likewise. + (Underivable Rules): Likewise. + (Empty Language): Likewise. + +2008-07-15 Joel E. Denny + + Fix some .gitignore and .cvsignore problems. + * bootstrap (insert_sorted_if_absent): Replace all uses with... + (insert_vc_ignore): ... this new function, which prepends `/' to all + .gitignore entries before passing them to insert_sorted_if_absent. + * bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that + .cvsignore files are maintained even though Bison developers run + bootstrap while using Git. + * .cvsignore (*.patch *.log log patches applied): Remove, apparently + unneeded by Bison. + (gnulib): Add. + * .gitignore (/*.patch *.log log patches applied): Remove, broken and + unneeded. Reported by Eric Blake. + * lib/.gitignore (/*~): Add. + * po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore. + * examples/calc++/.gitignore (/calc++.exe): Add. Reported by Eric + Blake. + * src/.gitignore (/bison.exe): Add. Reported by Eric Blake. + +2008-07-15 Joel E. Denny + + Improve forward-compatibility with GNU M4. Reported by Eric Blake at + . + * bootstrap.conf (gnulib_modules): Add unsetenv. + * lib/.gitignore, lib/.cvsignore (/unsetenv.c): Add. + * m4/.gitignore, m4/.cvsignore (/environ.m4): Add. + (/setenv.m4): Add. + * src/output.c (output_skeleton): For the m4 invocation, pass -dV as + the first argument because it may become position-dependent, and unset + POSIXLY_CORRECT so Bison's skeletons have access to GNU M4 extensions. + Add comments explaining these issues in more detail. + +2008-07-14 Joel E. Denny + + Add .gitignore everywhere based on .cvsignore. + * .gitignore: New. + * build-aux/.gitignore: New. + * data/.gitignore: New. + * doc/.gitignore: New. + * etc/.gitignore: New. + * examples/.gitignore: New. + * examples/calc++/.gitignore: New. + * lib/.gitignore: New. + * m4/.gitignore: New. + * po/.gitignore: New. + * runtime-po/.gitignore: New. + * src/.gitignore: New. + * tests/.gitignore: New. + +2008-05-27 Joel E. Denny + + * NEWS (2.3b+): New section, empty for now. + * configure.ac (AC_INIT): 2.3b -> 2.3b+. + +2008-05-27 Joel E. Denny + + * NEWS (2.3b): Update release date since there has been a delay in + getting the announcements and tarballs out. + +2008-05-23 Joel E. Denny + + * NEWS: Version 2.3b. + * configure.ac (AC_INIT): Likewise. + (PACKAGE_COPYRIGHT_YEAR): Update to 2008. + +2008-05-23 Joel E. Denny + + * HACKING: Don't say don't mention HACKING in the ChangeLog. We've + been doing it for years. + (Test suite): Mention maintainer-push-check and maintainer-xml-check. + (Release Procedure): Add FIXME about make alpha being unmaintained. + +2008-05-13 Joel E. Denny + + * data/yacc.c: Reformat m4 a little for readability. + * src/lalr.c (build_relations): Correct comment. + +2008-05-12 Juan Manuel Guerrero + + DJGPP specific issue. + * djgpp/config.sed: Fixes required to run configure scripts generated + by autoconf 2.62. + +2008-05-07 Joel E. Denny + + * HACKING (Release Procedure): translation@iro.umontreal.ca is now + coordinator@translationproject.org. + +2008-05-06 Joel E. Denny + + * THANKS: Add Eric Blake. + +2008-04-23 Eric Blake + + Revert prior patch, by working around autoconf regression. + * tests/output.at (m4_expand): Add workaround for autoconf 2.62. + ("Output file name: ("): Uncomment test. + ("Output file name: )"): Likewise. + Based on an idea from Noah Misch. + +2008-04-21 Joel E. Denny + + Work-around an Autoconf 2.62 AT_SETUP bug that was not present in + 2.61. Reported by Juan Manuel Guerrero at + . + * tests/output.at ("Output file name: ("): Comment out test case for + now. + ("Output file name: )"): Likewise. + +2008-04-21 Joel E. Denny + + * GNUmakefile: Update git-version-gen invocation so make dist + succeeds. + +2008-04-21 Joel E. Denny + + Update to the current gnulib CVS repository, and fix trigraph handling + in Bison. + * bootstrap: Update gnulib CVS repository URL. + (symlink_to_dir): Encapsulate the code that guarantees the destination + directory exists into... + (check_dst_dir): ... this new function, and... + (cp_mark_as_generated): ... reuse it here so that bootstrap doesn't + fail when copying files into lib/uniwidth/. + * src/output.c (prepare_symbols): When writing yytname muscles, where + symbol names will be encoded in C-string literals, tell quotearg to + escape trigraphs. This used to be the default in gnulib. + * tests/regression.at (Token definitions): Because of the change in + gnulib's quotearg behavior, string_as_id in parse-gram.y no longer + escapes trigraphs in symbol names. Thus, yytname no longer has + trigraphs unnecessarily doubly escaped. Update test case output. + Extend test case to be sure Bison's own error messages will no longer + have trigraphs in symbol names unnecessarily escaped once. + +2008-04-20 Joel E. Denny + + Fix make dist infinite loop reported by Juan Manuel Guerrero at + . + * .cvsignore: Add .version. + * .version.in: New. + * bootstrap.conf (gnulib_modules): Add git-version-gen. + * configure.ac (AC_CONFIG_FILES): Add .version. + * build-aux/.cvsignore: Add git-version-gen. + +2008-03-08 Joel E. Denny + + * NEWS (2.3a+): Mention that -g now takes an argument. + * doc/bison.texinfo (Bison Options): Reword -W entry a little for + consistency. Update the -g and -x entries now that they take + arguments. Use brackets to indicate optional arguments. + * src/getargs.c (usage): Explain the relationship between arguments of + long and short options more completely. Document --defines and -d + separately since the former takes an argument but, for POSIX Yacc, the + latter does not. + (short_options): Let -W take an optional argument like --warnings. + (getargs): Sort cases. + +2008-02-28 Akim Demaille + + * doc/bison.texinfo: Fix a few typos. + +2008-02-28 Akim Demaille + + * doc/bison.texinfo (Bison Options): Document -W. + Based on Joel E. Denny's NEWS entry, and Automake's documentation. + +2008-02-28 Akim Demaille + + * src/getargs.c (short_options): Split and sort for readability. + -g and -x take optional arguments, just like their long options. + * build-aux/cross-options.pl: Use /x to make the regexp easier to + understand. + Fix the handling of $opt which resulted in all the argument to be + considered as optional. + +2008-02-22 Joel E. Denny + + * NEWS (2.3a+): Don't say %language is experimental. Mention Java and + say its interface is experimental. + * doc/bison.texinfo (Decl Summary): In the %language entry, mention + Java. + (Bison Options): In the -L and --language entry, mention Java. + (Java Bison Interface): Say the interface is experimental. + * src/getargs.c (usage): Mention -L and --language. + + * NEWS (2.3a+): Say the push parsing interface is experimental. + * doc/bison.texinfo (Push Decl): Likewise. + (Decl Summary): Likewise in the "%define api.push_pull" entry. + (Push Parser Function): Likewise. + (Pull Parser Function): Likewise. + (Parser Create Function): Likewise. + (Parser Delete Function): Likewise. + (Table of Symbols): Likewise in the yypstate_delete, yypstate_new, + yypull_parse, and yypush_parse entries. + + * NEWS (2.3a+): Mention XML support, and say the schema is + experimental. + * doc/bison.texinfo (Bison Options): Mention -x and --xml. + * src/getargs.c (usage): Say the XML schema is experimental. + + * NEWS (2.3a+): Say option instead of flag. + +2008-02-21 Wojciech Polak + + * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer + text. + +2008-02-20 Joel E. Denny + + Fix impure push parser compile error reported by Bob Rossi at + . + * data/yacc.c: Clean up whitespace in the output a little. + (yypstate_allocated): Define for impure push parsers regardless of + whether the pull interface is also requested. + * tests/push.at (Push Parsing: Multiple impure instances): Extend to + check impure push parsers without the pull interface. + + * data/yacc.c (yypstate_new): Don't try to invoke yyerror since + yyerror takes arguments specified by %parse-param while yypstate_new + does not. + * doc/bison.texinfo (Parser Create Function): Document that + yypstate_new returns 0 for multiple impure parser instances. + * tests/push.at (Push Parsing: Multiple impure instances): Update + expected stderr output. + +2008-02-19 Joel E. Denny + + * runtime-po/POTFILES.in (push.c): Remove. + +2008-02-17 Joel E. Denny + + * data/Makefile.am (dist_pkgdata_DATA): Remove push.c. + * data/push.c: Rename to... + * data/yacc.c: ... this, overwriting it. + * etc/bench.pl.in (bench_grammar): `%pure-parser'-> `%define api.pure'. + `%push-pull-parser' -> `%define api.push_pull "both"'. + Remove old yacc.c tests, and update push.c tests to yacc.c. + +2008-02-17 Joel E. Denny + + * data/bison.m4 (b4_percent_code_get): Output %code block comments like + `"%code top" blocks' instead of `%code "top" blocks'. + * data/push.c: Import yacc.c changes from 2008-01-09 and 2007-08-03. + Clean up whitespace in the output a little. + +2008-02-16 Joel E. Denny + + Fix documentation problems reported by Tim Josling at + . + * NEWS (2.3a+): Mention removal of --no-parser, -n, and %no-parser. + * doc/bison.texinfo (Token Decl): Token numbers are *nonnegative* + integers. Explain the effect of literal string aliases on error + messages. Copy token 0 documentation from the C++ skeleton + documentation. + +2008-02-16 Joel E. Denny + + Accept a token number in a %left, %right, or %nonassoc for POSIX + conformance. Reported by Tim Josling at + . + * NEWS (2.3a+): Mention. + * doc/bison.texinfo (Precedence Decl): Describe how literal strings + and code numbers are treated by precedence declarations. + * src/parse-gram.y (precedence_declaration): Use symbols.prec instead + of symbols.1. + (symbols.prec): New, just like symbols.1 but uses symbol.prec instead + of symbol. + (symbol.prec): New, just like symbol but allows INT. + * src/symtab.c (symbol_user_token_number_set): Remove an aver that no + longer holds. + * tests/regression.at (Token number in precedence declaration): New + test case. + +2008-02-06 Juan Manuel Guerrero + + DJGPP specific issues. + * djgpp/config.bat: Add filenames that are not 8.3 clean and that must + be changed. Copyright timestamp adjusted. + * djgpp/config.sed: Add filenames that are not 8.3 clean and that must + be changed. Copyright timestamp adjusted. + * djgpp/config.site: Copyright timestamp adjusted. + * djgpp/config_h.sed: Copyright timestamp adjusted. + * djgpp/djunpack.bat: Copyright timestamp adjusted. + * djgpp/fnchnage.lst: Add filenames that are not 8.3 clean to the + filename translation list. + * djgpp/subpipe.c (init_subpipe): Check the environment variables + TMPDIR, TMP and TEMP, in that order, to determinate where the temp + files shall be created. Before trying to use the temp dir where the + environment variable points to check that the dir really exists. If + not default to the cwd as temp dir. Copyright timestamp adjusted. + * djgpp/subpipe.h: Copyright timestamp adjusted. + * djgpp/testsuite.sed: Copyright timestamp adjusted. + +2008-01-30 Paul Eggert + + * doc/bison.texinfo: Update Back-Cover text to reflect new GNU wording. + +2008-01-09 Paul Eggert + + * data/yacc.c (yyparse): Correct the comment when locations aren't used. + Problem reported by Claudio Saavedra in + . + +2008-01-05 Wojciech Polak + + * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Precede an XHTML + document's title with the input grammar file name. + +2007-12-22 Joel E. Denny + + Automate regression testing of the XML/XSLT implementation. Discussed + starting at + . + * configure.ac (XSLTPROC): New substitution. + * Makefile.am (maintainer-xml-check): New phony target invoking... + * tests/Makefile.am (maintainer-xml-check): ... this new phony target + invoking make maintainer-check with BISON_TEST_XML=1. + * tests/atlocal.in (XSLTPROC): New. + * tests/local.at (AT_BISON_CHECK): New macro to (1) instruct Valgrind + not to report reachable memory when Bison is expected to have a + non-zero exit status and (2) to compare XML/XSLT output with --graph + and --report=all output for every working grammar when + BISON_TEST_XML=1. + (AT_BISON_CHECK_NO_XML): Likewise, but skip XML checks. + (AT_BISON_CHECK_XML): New. + (AT_QUELL_VALGRIND): New. + * tests/testsuite.at (ORIGINAL_AT_CHECK): Remove this and... + (AT_CHECK): ... don't redefine this since this was the old way to + quell Valgrind. + * tests/actions.at: Rewrite all AT_CHECK invocations for bison as + AT_BISON_CHECK invocations. + * tests/c++.at: Likewise. + * tests/calc.at: Likewise. + * tests/conflicts.at: Likewise. + * tests/cxx-type.at: Likewise. + * tests/existing.at: Likewise. + * tests/glr-regression.at: Likewise. + * tests/headers.at: Likewise. + * tests/input.at: Likewise. + * tests/java.at: Likewise. + * tests/output.at: Likewise. + * tests/push.at: Likewise. + * tests/reduce.at: Likewise. + * tests/regression.at: Likewise. + * tests/sets.at: Likewise. + * tests/skeletons.at: Likewise. + * tests/synclines.at: Likewise. + * tests/torture.at: Likewise. + (Big triangle): Use AT_BISON_CHECK_NO_XML instead since this grammar + tends to hang xsltproc. + (Big horizontal): Likewise. + +2007-12-08 Joel E. Denny + + In XML output, remove redundant class attribute on symbol element. + * data/xslt/bison.xsl (xsl:key name="bison:symbolByName"): New. + * data/xslt/xml2xhtml.xsl (xsl:template match="symbol"): Use it to + look up a symbol to determine whether it's a nonterminal or terminal. + * src/gram.c (rule_rhs_print_xml): Remove class attribute. + * src/state.c (state_rule_lookahead_tokens_print_xml): Likewise. + + Add prec/assoc information to XML output. + * src/gram.c (grammar_rules_print_xml): For each rule that has a + %prec, add a percent_prec attribute. + * src/print-xml.c (print_grammar): For each terminal that has a + precedence or associativity, add a prec or assoc attribute. + (xml_indent): New. + (xml_puts): Use xml_indent. + (xml_printf): Use xml_indent. + * src/print-xml.h (xml_indent): Prototype. + + * tests/existing.at (GNU pic Grammar): Fix a rule miscopied from + . + +2007-12-08 Joel E. Denny + + * data/xslt/bison.xsl (bison:ruleNumber): Rename to... + (bison:ruleByNumber): ... this for clarity. + * data/xslt/xml2dot.xsl (xsl:template match="item"): Update. + * data/xslt/xml2text.xsl (xsl:template match="item"): Update. + (xsl:template match="reduction"): Update. + (xsl:template match="item"): Update. + (xsl:template match="reduction"): Update. + + In the XML output, don't print the list of rules where symbols appear. + Compute it in XSLT instead. Discussed at + . + * data/xslt/bison.xsl (bison:ruleByLhs): New. + (bison:ruleByRhs): New. + * data/xslt/xml2text.xsl (xsl:template match="terminal"): Use + bison:ruleByRhs. + (xsl:template match="terminal/rule"): Remove. + (xsl:template match="nonterminal"): Use bison:ruleByLhs and + bison:ruleByRhs. + (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"): + Remove. + * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Use + bison:ruleByRhs and mode="number-link" for rule template. + (xsl:template match="terminal/rule"): Remove. + (xsl:template match="nonterminal"): Use bison:ruleByLhs and + bison:ruleByRhs and mode="number-link" for rule template. + (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"): + Rewrite as... + (xsl:template match="rule" mode="number-link"): ... this. + * src/print-xml.c (print_grammar): Don't print the list of rules. + +2007-12-01 Joel E. Denny + + Don't let --report affect XML output; always print all information. + Discussed at + . + * src/conflicts.c (log_resolution): Implement. + * src/print-xml.c (print_core): Implement. + (print_state): Implement. + (print_xml): Implement. + + * NEWS (2.3a+): Fix quotes. + * src/parse-gram.y (prologue_declaration): For consistency with -v, + don't let %verbose clear the list specified by --report. + +2007-11-26 Akim Demaille + + * data/Makefile.am (dist_pkgdata_DATA): Ship and install bison.xsl. + +2007-11-24 Joel E. Denny + + In the XML output, list useless and unused symbols and rules with the + useful ones and add a "usefulness" attribute. Discussed starting at + . + * src/gram.c (grammar_rules_partial_print_xml): Remove. + (grammar_rules_print_xml): Print all rules instead of just those + useful in the grammar, and add a "usefulness" attribute. + * src/gram.h (grammar_rules_partial_print_xml): Remove prototype. + * src/print-xml.c (print_rules_useless_in_parser): Remove. + (print_grammar): Print all nonterminals instead of just useful ones, + and add a "usefulness" attribute to nonterminals and terminals. + (print_xml): Don't print a separate "reductions" or + "rules-useless-in-parser" element. + * src/reduce.c (reduce_output): Use reduce_token_unused_in_grammar. + (reduce_xml): Remove. + (reduce_token_unused_in_grammar): New. + (reduce_nonterminal_useless_in_grammar): New. + * src/reduce.h (reduce_xml): Remove prototype. + (reduce_token_unused_in_grammar): Add prototype. + (reduce_nonterminal_useless_in_grammar): Add prototype. + * data/xslt/xml2text.xsl: Update for XML changes. + * data/xslt/xml2xhtml.xsl: Update for XML changes. + * tests/reduce.at (Useless Terminals): Update output. + (Useless Rules): Update output. + (Reduced Automaton): Update output. + + Say "Terminals unused in grammar" instead of "Unused terminals". + * NEWS (2.3a+): Update. + * doc/bison.texinfo (Understanding): Update example output. + * src/reduce.c (reduce_output): Implement. + * data/xslt/xml2text.xsl: Implement. + * data/xslt/xml2xhtml.xsl: Implement. + +2007-11-18 Joel E. Denny + + Accept --report-file=FILE to override the default `.output' filename. + * NEWS (2.3a+): Mention. + * doc/bison.texinfo (Bison Options): Add an entry. + * src/files.c (compute_output_file_names): Don't override + spec_verbose_file if already set. + * src/getargs.c (usage): Document --report-file. + (REPORT_FILE_OPTION): New anonymous enum member. + (long_options): Add entry for it. + (getargs): Add case for it setting spec_verbose_file. + + * build-aux/cross-options.pl: Don't record a short option just because + there's an arg. + * doc/.cvsignore: Add yacc.1. + +2007-11-14 Akim Demaille + + * doc/yacc.1.in: New. + * configure.ac, doc/Makefile.am: Adjust. + * configure.ac (PACKAGE_COPYRIGHT_YEAR): New substitution, and new + config.h symbol. + Use AC_SUBST for assignments too. + * src/getargs.c (version): Use PACKAGE_COPYRIGHT_YEAR. + +2007-11-10 Joel E. Denny + + * src/gram.c: Remove comments that duplicate comments in gram.h. + + When reporting useless rules and nonterminals, say "useless in grammar" + instead of "useless", and say "useless in parser" instead of "never + reduced". Discussed starting at + . + * NEWS (2.3a+): Mention this change. + * data/xslt/xml2text.xsl: Update output text and expected input XML + element names to match changes below. + * data/xslt/xml2xhtml.xsl: Likewise. + (xsl:template match="bison-xml-report"): Add missing entry in Table of + Contents: "Rules useless in parser due to conflicts". + * doc/bison.texinfo (Decl Summary): Reword a little. + (Understanding): Update example output for changes below. + * src/gram.c: (rule_useful_p): Rename to... + (rule_useful_in_grammar_p): ... this. + (rule_useless_p): Rename to... + (rule_useless_in_grammar_p): ... this. + (rule_never_reduced_p): Rename to... + (rule_useless_in_parser_p): ... this. + (grammar_rules_print): Update for renames. + (grammar_rules_print_xml): Update for renames. + (grammar_rules_never_reduced_report): Rename to... + (grammar_rules_useless_report): ... this since it is used for either + kind of useless rule. + * src/gram.h: Reword comments and update function names in prototypes. + * src/main.c (main): Say "rule useless in parser due to conflicts". + * src/print-xml.c (print_rules_never_reduced): Rename to... + (print_rules_useless_in_parser): ... this, and rename output XML + element "rules-never-reduced" to "rules-useless-in-parser". + (print_xml): Update for rename. + * src/print.c (print_results): Say "Rules useless in parser due to + conflicts". + * src/reduce.c (reduce_grammar_tables): Say "rule useless in grammar". + (nonterminals_reduce): Say "nonterminal useless in grammar". + (reduce_output): Say "Nonterminals useless in grammar". + Say "Rules useless in grammar". + (reduce_xml): Rename output XML element "useless" to + "useless-in-grammar". + (reduce_print): Don't report the count of grammatically useless rules + as "rules never reduced" just because %yacc is specified. + In the correct report of this count, say nonterminal(s) and rule(s) + "useless in grammar". + * tests/conflicts.at (S/R in initial): Update expected output. + (Defaulted Conflicted Reduction): Likewise. + (Unreachable States After Conflict Resolution): Likewise. + * tests/existing.at (GNU pic Grammar): Likewise. + * tests/reduce.at (Useless Nonterminals): Likewise. + (Useless Rules): Likewise. + (Reduced Automaton): Likewise. + (Underivable Rules): Likewise. + (Empty Language): Likewise. + +2007-11-09 Joel E. Denny + + * data/bison.m4 (b4_cat): Put a newline after the end delimiter of the + here document and before the EOF so that BSD's implementation of Bourne + shell doesn't parse the delimiter as part of the here document. + * doc/.cvsignore: Add cross-options.texi. + * src/getargs.c (usage): Add a blank line after the warning categories. + +2007-11-08 Paolo Bonzini + + * data/lalr1.java (Lexer): Remove usage of b4_pure_if. + +2007-11-05 Akim Demaille + + Remove Id: from bison.1. + * doc/Makefile.am (remove_time_stamp): Include the sed invocation. + (perl -0777 -pi -e 's/\.PP\nId): New. + (.x.1): Use it to ignore the version control revision. + +2007-11-05 Akim Demaille + + * build-aux/Makefile.am: Ship cross-options.pl. + * doc/Makefile.am: Always refer to cross-options.texi with + $(srcdir). + (MAINTAINERCLEANFILES): Add it. + +2007-11-04 Akim Demaille + + Generate the long/short option cross-table. + * build-aux/cross-options.pl: New. + * doc/Makefile.am (cross-options.texi): New. + * doc/bison.texinfo: Use it. + +2007-11-04 Akim Demaille + + Generate bison.1 using help2man. + * doc/common.x, doc/bison.x: New. + * doc/Makefile.am (bison.1, .x.1): New. + The code is taken from autoconf-2.61/man/Makefile.am. + * configure.ac: Look for help2man. + +2007-11-04 Akim Demaille + + Complete --help. + * src/getargs.c (usage): Document -W, make it clear that -d, + -g and -x have optional arguments. + +2007-11-04 Akim Demaille + + Find sha1sum when named gsha1sum. + * bootstrap (find_tool): New. + ($SHA1SUM): New. + +2007-10-28 Joel E. Denny + + Deprecate %pure-parser and add `%define api.pure'. Discussed starting + at + . + * NEWS (2.3a+): Mention. + * data/bison.m4 (b4_pure_if): Don't define it here. + * data/c.m4 (b4_identification): Depend on individual skeletons to + define b4_pure_flag, b4_push_flag, or b4_pull_flag if they use the + values of the %define variables api.pure or api.push_pull. Define + YYPURE, YYPUSH, and YYPULL accordingly. + * data/glr.c: Define b4_pure_if based on `%define api.pure' unless + glr.cc has already defined b4_pure_flag. + * data/push.c: Define b4_pure_if based on `%define api.pure'. + Remove YYPUSH and YYPULL since they're back in b4_identification again. + * data/yacc.c: Define b4_pure_if based on `%define api.pure'. + * doc/bison.texinfo (Pure Decl): Update. + (Push Decl): Update. + (Decl Summary): Add api.pure to %define entry. + In %pure-parser entry, say it's deprecated and reference %define. + (Pure Calling): Update. + (Error Reporting): Update. + (C++ Scanner Interface): Update. + (How Can I Reset the Parser): Update. + (Table of Symbols): In %pure-parser entry, say it's deprecated and + reference %define. + * src/getargs.c (pure_parser): Remove global variable. + * src/getargs.h (pure_parser): Remove extern. + * src/output.c (prepare): Don't define pure_flag muscle. + * src/parse-gram.y (prologue_declaration): Implement %pure-parser as a + wrapper around `%define api.pure'. + * tests/calc.at (Simple LALR Calculator): Update. + (Simple GLR Calculator): Update. + * tests/cxx-type.at (GLR: Resolve ambiguity, pure, no locations): + Update. + (GLR: Resolve ambiguity, pure, locations): Update. + (GLR: Merge conflicting parses, pure, no locations): Update. + (GLR: Merge conflicting parses, pure, locations): Update. + * tests/glr-regression.at (Uninitialized location when reporting + ambiguity): Update + * tests/input.at (Unused %define api.pure): New test case. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Update definition for + AT_PURE_IF and AT_PURE_AND_LOC_IF. + * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update. + +2007-10-28 Joel E. Denny + + %define push_pull -> %define api.push_pull. Discussed starting at + . + * data/push.c: Expect the new name. + * data/yacc.c: Likewise. + * doc/bison.texinfo (Push Decl): Update. + (Decl Summary): Update %define entry. + (Push Parser Function): Update. + (Pull Parser Function): Update. + (Parser Create Function): Update. + (Parser Delete Function): Update. + * tests/calc.at (Simple LALR Calculator): Update. + * tests/input.at (%define enum variables): Update. + * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update. + (Push Parsing: Multiple impure instances): Update. + (Push Parsing: Unsupported Skeletons): Update. + * tests/torture.at (Exploding the Stack Size with Alloca): Update. + (Exploding the Stack Size with Malloc): Update. + + * NEWS (2.3a+): Add an entry for the push parser, and clean up the + other entries some. + +2007-10-27 Joel E. Denny + + For the XML output's terminal element, rename @number to @token-number, + and add @symbol-number. In the nonterminal element, rename @number to + @symbol-number. Discussed starting at + . + * data/xslt/xml2text.xsl (xsl:template match="terminal"): Update for + renames. + (xsl:template match="nonterminal"): Likewise. + * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Likewise. + (xsl:template match="nonterminal"): Likewise. + * src/print-xml.c (print_grammar): Implement. + +2007-10-21 Joel E. Denny + + * data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After + 2007-10-11 change, the child elements here are items not rules. + (xsl:template match="item"): New. + (xsl:template match="rule"): Update for new reduced itemset. + (xsl:template match="point"): Remove. + (xsl:template match="empty"): For consistency with --graph, don't + output "/* empty */". + * data/xslt/xml2text.xsl (xsl:template match="terminal"): When invoking + line-wrap, don't pass a negative value as first-line-length since this + won't work with the following changes. + (xsl:template name="line-wrap"): Simplify slightly. + (xsl:template name="ws-search"): Eliminate recursion. + * src/print_graph.c (print_core): Don't print a reduction's lookahead + set next to an item whose dot is not at the end of the RHS even if it + happens to be associated with the same rule. + +2007-10-19 Joel E. Denny + + Add %define lr.keep_unreachable_states. + * NEWS (2.3a+): Mention it in the entry for unreachable state removal. + * doc/bison.texinfo (Decl Summary): Mention it in the %define entry. + * src/main.c (main): Implement it. + * tests/conflicts.at (Unreachable States After Conflict Resolution): + Extend to test it, and fix a typo. + +2007-10-19 Joel E. Denny + + * NEWS (2.3a+): Add entry for recent .output file lookahead set fix. + * doc/bison.texinfo (Understanding): Remove a bogus lookahead set in + the example .output text. + * tests/regression.at (Extra lookahead sets in report): Improve wording + of comments. + +2007-10-17 Wojciech Polak + + * src/print-xml.c (print_grammar): Renamed + and attributes: + "type" to "number" and "symbol" to "name". + * data/xslt/xml2text.xsl (xsl:template match="terminal"): + Use new attribute names. + (xsl:template match="nonterminal"): Likewise. + * data/xslt/xml2xhtml.xsl: Likewise. + 2007-10-17 Joel E. Denny * doc/bison.texinfo (Bison Options): Add entry for --print-datadir. @@ -684,38 +2625,38 @@ 2007-03-07 Paolo Bonzini - * data/java.m4 (b4_single_class_if): Remove. - (b4_abstract_if): Look at "%define abstract". - (b4_lexer_if): New. - (b4_union_name): Rename... - (b4_yystype): ... to this. Map to "%define stype". - (b4_rhs_value, b4_parse_param_decl, b4_lex_param_decl, - b4_maybe_throws): Fix quoting. - (b4_lex_param_call): Move below to keep b4_*_param_decl close. - * data/lalr1.java (Lexer interface): Always define. - (Lexer interface within parser class): Remove. - (YYLexer class): New, used when "%code lexer" is present. - (constructor): When "%code lexer" is used, pass %lex-param - to the lexer constructor. - (yylex, yyparse): Remove %lex-param from method invocations - (YYStack, yyaction, yyparse): Rename b4_union_name to b4_yystype. - - * doc/bison.texinfo (Java Bison Interface): Mention "%define - abstract". Rename "%define union_name" to "%define stype". - Rename method names according to previous patch. - (Java Scanner Interface): Describe "%code lexer" instead of - "%pure-parser" and "%define single_class". - (Java Differences): Mention "%code lexer". - - * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove final argument. - Include scanner here, using macros from tests/local.at. - (AT_DATA_CALC_Y): Remove final argument. - (_AT_CHECK_JAVA_CALC): Likewise. - (AT_CHECK_JAVA_CALC): Likewise. Test all four combinations - of %locations and %error-verbose. - (main): Test with and without %lex-param. - * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_LEXPARAM_IF. - (AT_BISON_OPTION_POPDEFS): Pop it. + * data/java.m4 (b4_single_class_if): Remove. + (b4_abstract_if): Look at "%define abstract". + (b4_lexer_if): New. + (b4_union_name): Rename... + (b4_yystype): ... to this. Map to "%define stype". + (b4_rhs_value, b4_parse_param_decl, b4_lex_param_decl, + b4_maybe_throws): Fix quoting. + (b4_lex_param_call): Move below to keep b4_*_param_decl close. + * data/lalr1.java (Lexer interface): Always define. + (Lexer interface within parser class): Remove. + (YYLexer class): New, used when "%code lexer" is present. + (constructor): When "%code lexer" is used, pass %lex-param + to the lexer constructor. + (yylex, yyparse): Remove %lex-param from method invocations + (YYStack, yyaction, yyparse): Rename b4_union_name to b4_yystype. + + * doc/bison.texinfo (Java Bison Interface): Mention "%define + abstract". Rename "%define union_name" to "%define stype". + Rename method names according to previous patch. + (Java Scanner Interface): Describe "%code lexer" instead of + "%pure-parser" and "%define single_class". + (Java Differences): Mention "%code lexer". + + * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove final argument. + Include scanner here, using macros from tests/local.at. + (AT_DATA_CALC_Y): Remove final argument. + (_AT_CHECK_JAVA_CALC): Likewise. + (AT_CHECK_JAVA_CALC): Likewise. Test all four combinations + of %locations and %error-verbose. + (main): Test with and without %lex-param. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_LEXPARAM_IF. + (AT_BISON_OPTION_POPDEFS): Pop it. 2007-03-07 Juan Manuel Guerrero @@ -19863,11 +21804,9 @@ ----- Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 - Free Software Foundation, Inc. + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. - -$Id$