]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* src/symtab.h, src/symtab.c (symbol_t): destructor_location is a
[bison.git] / ChangeLog
index 27a927b0a6d253e37dcb41dcb7aa6dc52f4c20a6..6e1e722c74a75aa2e9a493bf957e17660790f10a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,142 @@
+2002-06-18  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c (symbol_t): destructor_location is a
+       new member.
+       (symbol_destructor_set): Adjust.
+       * src/output.c (symbol_destructors_output): Output the destructor
+       locations.
+       Output the symbol name.
+       * data/bison.simple (b4_symbol_destructor): Adjust.
+
+2002-06-18  Cris Bailiff  <c.bailiff@awayweb.com>
+       and Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple.new (yyerrlab1): Be sure to pop and destroy
+       what's left on the stack when the error recovery hits EOF.
+       * tests/actions.at (Destructors): Complete to exercise this case.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * data/m4sugar/m4sugar.m4 (m4_map): Recognize when the list of
+       arguments is really empty, not only equal to `[]'.
+       * src/symtab.h, src/symtab.c (symbol_t): `destructor' is a new
+       member.
+       (symbol_destructor_set): New.
+       * src/output.c (symbol_destructors_output): New.
+       * src/reader.h (brace_code_t, current_braced_code): New.
+       * src/scan-gram.l (BRACED_CODE): Use it to branch on...
+       (handle_dollar): Rename as...
+       (handle_action_dollar): this.
+       (handle_destructor_dollar): New.
+       * src/parse-gram.y (PERCENT_DESTRUCTOR): New.
+       (grammar_declaration): Use it.
+       * data/bison.simple (yystos): Is always defined.
+       (yydestructor): New.
+       * tests/actions.at (Destructors): New.
+       * tests/calc.at (_AT_CHECK_CALC_ERROR): Don't rely on egrep.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * src/symlist.h, src/symlist.c (symbol_list_length): New.
+       * src/scan-gram.l (handle_dollar, handle_at): Compute the
+       rule_length only when needed.
+       * src/output.c (actions_output, token_definitions_output): Output
+       the full M4 block.
+       * src/symtab.c: Don't access directly to the symbol tag, use
+       symbol_tag_get.
+       * src/parse-gram.y: Use symbol_list_free.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h, src/reader.c (symbol_list, symbol_list_new)
+       (symbol_list_prepend, get_type_name): Move to...
+       * src/symlist.h, src/symlist.c (symbol_list_t, symbol_list_new)
+       (symbol_list_prepend, symbol_list_n_type_name_get): here.
+       Adjust all callers.
+       (symbol_list_free): New.
+       * src/scan-gram.l (handle_dollar): Takes a location.
+       * tests/input.at (Invalid $n): Adjust.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h, src/reader.c (symbol_list_new): Export it.
+       (symbol_list_prepend): New.
+       * src/parse-gram.y (%union): `list' is a new member.
+       (symbols.1): New, replaces...
+       (terms_to_prec.1, nterms_to_type.1): these.
+       * src/symtab.h, src/symtab.c (symbol_type_set, symbol_precedence_set)
+       Take a location as additional argument.
+       Adjust all callers.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y: Move %token in the declaration section so that
+       we don't depend upon CVS Bison.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (state_rule_lookaheads_print): New.
+       * src/print.c (print_core): Use it.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (log_resolution): Accept the rule involved in
+       the sr conflicts instead of the lookahead number that points to
+       that rule.
+       (flush_reduce): Accept the current lookahead vector as argument,
+       instead of the index in LA.
+       (resolve_sr_conflict): Accept the current number of lookahead
+       bitset to consider for the STATE, instead of the index in LA.
+       (set_conflicts): Adjust.
+       * src/lalr.c, src/lalr.h, src/state.h: Comment changes.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (state_t): Replace the `lookaheadsp' member, a
+       short, with `lookaheads' (bitsetv), `lookaheads_rule' (rule_t**).
+       Adjust all dependencies.
+       * src/lalr.c (initialize_lookaheads): Split into...
+       (states_lookaheads_count, states_lookaheads_initialize): these.
+       (lalr): Adjust.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (grammar_rules_partial_print): New, eved
+       out of...
+       (grammar_rules_print): here.
+       * src/reduce.c (reduce_output): Use it.
+       * tests/reduce.at (Useless Rules, Reduced Automaton)
+       (Underivable Rules): Adjust.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       Copy BYacc's nice way to report the grammar.
+
+       * src/gram.h, src/gram.c (grammar_rhs_print, grammar_rules_print):
+       New.
+       Don't print the rules' location, it is confusing and useless.
+       (rule_print): Use grammar_rhs_print.
+       * src/print.c (print_grammar): Use grammar_rules_print.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       Complete and rationalize `useless thing' warnings.
+
+       * src/symtab.h, src/symtab.c (symbol_tag_get, symbol_tag_get_n)
+       (symbol_tag_print): New.
+       Use them everywhere in place of accessing directly the tag member.
+       * src/gram.h, src/gram.c (rule_print): New.
+       Use it where a rule used to be printed `by hand'.
+       * src/reduce.c (nonterminals_reduce): Report the use nonterminals.
+       (reduce_grammar_tables): Report the useless rules.
+       (reduce_print): Useless things are a warning, not an error.
+       Report it as such.
+       * tests/reduce.at (Useless Nonterminals, Useless Rules):
+       (Reduced Automaton, Underivable Rules): Adjust.
+       * tests/regression.at (Web2c Report, Web2c Report): Adjust.
+       * tests/conflicts.at (Unresolved SR Conflicts)
+       (Solved SR Conflicts): Adjust.
+
 2002-06-15  Akim Demaille  <akim@epita.fr>
 
        Let symbols have a location.
        * tests/regression.at (Web2c Report, Rule Line Numbers): Adjust
        the line numbers.
 
-       
 2002-06-14  Akim Demaille  <akim@epita.fr>
 
        Grammar declarations may be found in the grammar section.