X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/ed15d907c5beb3a2a344f8cecd06af20bf14d596..42ec0ae176c4c75b9b29d7e01b4e543c54cdfa5e:/ChangeLog?ds=sidebyside diff --git a/ChangeLog b/ChangeLog index d3fc291c..a5b35205 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,13 +1,756 @@ +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 (%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 (%error-verbose and YYSTACK_USE_ALLOCA): + New test group. + (%error-verbose overflow): New test group that reveals an + obscure bug. Expected fail for now. + +2008-12-11 Akim Demaille + + Pass the token type to yysyntax_error. + * data/yacc.c (yysyntax_error): Take the transated token instead + of the raw number. + Adjust callers. + +2008-12-11 Akim Demaille + + Simplify the i18n of the error messages. + * data/yacc.c (yysyntax_error): Rewrite, using a switch instead + of building dynamically the format string. + +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-16 Akim Demaille + + doc: comment changes. + * doc/bison.texinfo: Comment changes. + +2009-09-16 Akim Demaille + + doc: spell checking. + * doc/bison.texinfo: here. + +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-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-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 + + 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-03 Akim Demaille + + * NEWS (2.4.2): Add "Internationalization" item. + +2009-09-03 Akim Demaille + + bootstrap: fix/improve find_tool. + * bootstrap (find_tool): Improve error messages. + Fix typo about find_tool_names. + +2009-08-29 Joel E. Denny + + Fix gcc 3.4.4 shadowing warning reported by Eric Blake. + See + . + * src/scan-code.h (code_props_rule_action_init): Rename + named_ref arg to name so it doesn't shadow named_ref type. This + makes it consistent with the function definition in scan-code.l + anyway. + +2009-08-28 Joel E. Denny + + %define: accept unquoted values. + * NEWS (2.5): Group all %define changes together, and document + this one. Remove quotes in IELR and canonical LR entry. + * doc/bison.texinfo: Remove quotes in most examples throughout. + (Decl Summary): Update %define documentation. + (Table of Symbols): Likewise. + * src/ielr.c (LrType): Update documentation. + * src/parse-gram.y (content.opt): Add production for ID. + * tests/calc.at: Remove quotes in most tests. + * tests/existing.at: Likewise. + * tests/input.at: Likewise. + * tests/local.at: Likewise. + * tests/push.at: Likewise. + * tests/reduce.at: Likewise. + * tests/torture.at: Likewise. + +2009-08-28 Joel E. Denny + + %define lr.type: make values lowercase IDs. + That is, "LALR" => "lalr", "IELR" => "ielr", and + "canonical LR" => "canonical-lr". + * NEWS (2.5): Update documentation. + * doc/bison.texinfo (Decl Summary): Likewise. + * src/ielr.c (ielr): Use new values. + * src/ielr.h (ielr): Update documentation. + * src/reader.c (prepare_percent_define_front_end_variables): Use + and validate new values. + * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): Update test + grammars. + * tests/reduce.at (AT_TEST_LR_TYPE): Likewise. + +2009-08-27 Eric Blake + + scan-gram: avoid portability trap with ctype usage. + * src/scan-gram.l (): + Avoid compiler warning. + +2009-08-27 Joel E. Denny + + tests: use perl for printing special sequences to files. + And skip tests if perl is not available. This is better than + playing tricks with shell portability. Suggested by Akim + Demaille. + * tests/input.at (Bad character literals): Use it here for + omitting final newlines. + (Bad escapes in literals): Use it here for special characters. + +2009-08-26 Joel E. Denny + + tests: show a use of %define lr.default-reductions "consistent" + * tests/conflicts.at (%nonassoc and eof): Extend to test that it + prevents the omission of expected tokens for %error-verbose. + +2009-08-26 Akim Demaille + + tests: portability fix. + * tests/input.at (Bad escapes in literals): Don't expect "echo + '\0'" to output \ then 0. + +2009-08-26 Joel E. Denny + + Actually handle the yytable zero value correctly this time. + * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Don't + mention zero values in the YYTABLE comments. + * data/glr.c (yytable_value_is_error): Don't check for zero + value. + * data/lalr1.cc (yy_table_value_is_error_): Likewise. + * data/yacc.c (yytable_value_is_error): Likewise. + * data/lalr1.java (yy_table_value_is_error_): Likewise. + (yysyntax_error): Fix typo in code: use yytable_ not yycheck_. + * src/tables.h: In header comments, explain why it's useless to + check for a zero value in yytable. + +2009-08-25 Joel E. Denny + + More fixes related to last two patches. + * data/c.m4 (b4_table_value_equals): Comment that YYID must be + defined. + * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Fix + yytable comments: zero indicates syntax error not default + action. + * data/glr.c (yyis_pact_ninf): Rename to... + (yypact_value_is_default): ... this. + (yyisDefaultedState): Update for rename. + (yyis_table_ninf): Rename to... + (yytable_value_is_error): ... this, and check for value zero + besides just YYTABLE_NINF. + (yygetLRActions): Check for default value from yypact. It + appears that this check is always performed before this function + is invoked, and so adding the check here is probably redundant. + However, the code may evolve after this subtlety is forgotten. + Also, update for rename to yytable_value_is_error. Because that + macro now checks for zero, a different but equivalent branch of + the if-then-else here is evaluated. + (yyreportSyntaxError): Update for rename to + yytable_value_is_error. The zero condition was mishandled + before. + (yyrecoverSyntaxError): Update for renames. No behavioral + changes. + * data/lalr1.cc, data/lalr1.java (yy_pact_value_is_default_): + New function. + (yy_table_value_is_error_): New function. + (parse): Use new functions where possible. No behavioral + changes. + (yysyntax_error_, yysyntax_error): Use yy_table_value_is_error_. + The zero condition was mishandled before. + * data/yacc.c (yyis_pact_ninf): Rename to... + (yypact_value_is_default): ... this. + (yyis_table_ninf): Rename to... + (yytable_value_is_error): ... this, and check for value zero + besides just YYTABLE_NINF. + (yysyntax_error): Update for rename to yytable_value_is_error. + The zero condition was mishandled before. + (yyparse): Update for renames. No behavioral changes. + * src/tables.h: Improve comments about yypact, yytable, etc. + more. Most importantly, say yytable value of zero means syntax + error not default action. + +2009-08-25 Joel E. Denny + + Fix %error-verbose for conflicts resolved by %nonassoc. + * NEWS (2.5): Document. + * data/glr.c (yyreportSyntaxError): Fix this by checking + yyis_table_ninf. + * data/yacc.c (yysyntax_error): Likewise. + * data/lalr1.cc (yysyntax_error_): Fix this by checking + yytable_ninf_. + * data/lalr1.java (yysyntax_error): Likewise. + * tests/conflicts.at (%nonassoc and eof): Update expected output + and remove FIXME. + +2009-08-25 Joel E. Denny + + Some code and documentation improvements. + * data/c.m4 (b4_table_value_equals): New macro to capture + some repeated code. + * data/glr.c (yyis_pact_ninf): Use it here. + (yyis_table_ninf): Likewise. + (yyreportSyntaxError): Improve internal comments. + * data/yacc.c (yyis_pact_ninf): New macro copied from glr.c. + Use it everywhere possible. + (yyis_table_ninf): Likewise. + (yysyntax_error): Improve internal comments. + * data/lalr1.cc (yysyntax_error_): Likewise. + * data/lalr1.java (yysyntax_error): Likewise. + * src/tables.h: Improve comments about yypact, yytable, etc. + +2009-08-21 Joel E. Denny + + Use locale when quoting. + * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): Use + quote rather than implementing quoting here. + +2009-08-20 Eric Blake + + Make previous patch more robust. + * src/output.c (ARRAY_CARDINALITY): New macro, copied from + argmatch.h. + (output_skeleton): Use it. + Suggested by Akim Demaille. + + Import latest m4/m4.m4. + * submodules/autoconf: Update to autoconf 2.64. + * configure.ac (M4_GNU_OPTION): New define. + * src/output.c (output_skeleton): Use it to resolve FIXME. + * NEWS: Mention this. + +2009-08-19 Joel E. Denny + + Fix complaints about escape sequences. + Discussed starting at + . + * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): + For a \0 and similar escape sequences meaning the null + character, report an invalid escape sequence instead of an + invalid null character because the latter does not actually + appear in the user's input. + In all escape sequence complaints, don't escape the initial + backslash, and don't quote when the sequence appears at the end + of the complaint line unless there's whitespace that quotearg + won't escape. + Consistently say "invalid" not "unrecognized". + Consistently prefer "empty character literal" over "extra + characters in character literal" warning for invalid escape + sequences; that is, consistently discard those sequences. + * tests/input.at (Bad escapes in literals): New. + +2009-08-19 Akim Demaille + + doc: fixes. + * doc/bison.texinfo: Fix minor Texinfo errors. + +2009-08-19 Akim Demaille + + doc: %initial-action to initialize yylloc. + Reported by Bill Allombert. + * doc/bison.texinfo: Set fill-column to 76. + (Location Type): Document the use of %initial-action to initialize + yylloc. + +2009-08-18 Joel E. Denny + + maint: update for gnulib's recent update-copyright changes + * gnulib: Update. + * .x-update-copyright (COPYING): Add as it's no longer implied + when .x-update-copyright is present. + * cfg.mk (update-copyright-local): Remove, now ignored. + (update-copyright): Declare update-b4-copyright as a dependency. + +2009-08-17 Akim Demaille + + build: require gettext 0.17. + + Suggested by Bruno Haible. + http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00009.html + * configure.ac: require gettext 0.17 to ensure compatibility with + gnulib. + +2009-08-17 Akim Demaille + + build: lower gettext requirements. + + Bison was uselessly requiring the formatstring macros from + gettext, which resulted in mo files not being installed on systems + that perfectly supported Bison mo files. Lower the requirement. + http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html + + * configure.ac: Require need-ngettext instead of + need-formatstring-macros. + Reported by Martin Jabocs. + Suggested by Bruno Haible. + * INSTALL: Restructure. + (Internationalization): New. + +2009-08-14 Joel E. Denny + + maint: fix use of copyright year intervals. + * gnulib: Update. + * bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu + as now recommended in gnulib/NEWS. + * build-aux/update-b4-copyright: Fix. + * cfg.mk (update-copyright-env): Configure update-copyright. + +2009-08-13 Joel E. Denny + + Make it easier to write deterministic tests. + Continues Akim's work from his 2009-06-10 commits. + * src/reader.c (check_and_convert_grammar): Don't add any + symbols after the first symbols_do invocation. + * src/symtab.c (symbols_sorted): New static global. + (user_token_number_redeclaration): Update comments. + (symbol_from_uniqstr): If a new symbol is being created, assert + that symbols_sorted hasn't been allocated yet. + (symbols_free): Free symbols_sorted. + (symbols_cmp, symbols_cmp_qsort): New functions. + (symbols_do): Sort symbol_table into symbols_sorted on first + invocation. + * tests/input.at (Numbered tokens): Recombine tests now that the + output should be deterministic across multiple numbers. + +2009-08-12 Akim Demaille + + distcheck: fix. + + * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp. + +2009-08-10 Joel E. Denny + + * tests/Makefile.am (TESTSUITE_AT): Add named-refs.at. + +2009-08-10 Joel E. Denny + + Miscellaneous code readability improvements. + + * src/reader.c (reader): Move %define front-end variable + defaults and checking into... + (prepare_percent_define_front_end_variables): ... this new + function. + + * src/scan-gram.l (INITIAL): For consistency with string + literals, don't store open quote on character literal. It's + discarded before returning anyway. + (SC_ESCAPED_CHARACTER): Similarly, don't store close quote. + Make length test more readable, and make the character stored + for an empty literal more obvious while consistent with the + previous behavior. + + * src/symtab.c, src/symtab.h: Rename USER_NUMBER_ALIAS to + USER_NUMBER_HAS_STRING_ALIAS throughout. + * src/symtab.c (symbol_make_alias): Remove comment from symtab.c + that is repeated in symtab.h. Improve argument names to make it + clear which side of the symbol-string alias pair is which. + (symbol_check_alias_consistency): Improve local variable names + for the same purpose. + * src/symtab.h (struct symbol): Make comments about aliases + clearer. + (symbol_make_alias): Improve comments and argument name. + * src/output.c (token_definitions_output): Update for rename to + USER_NUMBER_HAS_STRING_ALIAS and improve comments about aliases. + +2009-08-08 Alex Rozenman + + Convert "misleading reference" messages to warnings. + * src/scan-code.l: New function 'show_sub_messages', more + factoring. + * tests/named-ref.at: Adjust tests. + +2009-08-06 Joel E. Denny + + maint: run "make update-copyright" + +2009-08-06 Joel E. Denny + + maint: make update-b4-copyright easier to use + * build-aux/update-b4-copyright: In warnings, report line + numbers rather than character positions. + * cfg.mk (update-copyright-local): Set to update-b4-copyright so + that update-copyright runs it. + * gnulib: Update. + +2009-08-05 Joel E. Denny + + maint: clean up update-b4-copyright code + * build-aux/update-b4-copyright: Do not accept 2-digit + UPDATE_COPYRIGHT_YEAR, which was not handled correctly. + Don't accept a `[' in a b4_copyright argument. + Format code more consistently. + Don't assume b4*copyright never occurs. + +2009-08-04 Joel E. Denny + + maint: automate b4_copyright updates. + * Makefile.am (update-b4-copyright): New target rule. + * build-aux/Makefile.am (EXTRA_DIST): Add update-b4-copyright. + * build-aux/update-b4-copyright: New. + * data/yacc.c: Remove stray characters around b4_copyright + invocations. + +2009-08-04 Joel E. Denny + + maint: automate annual package-wide copyright-year update. + * .x-update-copyright: New. + * Makefile.am (EXTRA_DIST): Remove maint.mk. + * bootstrap.conf (gnulib_modules): Add maintainer-makefile and + update-copyright. Remove gnumakefile, which is implied by + maintainer-makefile. + * cfg.mk (bootstrap-tools): Copy from old maint.mk. + * gnulib: Update. + * maint.mk: Remove, now copied from gnulib. + * examples/extexi: Add missing "(C)" in copyright statement so + update-copyright can recognize it. + * src/LR0.h: Likewise. + * src/print.h: Likewise. + * src/print_graph.h: Likewise. + * src/gram.c: Add missing comma in copyright statement. + * src/gram.h: Likewise. + +2009-08-04 Joel E. Denny + + Fix "make distcheck". + * examples/calc++/Makefile.am: Say $(srcdir)/calc.stamp instead + of just calc.stamp. + +2009-08-01 Joel E. Denny + + Pacify "gcc -Wunused" for the input function from Flex. + Reported by Alex Rozenman. This warning shows up with gcc-4.3.0 + and later. + * src/scan-code.l: Add "%option noinput", which I cannot find in + the Flex manual, but which Flex has supported since at least as + far back as 2.5.4. However, if any of our developers still use + Flex 2.5.4, they'll need to stop configuring with + --enable-gcc-warnings because "%option noinput" didn't work + correctly until Flex 2.5.6. + * src/scan-gram.l: Likewise. + * src/scan-skel.l: Likewise. + +2009-07-31 Alex Rozenman + + Fix --enable-gcc-warnings problems. + * src/reader.c: Adjust variable names. + * src/scan-code.l: Fix prototypes and adjust names. + * src/named-ref.c: Remove redundant "if". + +2009-07-29 Joel E. Denny + + Fix a --enable-gcc-warnings problem. + * src/scan-gram.l (SC_ESCAPED_CHARACTER): Actually use length + variable. + +2009-07-24 Alex Rozenman + + Fix some memory leaks. + * src/named-ref.c: Add a pointer check (named_ref_free). + * src/scan-code.l: New function (variant_table_free). Called in + code_scanner_free. + * src/symlist.c: Call to named_ref_free (symbol_list_free). + +2009-07-24 Joel E. Denny + + Warn about character literals not of length one. + * NEWS (2.5): Document. + * src/scan-gram.l (INITIAL): Remove comment that we don't check + the length. + (SC_ESCAPED_CHARACTER): Warn if length is wrong. + * tests/input.at (Bad character literals): New test group. + +2009-07-24 Joel E. Denny + + * src/lalr.c (state_lookahead_tokens_count): Correct comment. + +2009-07-22 Joel E. Denny + + Some M4 cleanup in the testsuite. + Suggested by Eric Blake at + . + * tests/existing.at (_AT_TEST_EXISTING_GRAMMAR): Do not + complicate the code by distinguishing between a missing value + and an empty string value for an optional argument. This fix is + allowed by the similar fix in AT_TEST_TABLES_AND_PARSE below. + * tests/local.at (_AT_TEST_TABLES_AND_PARSE): Merge into... + (AT_TEST_TABLES_AND_PARSE): ... this now that the special + arguments are not needed because of the following changes. + Fix stale comments. + Bison developers should use GNU M4 and should not use + POSIXLY_CORRECT when building the test suite, so do not + complicate the code by avoiding $10 and above. + Do not quote an empty string value for an optional argument, and + do not distinguish between a missing value and an empty string + value. + +2009-07-21 Joel E. Denny + + * m4/m4.m4: Make it a sym link to submodules/autoconf/m4/m4.m4. + +2009-07-15 Joel E. Denny + + Revert unnecessary column realignment in --help output. + Reported by Akim Demaille at + . + * src/getargs.c (usage): Here. + +2009-07-04 Alex Rozenman + + Alphabetical order in src/Makefile.am. + * src/Makefile.am: Adjust. + +2009-07-04 Alex Rozenman + + Style changes and factoring. + * src/named-ref.h: Add comments. + * src/parse-gram.y: Readability and style changes. + * src/reader.c: Factoring: assign_named_ref function. + * src/scan-code.l: Factoring and style changes. Rename + parse_named_ref to parse_ref. Use "c-ctype.h" from gnulib. + Use "unsigned" type for variant index. Improve readablity. + * src/scan-gram.l: Change error messages and add comments. + * src/symlist.h: symbol_list_null: New function decl. + * src/symlist.c: symbol_list_null: Implement here. + * tests/named-refs.at: Adjust for new error messages. + +2009-06-29 Eric Blake + + scan-code: avoid compiler warnings + * src/scan-code.l (parse_named_ref): Use correct specifiers. + +2009-06-29 Akim Demaille + + build: avoid concurrent extraction of calc++. + * examples/calc++/Makefile.am (calc.stamp): New. + Depend on it to create the sources of calc++ so that concurrent + builds don't launch several "extexi" in parallel. + Not only this is inefficient, this also builds incorrect sources + with several extractions mixed together. + +2009-06-27 Alex Rozenman + + Implement support for named symbol references. + * src/parse-gram.y: Add new syntax (named_ref.opt). + * src/reader.c: Store named refs in symbol lists. + * src/reader.h: New argument for symbol_append and + action_append functions. + * src/scan-code.h: Add new field (named_ref) into + code_props data structure. Keeps named ref of midrule + actions. + * src/scan-code.l: Support for named refs in semantic + action code. New function 'parse_named_ref'. + * src/scan-gram.l: Support bracketed id. + * src/symlist.c: Store named refs in symbol lists. + * src/symlist.h: New field in symbol list: named_ref. + * src/named-ref.h: New file, a struct for named_ref. + * src/named-ref.cp: New file, named_ref_new function. + * src/local.mk: Add two new files. + * tests/testsuite.at: Include new test group: + * tests/named-refs.at: this new file. + +2009-06-25 Akim Demaille + + hash: check insertion for memory exhaustion. + * src/uniqstr.c (uniqstr_new): New. + +2009-06-11 Akim Demaille + + style changes. + * data/xslt/xml2dot.xsl, data/xslt/xml2xhtml.xsl: Space changes. + * src/print-xml.c: Style changes. + * tests/conflicts.at: Comment changes. + +2009-06-11 Akim Demaille + + xml: beware of user strings used to give a %prec to rules. + * tests/conflicts.at (%prec with user strings): New. + * src/gram.c (grammar_rules_print_xml): Escape the precedence for + XML output. + +2009-06-11 Akim Demaille + + hash: check insertion for memory exhaustion. + * src/muscle-tab.c (muscle_insert, muscle_grow) + * src/state.c (state_hash_insert): Check the return value of + hash_insert. + 2009-06-10 Akim Demaille + deterministic test suite. + Some consistency checks on symbols are performed after all the + symbols were read, by an iteration over the symbol table. This + traversal is nondeterministic, which can be a problem for test + cases. + Avoid this. + Addresses another form of nondeterminism reported by Joel E. Denny. + http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html + + * tests/input.at (Numbered tokens): Split the hexadecimal/decimal + test in two. + Use different file names for the three tests to make the + maintenance easier. + +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. + * 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