]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Try to make the use of the eoftoken valid. Given that its value
[bison.git] / ChangeLog
index 1d4e28e3ac30835292b9c46e21e8737a64b6c758..5c2bd8f432a2069d96cb3367cb7e89a7721c0846 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,114 @@
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       Try to make the use of the eoftoken valid.  Given that its value
+       is 0 which was also used as a sentinel in ritem, (i) make sure >= 0
+       is used instead of > 0 where appropriate, (ii), depend upon nritems
+       instead of the 0-sentinel.
+
+       * src/gram.h, src/gram.c (nritems): New.
+       Expected to be duplication of nitems, but for the time being...
+       * src/reader.c (packgram): Assert nritems and nitems are equal.
+       * src/LR0.c (allocate_itemsets, new_itemsets): Adjust.
+       * src/closure.c (print_closure, print_fderives): Likewise.
+       * src/gram.c (ritem_print): Likewise.
+       * src/print.c (print_core, print_grammar): Likewise.
+       * src/print_graph.c: Likewise.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/main.c (main): If there are complains after grammar
+       reductions, then output the report anyway if requested, then die.
+       * src/symtab.c (bucket_new): Initialize `value' to -1, not 0.
+       * src/reader.c (eoftoken): New.
+       (parse_token_decl): If the token being defined has value `0', it
+       is the eoftoken.
+       (packsymbols): No longer hack `tags' to insert `$' by hand.
+       Be sure to preserve the value of the eoftoken.
+       (reader): Make sure eoftoken is defined.
+       Initialize nsyms to 0: now eoftoken is created just like the others.
+       * src/print.c (print_grammar): Don't special case the eof token.
+       * src/regression.at: Adjust: `$' has value 0, not -1, which was a
+       lie anyway, albeit pleasant.
+       * tests/calc.at: Exercise error messages with eoftoken.
+       Change the grammar so that empty input is invalid.
+       Adjust expectations.
+       When yyungeting, be sure to use a valid yylloc: use last_yylloc.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Check the protos of strchr ans strspn.
+       Replace strchr if needed.
+       * src/system.h: Provide the protos of strchr, strspn and memchr if
+       missing.
+       * lib/strchr.c: New.
+       * src/reader.c (symbols_save): Use strchr.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c, src/print_graph.c (escape): New.
+       Use it to quote the TAGS outputs.
+       * src/print_graph.c (print_state): Now errors are in red, and
+       reductions in green.
+       Prefer high to wide: output the state number on a line of its own.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (reductions_new): New.
+       * src/LR0.c (set_state_table): Let all the states have a
+       `reductions', even if reduced to 0.
+       (save_reductions): Adjust.
+       * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
+       * src/print.c (print_reductions, print_actions): Adjust.
+       * src/output.c (action_row): Adjust.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (errs_new, errs_dup): New.
+       * src/LR0.c (set_state_table): Let all the states have an errs,
+       even if reduced to 0.
+       * src/print.c (print_errs, print_reductions): Adjust.
+       * src/output.c (output_actions, action_row): Adjust.
+       * src/conflicts.c (resolve_sr_conflict): Adjust.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
+       * src/print.c: here.
+       (lookaheadset, shiftset): New, used as additional storage by
+       print_reductions.
+       (print_results): Adjust.
+       (print_shifts, print_gotos, print_errs): New, extracted from...
+       (print_actions): here.
+       * src/print_graph.c (print_actions): Remove dead code.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
+       `$n' and `@n'.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
+       (build_relations): Adjust.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_goto_map): Remove a wrong but benign loop
+       duplication.
+
+       
 2001-12-27  Akim Demaille  <akim@epita.fr>
 
        * src/reader.c (packgram): Catch nitems overflows.