]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* doc/bison.texinfo (Bison Options): Say more accurately what
[bison.git] / ChangeLog
index 3be972e518bc8afb775defaec29d0fa80047e23b..a9d8a7aef384444bc6563748f9d51650fc816fab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,156 @@
+2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Bison Options): Say more accurately what
+       --yacc does.
+       * src/parse-gram.y (rules_or_grammar_declaration): Don't complain
+       about declarations in the grammar when in Yacc mode, as POSIX does
+       not require a diagnostic when the grammar uses extensions.
+
+       * src/reduce.c (reduce_grammar): Remove unnecessary cast to bool.
+
+       Warn about dubious constructions like "%token T T".
+       Reported by twlevo.
+       * src/symtab.h (struct symbol.declared): New member.
+       * src/symtab.c (symbol_new): Initialize it to false.
+       (symbol_class_set): New arg DECLARING, specifying whether
+       this is a declaration that we want to warn about, if there
+       is more than one of them.  All uses changed.
+
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c:
+       Allow multiple %union directives, whose contents concatenate.
+       * src/parse-gram.y (grammar_declaration): Likewise.
+       Use muscle_code_grow, so that we don't need stype_line any more.
+       All uses changed.
+
+       * src/muscle_tab.c (muscle_grow): Fix comment.
+
+       * ChangeLog, data/c.m4, data/glr.c, data/glr.cc, data/location.cc:
+       * data/yacc.c, src/getargs.c, src/output.c, tests/cxx-type.at:
+       Update copyright year to 2006.
+
+2006-01-03  Akim Demaille  <akim@epita.fr>
+
+       Have glr.cc pass (some of) the calc.at tests.
+       * data/glr.cc (b4_parse_param_orig): New.
+       (b4_parse_param): Improve its definition, and bound it more
+       clearly in the skeleton.
+       (b4_epilogue): Append, instead of prepending, in order to keep
+       #line consistency.
+       Simplify the generation of auxiliary functions: locations and
+       purity are mandated.
+       (b4_global_tokens_and_yystype): Honor it.
+       * data/location.cc (c++.m4): Don't include it.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Define AT_GLR_CC_IF
+       and AT_SKEL_CC_IF.
+       * tests/calc.at (AT_CHECK_CALC): Rely on AT_SKEL_CC_IF instead of
+       AT_LALR1_CC_IF.
+       Be sure to initialize the first position's filename.
+       (AT_CHECK_CALC_LALR1_CC): Add %location and %defines, they are
+       mandated anyway.
+       (AT_CHECK_CALC_GLR_CC): New.
+       Use it to exercise glr.cc as a lalr1.cc drop-in replacement.
+
+2006-01-02  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_skeleton): Don't hard wire the inclusion of
+       c.m4.
+       * data/c++.m4, data/glr.c, data/yacc.c: Include c.m4.
+       * data/glr.cc: Do not include stack.hh.
+
+2006-01-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c: Reformat whitespace with tabs.
+       (b4_lpure_formals): Remove this unused m4 macro.
+       * tests/cxx-type.at: Reformat whitespace with tabs.
+       (_AT_TEST_GLR_CXXTYPES): In union Node, rename node_info to nodeInfo
+       since it's a member.  Rename type to isNterm for clarity.
+
+2005-12-29  Akim  <akim@sulaco.local>
+
+       Let glr.cc catch up with symbol_value_print.
+       * data/glr.cc (b4_yysymprint_generate): Replace by...
+       (b4_yy_symbol_print_generate): this.
+       (yy_symbol_print, yy_symbol_value_print): Declare them.
+
+2005-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/location.h (boundary): Note that a line or column equal
+       to INT_MAX indicates an overflow.
+       * src/scan-gram.l: Include verify.h.  Don't include get-errno.h.
+       (rule_length_overflow, increment_rule_length, add_column_width):
+       New functions.
+       (<INITIAL>{id}, <SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'"):
+       (<SC_BRACED_CODE>"}"):
+       Use increment_rule_length rather than incrementing it by hand.
+       (adjust_location, handle_syncline): Diagnose overflow.
+       (handle_action_dollar, handle_action_at):
+       Fix bug with monstrosities like $-2147483648.
+       Remove now-unnecessary checks.
+       (scan_integer): Verify assumptions and remove now-unnecessary checks.
+       (convert_ucn_to_byte): Verify assumptions.
+       (handle_syncline): New arg LOC.  All callers changed.
+       Don't store through a value derived from char const * pointer.
+
+       * src/reader.c (grammar_rule_check): Rewrite slightly to avoid
+       GCC warnings.
+
+2005-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/reader.c (grammar_midrule_action, grammar_symbol_append):
+       Remove unnecessary forward static decls.
+
+2005-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (grammar_current_rule_check): Also check that $$
+       is used.
+       Take the rule to check as argument, hence rename as...
+       (grammar_rule_check): this.
+       * src/reader.h, src/reader.c (grammar_rule_begin, grammar_rule_end):
+       Rename as...
+       (grammar_rule_begin, grammar_rule_end): these, for consistency.
+       (grammar_midrule_action, grammar_symbol_append): Now static.
+       * tests/torture.at (input): Don't rely on the default action
+       being always performed.
+       * tests/calc.at: "Set" $$ even when the action is "cut" with
+       YYERROR or other.
+       * tests/actions.at (Exotic Dollars): Instead of using unused
+       values, check that the warning is issued.
+
+2005-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Improve wording for unused-value warnings.
+
+2005-12-22  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc, data/yacc.c, data/glr.c, data/c.m4
+       (b4_yysymprint_generate): Rename as...
+       (b4_yy_symbol_print_generate): this.
+       Generate yy_symbol_print instead of yysymprint.
+       Generate also yy_symbol_value_print, and use it.
+
+2005-12-22  Akim Demaille  <akim@epita.fr>
+
+       * NEWS: Warn about unused values.
+       * src/symlist.h, src/symlist.c (symbol_list, symbol_list_new): Add
+       a `used' member.
+       (symbol_list_n_get, symbol_list_n_used_set): New.
+       (symbol_list_n_type_name_get): Use symbol_list_n_get.
+       * src/scan-gram.l (handle_action_dollar): Flag used symbols.
+       * src/reader.c (grammar_current_rule_check): Check that values are
+       used.
+       * src/symtab.c (symbol_print): Accept 0.
+       * tests/existing.at: Remove the type information.
+       Empty the actions.
+       Remove useless actions (beware of mid-rule actions: perl -000
+       -pi -e 's/\s*\{\}(?=[\n\s]*[|;])//g').
+       * tests/actions.at (Exotic Dollars): Use unused values.
+       * tests/calc.at: Likewise.
+       * tests/glr-regression.at (No users destructors if stack 0 deleted):
+       Likewise.
+
+       * src/gram.c (rule_useful_p, rule_never_reduced_p): Use
+       rule_useful_p.
+
 2005-12-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        Undo 2005-12-01 tentative license wording change.  The wording is
 2005-12-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        Undo 2005-12-01 tentative license wording change.  The wording is
        -----
 
        Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
        -----
 
        Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
-       1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
-       Foundation, Inc.
+       1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
+       Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this