]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* src/conflicts.c, src/conflicts.h (print_reductions): Move to...
[bison.git] / ChangeLog
index a10936f6dcd9a7aac40537be3190b781a49d5c07..2107266f5ba4cce8cce773fb37056b8b4b7dd2ef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,149 @@
+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.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c, src/files.h (guard_obstack): Remove.
+       * src/output.c (output): Adjust.
+       * src/reader.c (parse_braces): New, factoring...
+       (copy_action, copy_guard): these two which are renamed as...
+       (parse_action, parse_guard): these.
+       As a voluntary consequence, using braces around guards is now
+       mandatory.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_t): `guard' and `guard_line' are new members.
+       * src/reader.c (symbol_list): `guard' and `guard_line' are new
+       members.
+       (symbol_list_new): Adjust.
+       (copy_action): action_line is the first line, not the last.
+       (copy_guard): Just as for actions, store the `action' only, not
+       the switch/case/break flesh.
+       Don't parse the user action that might follow the guard, let...
+       (readgram): do it, i.e., now, there can be an action after a
+       guard.
+       In other words the guard is just explicitly optional.
+       (packgram): Adjust.
+       * src/output.c (guards_output): New.
+       (output_parser): Call it when needed.
+       (output): Also free the guard and attrs obstacks.
+       * src/files.c, src/files.h (obstack_save): Remove.
+       (output_files): Remove.
+       As a result, if one needs the former `.act' file, using an
+       appropriate skeleton which requires actions and guards is now
+       required.
+       * src/main.c (main): Adjust.
+       * tests/semantic.at: New.
+       * tests/regression.at: Use `input.y' as input file name.
+       Avoid 8+3 problems by requiring input.c when the test needs the
+       parser.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (symbol_list_new): Be sure to initialize all the
+       fields.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       All the hacks using a final pseudo state are now useless.
+
+       * src/LR0.c (set_state_table): state_table holds exactly nstates.
+       * src/lalr.c (nLA): New.
+       (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
+       instead of lookaheadsp from the pseudo state (nstate + 1).
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (action_row, token_actions): Use a state_t instead
+       of a integer, and nlookaheads instead of the following state's
+       lookaheadsp.
+
+       
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (log_resolution, flush_shift)
+       (resolve_sr_conflict, set_conflicts, solve_conflicts)
+       (count_sr_conflicts, count_rr_conflicts, conflicts_output)
+       (conflicts_print, print_reductions): Use a state_t instead of an
+       integer when referring to a state.
+       As much as possible, depend upon nlookaheads, instead of the
+       `lookaheadsp' member of the following state (since lookaheads of
+       successive states are successive, the difference between state n + 1
+       and n served as the number of lookaheads for state n).
+       * src/lalr.c (add_lookback_edge): Likewise.
+       * src/print.c (print_core, print_actions, print_state)
+       (print_results): Likewise.
+       * src/print_graph.c (print_core, print_actions, print_state)
+       (print_graph): Likewise.
+       * src/conflicts.h: Adjust.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.hairy: Formatting/comment changes.
+       ANSIfy.
+       Remove `register' indications.
+       Add plenty of `static'.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare): Drop the muscle `ntbase' which
+       duplicates ntokens.
+       * src/bison.simple: Formatting/comment changes.
+       Use YYNTOKENS only, which is documented, but not YYNTBASE, which
+       is an undocumented synonym.
+
+       
+2001-12-22  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_table_data): Change the prototype to use
+       `int' for array ranges: some invocations do pass an int, not a
+       short.
+       Reported by Wayne Green.
+
+2001-12-22  Akim Demaille  <akim@epita.fr>
+
+       Some actions of web2c.y are improperly triggered.
+       Reported by Mike Castle.
+
+       * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
+       * tests/regression.at (Web2c): Rename as...
+       (Web2c Report): this.
+       (Web2c Actions): New.
+
 2001-12-22  Akim Demaille  <akim@epita.fr>
 
        Reductions in web2c.y are improperly reported.