]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
gnulib: update.
[bison.git] / ChangeLog
index 9890b5fabff5d640a7c6df1be6d34e5db34c1d6e..ec89f00df613163857ff46a1043d18b988555489 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,383 @@
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+       gnulib: update.
+       * gnulib: Update to latest.
+       * src/local.mk (AM_CFLAGS): Move to...
+       * Makefile.am: here.
+       * etc/prefix-gnulib-mk (prefix_assignment): Also transform
+       AM_CFLAGS.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Share b4_yytranslate_define.
+       * data/lalr1.cc (b4_yytranslate_define): Move to...
+       * data/c++.m4: here.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Use locations in the variant example.
+       Yes, this obfuscates the point of this example, variants only.  But glr.cc
+       cannot work (yet?) without locations.  This change makes it easier to use
+       this example with glr.cc.
+
+       * examples/variant.yy (assert): %define it.
+       (locations): Request them.
+       (yylex): Bind the location to the stage.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Dub make_TOKEN as a public type interface.
+       * data/c++.m4 (b4_symbol_constructor_declare)
+       (b4_symbol_constructor_define): New empty stubs.
+       (b4_public_types_declare, b4_public_types_define): Use them.
+       * data/lalr1.cc (b4_symbol_constructor_declare)
+       (b4_symbol_constructor_declare_)
+       (b4_symbol_constructor_define_, b4_symbol_constructor_define):
+       Move to...
+       * data/variant.hh: here.
+       Remove the "b4_variant_if" parts, as variant.hh is loaded only if
+       needed.
+       * data/lalr1.cc: No longer invoke b4_symbol_constructor_define and
+       b4_symbol_constructor_declare, as it is now done by
+       b4_public_types_define and b4_public_types_declare.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Coding style changes.
+       * data/lalr1.cc (b4_symbol_constructor_declaration_)
+       (b4_symbol_constructor_declarations)
+       (b4_symbol_constructor_definition_)
+       (b4_symbol_constructor_definitions)
+       (b4_yytranslate_definition): Rename as...
+       (b4_symbol_constructor_declare_)
+       (b4_symbol_constructor_declare)
+       (b4_symbol_constructor_define_)
+       (b4_symbol_constructor_define)
+       (b4_yytranslate_define): these.
+       * data/variant.hh (b4_variant_definition): Rename as...
+       (b4_variant_define): this.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Factor b4_assert_if, b4_lex_symbol_if, and b4_variant_if.
+       * data/bison.m4 (b4_percent_define_if_define): New.
+       * data/c++.m4 (b4_variant_if): Move to...
+       * data/bison.m4: Here, using b4_percent_define_if_define.
+       * data/lalr1.cc (b4_assert_if, b4_lex_symbol_if): Move to...
+       * data/bison.m4: Here, using b4_percent_define_if_define.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Dub symbol_type_base as a public type.
+       * data/c++.m4 (b4_public_types_declare): Now define
+       symbol_type_base and symbol_type.
+       (b4_public_types_define): New.
+       In both cases, the definitions are taken verbatim from lalr1.cc.
+       * data/lalr1.cc: Adjust.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       b4_public_types_declare.
+       * data/c++.m4 (b4_public_types_declare): New.
+       * data/glr.cc, data/lalr1.cc: Use it.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       b4_semantic_type_declare.
+       * data/c++.m4 (b4_semantic_type_declare): New.
+       Factors and generalizes what was in glr.cc and lalr1.cc.
+       * data/variant.hh (b4_semantic_type_declare): Redefine it for
+       variants.
+       * data/lalr1.cc, data/glr.cc: Use it.
+
+2009-02-26  Akim Demaille  <demaille@gostai.com>
+
+       Upgrade gnulib.
+       * gnulib: Upgrade from master.
+       * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, m4/.gitignore:
+       Regen.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Remove useless arguments.
+       * data/glr.c (yy_reduce_print): $$ and @$ are not used and not
+       relevant.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/lalr1.cc: here.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Fix glr.cc's debug level handling.
+       * data/glr.cc (yydebug_): Remove, as it is actually yydebug from
+       glr.c which is used.
+       (debug_level, set_debug_level): Adjust.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Copyright years.
+       * data/glr.c: Add 2007 and 2008 here, consistenly with the comments.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Style changes.
+       * etc/bench.pl.in (generate_grammar_list): Consitently use
+       location_type, not yy::location.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Comment change.
+       * data/lalr1.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Make yyparser::error public.
+       * data/lalr1.cc: here.
+       There is no good reason to keep it private (and it is convenient
+       to use it from the scanner for instance).  It is already public in
+       glr.cc.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/glr.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Remove trailing blanks.
+       The epilogue has its own ending \n, no need to add another.
+
+       * data/glr.c, data/lalr1.java, data/yacc.c: dnl when outputing the
+       epilogue.
+       * data/glr.cc: dnl when extending the epilogue.
+       Remove stray "private:".
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_c_modern.
+       * data/c.m4 (b4_c_function_decl): Here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/lalr1.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Extract variant.hh
+       * data/variant.hh: New, extracted from...
+       * data/lalr1.cc: here.
+       Adjust.
+       * data/local.mk: Adjust.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Extract stack.hh from lalr1.cc.
+       * data/stack.hh: New.
+       * data/lalr1.cc: Extract from here.
+       * data/local.mk: Adjust.
+
+2009-02-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add reminder about uploading public key to keys.gnupg.net.
+       * HACKING (Release Procedure): Here.
+
+2009-01-28  Akim Demaille  <demaille@gostai.com>
+
+       * NEWS: Update information about 2.4.1 and 2.4.2.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Reformat NEWS.
+       * NEWS: Use more outline-mode markup.
+       Suggested by Jim Meyering.
+
+2009-01-08  Akim Demaille  <demaille@gostai.com>
+
+       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  Akim Demaille  <demaille@gostai.com>
+
+       Pass the token type to yysyntax_error.
+       * data/yacc.c (yysyntax_error): Take the transated token instead
+       of the raw number.
+       Adjust callers.
+       * TODO: Update.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/glr.c: Formatting changes.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Propagate i18n changes into glr.c.
+       * TODO: Update.
+       * data/glr.c (yyreportSyntaxError): Use "switch" instead of
+       building the error message format dynamically.
+       * data/lalr1.java: Formatting changes.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Use testsuite -C.
+       * tests/local.mk: Replace "cd && testsuite" by "testsuite -C".
+       Solves problems when top_srcdir is an absolute path.
+       Suggested by Eric Blake.
+       * configure.ac: Require Autoconf 2.62.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Simplify the i18n of the error messages.
+       * data/lalr1.cc: Comment changes.
+       * data/yacc.c (yysyntax_error): Rewrite, using a switch as in
+       lalr1.cc instead of building dynamically the format string.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       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-08  Akim Demaille  <demaille@gostai.com>
+
+       Update data/README.
+       * data/README: Document glr.cc, lalr1.java, m4sugar and xslt.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       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-12-08  Akim Demaille  <demaille@gostai.com>
+
+       Test token.prefix in all the skeletons.
+       * data/java.m4 (b4_token_enum): Use the token.prefix.
+       * tests/local.at (AT_BISON_OPTION_PUSHDEFS): Define AT_TOKEN_PREFIX.
+       * tests/calc.at (_AT_DATA_CALC_Y): Use it.
+       Add checks for yacc.c, glr.c, lalr1.cc and glr.cc.
+       * tests/java.at: Comment changes.
+       (AT_CHECK_JAVA_MINIMAL): Define the END token.
+       (Java parser class and package names): Add token.prefix check.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       Fix regeneration of atconfig.
+       * tests/local.mk (tests/atconfig): The rule was incorrect, but
+       remove it: now that there is no tests/Makefile.am, the top-level
+       Makefile properly updates atconfig when needed.
+
+2008-12-07  Di-an Jan  <dianj@freeshell.org>
+
+       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.
+
+2008-12-07  Akim Demaille  <demaille@gostai.com>
+
+       Update gnulib.
+       * gnulib: Update from master.
+
+2008-12-05  Eric Blake  <ebb9@byu.net>
+
+       Avoid compiler warning.
+       * src/output.c (muscle_insert_item_number_table): Delete unused
+       function.
+
+2008-12-02  Eric Blake  <ebb9@byu.net>
+
+       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-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_symbol for printers and destructors everywhere.
+       * data/bison.m4 (b4_symbol_action_location): New.
+       * data/c.m4 (b4_symbol_actions): Remove.
+       Adjust all callers to use by b4_symbol_foreach and the corresponding
+       b4_symbol_printer/destructor macro.
+       * data/glr.cc: Adjust.
+       * data/lalr1.java: Adjust the %destructor sanity check.
+       * src/output.c (symbol_code_props_output): Remove, we no longer
+       need the b4_symbol_printers/destructors tables.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_symbol_case_.
+       * data/lalr1.cc, data/bison.m4 (b4_symbol_action): Use
+       b4_symbol_case_.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Move b4_symbol based macro to bison.m4.
+       * data/lalr1.cc (b4_symbol_, b4_symbol, b4_symbol_if)
+       (b4_symbol_action, b4_symbol_destructor, b4_symbol_printer)
+       (b4_symbol_case_, b4_symbol_foreach, b4_type_action_)
+       (b4_type_foreach): Move to...
+       * data/bison.m4: Here.
+       * data/lalr1.cc (b4_symbol_action): Specialize for C++: use
+       b4_symbol_value_template instead of b4_symbol_value.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       b4_symbol/type_foreach.
+       * data/lalr1.cc (b4_symbol_foreach, b4_type_foreach): New.
+       Use them.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use the symbol properties to output the printer/destructor for lalr1.cc.
+       Instead of defining complex list of tuples to define various
+       properties of the symbols, we now prefer to define symbols as
+       "structs" in m4: using the symbol key (its number), and the
+       property name, b4_symbol gives it value.  Use this to handle
+       destructors and printers.
+
+       * src/output.c (CODE_PROP): New.
+       (prepare_symbol_definitions): Use it to define the printer and
+       destructor related attributes of the symbols.
+       * data/lalr1.cc (b4_symbol_actions): Rename as...
+       (b4_symbol_action): this.
+       Use b4_symbol instead of 6 arguments.
+       (b4_symbol_printer, b4_symbol_destructor): New.
+       Use them instead of b4_symbol_actions.
+
 2008-12-01  Akim Demaille  <demaille@gostai.com>
 
        Avoid capturing variables too easily.
 2008-11-25  Akim Demaille  <demaille@gostai.com>
 
        Get rid of yyrhs and yyprhs in yacc.c.
-       They were used to get the symbol types, given a rule number,  when
-       displaying the top of the stack before a reduction.  But the symbol type
-       is available from the state stack.  This has two be benefits: two tables
-       less in the parser (making it smaller), and a more consistent use of the
-       three stacks which will help to fuse them.
+       They were used to get the symbol types, given a rule number, when
+       displaying the top of the stack before a reduction.  But the
+       symbol type is available from the state stack.  This has two be
+       benefits: two tables less in the parser (making it smaller), and a
+       more consistent use of the three stacks which will help to fuse
+       them.
 
        * data/yacc.c (yyprhs, yyrhs): Remove.
        (YY_REDUCE_PRINT): Pass yyssp to yy_reduce_print.
 2008-08-29  Akim Demaille  <demaille@gostai.com>
 
        Clarify UPDATED use.
-        * doc/bison.texinfo: It refers to the last edition of this file,
+       * doc/bison.texinfo: It refers to the last edition of this file,
        not to the release date of Bison.
-        Reported by Joel E. Denny.
+       Reported by Joel E. Denny.
 
 2008-08-29  Akim Demaille  <demaille@gostai.com>
 
 2008-08-27  Akim Demaille  <demaille@gostai.com>
 
        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.
+       * 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  <demaille@gostai.com>
 
        Support yyerrok in lalr1.cc.
        YYBACKUP is still to import back into lalr1.cc.
-        * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
+       * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
 
 2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>