]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* bootstrap (TP_URL, WGET_COMMAND): New vars.
[bison.git] / ChangeLog
index bd61223b363279d9c6ffdbbc0c57503b00178537..a7022679582c7c2d2e23f128d9b8611655813dc5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,384 @@
+2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       The Translation Project changed its way of publishing translations
+       to maintainers.  I haven't received any responses to my request
+       for supporting the old way, or for documenting the new way.  I
+       have modified 'bootstrap' to use screen scraping
+       (in this case, HTML scraping).  This is unreliable and inelegant,
+       but I don't see any better way.  Yuck.
+       * bootstrap (TP_URL, WGET_COMMAND): New vars.
+       (get_translations): New function, which uses HTML scraping to
+       deduce locations of latest translations.
+       Use this function to grab both bison and bison-runtime .po files.
+       Don't bother priming the pump for the runtime-po domain any more,
+       as it's now translated better than bison is.
+
+2006-06-19  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l: No longer "parse" things after `%union' until
+       `{'.  Rather, return a single "%union" token.
+       No longer make symbols: return strings, and leave the conversion
+       to symbols to the parser.
+       (SC_PRE_CODE, token_type): Remove.
+       * src/parse-gram.y (%union): New field `character'.
+       Sort tokens.
+       (CHAR): New token.
+       (ID, ID_COLON): Now that the scanner no longer makes them
+       identifiers, adjust all uses to invoke symbol_get.
+       (id_colon): New, wraps the conversion from string to symbol.
+       (%union): Accept a possible union_name.
+       (symbol): Now can be a char.
+       * data/c.m4 (b4_union_name): Leave a default value.
+       * data/glr.c, data/yacc.c: Use it.
+
+2006-06-11  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For associating token numbers with token names for "yacc.c", don't use
+       #define statements unless `--yacc' is specified; always use enum
+       yytokentype.  Most important discussions start at:
+       <http://lists.gnu.org/archive/html/bison-patches/2005-09/msg00053.html>,
+       <http://lists.gnu.org/archive/html/bison-patches/2005-12/msg00052.html>,
+       and
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00043.html>.
+       * NEWS (2.3+): Mention.
+       * data/c.m4 (b4_yacc_if): New.
+       (b4_token_enums_defines): Use b4_yacc_if to decide whether to add the
+       token #define's.
+       * doc/bison.texinfo (Bison Options): Describe the effect of `--yacc'
+       on token name definitions.
+       * src/getargs.c (usage): Capitalize `Yacc' in English.
+       * src/output.c (prepare): Define b4_yacc_flag.
+       * tests/regression.at (Early token definitions): Test that tokens names
+       are defined before the pre-prologue not just before the post-prologue.
+       Remove this test case and copy to...
+       (Early token definitions with --yacc): ... this to test #define's.
+       (Early token definitions without --yacc): ... and this to test enums.
+
+2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Reword the post-2.3 change to not be so optimistic about
+       removing the old "look-ahead" spelling.
+       Update previous look-ahead/lookahead change reports.
+       * REFERENCES: look-ahead -> lookahead (since that's
+       what he actually wrote).
+       * doc/refcard.tex: look ahead -> lookahead,
+       look-ahead -> lookahead
+
+2006-06-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For consistency, use `lookahead' instead of `look-ahead' or
+       `look_ahead'.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00049.html>
+       and then at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00017.html>.
+       * NEWS: For the next release, note the change to `--report'.
+       * TODO, doc/bison.1: Update English.
+       * doc/bison.texinfo: Update English.
+       (Understanding Your Parser, Bison Options): Document as
+       `--report=lookahead' rather than `--report=look-ahead'.
+       * src/conflicts.c: Update English in comments.
+       (lookahead_set): Rename from look_ahead_set.
+       (flush_reduce): Rename argument look_ahead_tokens to lookahead_tokens.
+       (resolve_sr_conflict): Rename local look_ahead_tokens to
+       lookahead_tokens, and update other uses.
+       (flush_shift, set_conflicts, conflicts_solve, count_sr_conflicts,
+       count_rr_conflicts, conflicts_free): Update uses.
+       * src/getargs.c (report_args): Move "lookahead" before alternate
+       spellings.
+       (report_types): Update uses.
+       (usage): For `--report' usage description, state `lookahead' spelling
+       rather than `look-ahead'.
+       * src/getargs.h (report.report_lookahead_tokens): Rename from
+       report_look_ahead_tokens.
+       * src/lalr.c: Update English in comments.
+       (compute_lookahead_tokens): Rename from compute_look_ahead_tokens.
+       (state_lookahead_tokens_count): Rename from
+       state_look_ahead_tokens_count.
+       Rename local n_look_ahead_tokens to n_lookahead_tokens.
+       (lookahead_tokens_print): Rename from look_ahead_tokens_print.
+       Rename local n_look_ahead_tokens to n_lookahead_tokens.
+       Update other uses.
+       Update English in output.
+       (add_lookback_edge, initialize_LA, lalr, lalr_free): Update uses.
+       * src/print.c: Update English in comments.
+       (lookahead_set): Rename from look_ahead_set.
+       (print_reduction): Rename argument lookahead_token from
+       look_ahead_token.
+       (print_core, state_default_rule, print_reductions, print_results):
+       Update uses.
+       * src/print_graph.c: Update English in comments.
+       (print_core): Update uses.
+       * src/state.c: Update English in comments.
+       (reductions_new): Update uses.
+       (state_rule_lookahead_tokens_print): Rename from
+       state_rule_look_ahead_tokens_print, and update other uses.
+       * src/state.h: Update English in comments.
+       (reductions.lookahead_tokens): Rename from look_ahead_tokens.
+       (state_rule_lookahead_tokens_print): Rename from
+       state_rule_look_ahead_tokens_print.
+       * src/tables.c: Update English in comments.
+       (conflict_row, action_row): Update uses.
+       * tests/glr-regression.at
+       (Incorrect lookahead during deterministic GLR,
+       Incorrect lookahead during nondeterministic GLR): Rename
+       print_look_ahead to print_lookahead.
+       * tests/torture.at: Update English in comments.
+       (AT_DATA_LOOKAHEAD_TOKENS_GRAMMAR): Rename from
+       AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR.
+       (Many lookahead tokens): Update uses.
+       * data/glr.c: Update English in comments.
+       * lalr1.cc: Likewise.
+       * yacc.c: Likewise.
+       * src/conflicts.h: Likewise.
+       * src/lalr.h: Likewise.
+       * src/main.c: Likewise.
+       * src/output.c: Likewise.
+       * src/parse-gram.c: Likewise.
+       * src/tables.h: Likewise.
+       * tests/calc.at: Likewise.
+
+2006-06-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/flex-scanner.h (yytext): Remove stray `*/' in #define.
+
+2006-06-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * TODO: Add request from Nelson H. F. Beebe to be able to install
+       Bison without installing the yacc script.
+
+2006-06-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/flex-scanner.h: For the sake of Flex 2.5.4, don't #define yyleng
+       and yytext if they're already #define'd.
+       * src/flex-scanner.h, src/location.h: Move #include "system.h" to...
+       * src/scan-code-c.c: ... here.
+       * src/scan-code.l, src/scan-gram.l: ... and here.  Also #include
+       <config.h>.
+
+2006-06-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Get Bison to build again when configured with --enable-gcc-warnings.
+       * src/location.c, src/location.h, src/main.c, src/scan-code.l: Add some
+       missing #include's.
+       * src/scan-code.l (handle_action_dollar, handle_action_at): Rename
+       loc argument as it shadows a global.
+       * src/scan-gram.l: Remove stray comma that prevents boundary_set
+       invocation.
+
+       * src/.cvsignore: Add scan-code.c.
+
+2006-06-07  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l: Move the "add a trailing ; to actions" code
+       to...
+       * src/scan-code.l: here.
+       * tests/input.at (Torturing the Scanner): Fix another location
+       error.
+
+2006-06-07  Akim Demaille  <akim@epita.fr>
+
+       * src/Makefile.am (BUILT_SOURCES): Fix the trailing backslash.
+
+2006-06-06  Akim Demaille  <akim@epita.fr>
+
+       Extract the parsing of user actions from the grammar scanner.
+       As a consequence, the relation between the grammar scanner and
+       parser is much simpler.  We can also split "composite tokens" back
+       into simple tokens.
+       * src/gram.h (ITEM_NUMBER_MAX, RULE_NUMBER_MAX): New.
+       * src/scan-gram.l (add_column_width, adjust_location): Move to and
+       rename as...
+       * src/location.h, src/location.c (add_column_width)
+       (location_compute): these.
+       Fix the column count: the initial column is 0.
+       (location_print): Be robust to ending column being 0.
+       * src/location.h (boundary_set): New.
+       * src/main.c: Adjust to scanner_free being renamed as
+       gram_scanner_free.
+       * src/output.c: Include scan-code.h.
+       * src/parse-gram.y: Include scan-gram.h and scan-code.h.
+       Use boundary_set.
+       (PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_INITIAL_ACTION)
+       (PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Remove the {...} part,
+       which is now, again, a separate token.
+       Adjust all dependencies.
+       Whereever actions with $ and @ are used, use translate_code.
+       (action): Remove this nonterminal which is now useless.
+       * src/reader.c: Include assert.h, scan-gram.h and scan-code.h.
+       (grammar_current_rule_action_append): Use translate_code.
+       (packgram): Bound check ruleno, itemno, and rule_length.
+       * src/reader.h (gram_in, gram__flex_debug, scanner_cursor)
+       (last_string, last_braced_code_loc, max_left_semantic_context)
+       (scanner_initialize, scanner_free, scanner_last_string_free)
+       (gram_out, gram_lineno, YY_DECL_): Move to...
+       * src/scan-gram.h: this new file.
+       (YY_DECL): Rename as...
+       (GRAM_DECL): this.
+       * src/scan-code.h, src/scan-code.l, src/scan-code-c.c: New.
+       * src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
+       (gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
+       (gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
+       Move these declarations, and...
+       (obstack_for_string, STRING_GROW, STRING_FINISH, STRING_FREE):
+       these to...
+       * src/flex-scanner.h: this new file.
+       * src/scan-gram.l (rule_length, rule_length_overflow)
+       (increment_rule_length): Remove.
+       (last_braced_code_loc): Rename as...
+       (gram_last_braced_code_loc): this.
+       Adjust to the changes of the parser.
+       Move all the handling of $ and @ into...
+       * src/scan-code.l: here.
+       * src/scan-gram.l (handle_dollar, handle_at): Remove.
+       (handle_action_dollar, handle_action_at): Move to...
+       * src/scan-code.l: here.
+       * src/Makefile.am (bison_SOURCES): Add flex-scanner.h,
+       scan-code.h, scan-code-c.c, scan-gram.h.
+       (EXTRA_bison_SOURCES): Add scan-code.l.
+       (BUILT_SOURCES): Add scan-code.c.
+       (yacc): Be robust to white spaces.
+
+       * tests/conflicts.at, tests/input.at, tests/reduce.at,
+       * tests/regression.at: Adjust the column numbers.
+       * tests/regression.at: Adjust the error message.
+
+2006-06-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
+       Use Akim's wording from
+       <http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00056.html>.
+
+2006-06-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Between Bison releases, manually append `+' to the previous Bison
+       release number, and use that as a signal to automatically print the
+       ChangeLog's CVS Id keyword from --version.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00028.html>.
+       * ChangeLog: Add Id header.
+       * configure.ac (AC_INIT): Append `+' to `2.3'.
+       * src/.cvsignore: Add revision.c.
+       * src/Makefile.am (bison_SOURCES): Add revision.c and revision.h.
+       (BUILT_SOURCES): Add revision.c.
+       (revision.c): New target rule.  This file defines a new global variable
+       named revision.  It initializes it with either the Id from ChangeLog
+       or, if VERSION doesn't contain `+', with the empty string.
+       * src/getargs.c (version): Print the value of revision.
+       * src/revision.h: Extern revision.
+
+2006-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.3.
+       * configure.ac (AC_INIT): Likewise.
+
+2006-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (YYRECOVERING): Define to be a function-like macro
+       with no arguments, not as an object-like macro.  This is for
+       compatibility with data/yacc.c.  Problem reported by John P. Hartmann in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00059.html>.
+       * doc/bison.texinfo (Action Features, Error Recovery, Table of Symbols):
+       Document this.
+
+2006-05-30  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (usage): Back out yesterday's modification of the
+       --help output so that we don't have to wait for translation before
+       releasing 2.3.
+
+2006-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Introduction): Don't say "GLR grammar".
+       Problem reported by Akim Demaille.
+
+2006-05-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
+
+2006-05-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (yy_reduce_print): Omit trailing white space in
+       generated source code.  Problem reported by Frans Englich in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00049.html>.
+
+2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * Makefile.maint (gzip_rsyncable, GZIP_ENV): Compute within the
+       shell, not within 'make', so that 'make' by an ordinary builder
+       (using GNU make) does not worry about configuring gzip.  This also
+       works around a bug reported independently by Keith Thompson and by
+       Georg Schwarz, whereby gzip 1.2.4 --help would output usage on
+       stderr rather than stdout, messing up the build logs.
+
+2006-05-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/yacc.c (yyparse): Wrap the final return from yyparse inside YYID
+       to make sure that YYID will never be unused.  This fixes a 'make
+       maintainer-check' failure caused by the recent changes to the 'Trivial
+       grammars' test case, which caused g++ 4.1.0 to complain that YYID was
+       not used.
+       * data/glr.c (yyparse): Wrap yyparse's return inside YYID just in case.
+
+2006-05-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyresolveLocations): Remove bogus YYASSERT that the
+       state before an empty RHS is always resolved here.  Only the location
+       of that state is guaranteed to be resolved, and that's enough.  This
+       fixes the remaining bug reported by Derek M. Jones in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
+       * tests/glr-regression.at (Uninitialized location when reporting
+       ambiguity): Test the above case.
+       Also, the embedded comments in this test case claim it checks the case
+       of an empty RHS that has inherited the initial location.  However, the
+       corresponding LHS was already resolved, so yyresolveLocations didn't
+       actually have reason to modify it.  Fix this by forcing
+       nondeterministic operation at the beginning of the parse.
+
+2006-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_yy_symbol_print_generate):
+       (b4_yy_symbol_print_generate): Use 'YYSTYPE const' rather than
+       'const YYSTYPE', and similarly for YYLTYPE.  This fixes one
+       of the bugs reported today by Derek M Jones in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
+       * doc/bison.texinfo (Value Type): Document that YYSTYPE must be
+       defined to be a type name without parens or brackets.
+       (Location Type): Similarly for YYLTYPE.
+       * tests/regression.at (Trivial grammars): Put in a test for this
+       bug that will be caught by 'make maintainer-check' (though not,
+       alas, by 'make check' unless your compiler is picky).
+
+2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.2.
+       * configure.ac (AC_INIT): Likewise.
+
+2006-05-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyreportTree): Make room in yystates for the state
+       preceding the RHS.  This fixes the segmentation fault reported by Derek
+       M. Jones in
+       <http://lists.gnu.org/archive/html/help-bison/2006-05/msg00035.html>.
+       (yyreportTree, yypdumpstack): Subtract 1 from yyrule before printing
+       to the user.  Reported for yyreportTree by Derek M. Jones later in the
+       same thread.
+       * THANKS: Add Derek M. Jones.
+       Update my email address.
+       Fix typo in Steve Murphy's name.
+
 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
 
 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * data/glr.c (yyreportSyntaxError): Fix off-by-one error in
+       checking against YYLAST that caused the parser to miss a potential
+       alternative in its diagnostic.
+       Problem reported by Maria Jose Moron Fernandez in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00024.html>.
+       * data/lalr1.cc (yysyntax_error_): Likewise.
+       * data/yacc.c (yysyntax_error): Likewise.
+       * tests/regression.at (_AT_DATA_DANCER_Y): Use static array for
+       tokens, in case we run into an older C compiler.
+       (_AT_DATA_EXPECT2_Y, AT_CHECK_EXPECT2): New macros.
+       Use them to check for the off-by-one error fixed above.
+
        * data/yacc.c (yytnamerr): Fix typo: local var should be of type
        YYSIZE_T, not size_t.
        * tests/regression.at (Trivial grammars): New test, to catch
        * data/yacc.c (yytnamerr): Fix typo: local var should be of type
        YYSIZE_T, not size_t.
        * tests/regression.at (Trivial grammars): New test, to catch
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this
        notice are preserved.
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this
        notice are preserved.
+
+$Id$