X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/ec2da99ffe7140db191d6683c493ad6936174311..5499894828069a10d90ce4b92325017b7637682e:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 6a336673..a0b80994 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,76 @@ +2001-12-27 Akim Demaille + + * src/output.c (output_gram): Rely on nritems, not the + 0-sentinel. See below. + Use -1 as separator, not 0. + * src/bison.simple (yyparse): Subtract 1 to the rule numbers. + Rely on -1 as separator in yyrhs, instead of 0. + * tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue + twice `Now at end of input', therefore there are two lines less to + expect. + +2001-12-27 Akim Demaille + + * tests/regression.at (Unresolved SR Conflicts): + (Solved SR Conflicts, Rule Line Numbers): Adjust to the changes + below. + +2001-12-27 Akim Demaille + + * src/LR0.c (new_state): Recognize the final state by the fact it + is reached by eoftoken. + (insert_start_shifting_state, insert_eof_shifting_state) + (insert_accepting_state, augment_automaton): Remove, since now + these states are automatically computed from the initial state. + (generate_states): Adjust. + * src/print.c: When reporting a rule number to the user, substract + 1, so that the axiom rule is rule 0, and the first user rule is 1. + * src/reduce.c: Likewise. + * src/print_graph.c (print_core): For the time being, just as for + the report, depend upon --trace-flags to dump the full set of + items. + * src/reader.c (readgram): Once the grammar read, insert the rule + 0: `$axiom: START-SYMBOL $'. + * tests/set.at: Adjust: rule 0 is now displayed, and since the + number of the states has changed (the final state is no longer + necessarily the last), catch up. + +2001-12-27 Akim Demaille + + 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 + + * 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 * configure.in: Check the protos of strchr ans strspn. @@ -7,7 +80,6 @@ * lib/strchr.c: New. * src/reader.c (symbols_save): Use strchr. - 2001-12-27 Akim Demaille * src/print.c, src/print_graph.c (escape): New. @@ -16,7 +88,6 @@ reductions in green. Prefer high to wide: output the state number on a line of its own. - 2001-12-27 Akim Demaille * src/state.h, src/state.c (reductions_new): New. @@ -27,7 +98,6 @@ * src/print.c (print_reductions, print_actions): Adjust. * src/output.c (action_row): Adjust. - 2001-12-27 Akim Demaille * src/state.h, src/state.c (errs_new, errs_dup): New. @@ -37,7 +107,6 @@ * src/output.c (output_actions, action_row): Adjust. * src/conflicts.c (resolve_sr_conflict): Adjust. - 2001-12-27 Akim Demaille * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL. @@ -53,30 +122,25 @@ (print_actions): here. * src/print_graph.c (print_actions): Remove dead code. - 2001-12-27 Akim Demaille * src/reader.c (copy_dollar, copy_at): Better checking of `n' in `$n' and `@n'. - 2001-12-27 Akim Demaille * src/lalr.c (add_lookback_edge): Use state_t instead of ints. (build_relations): Adjust. - 2001-12-27 Akim Demaille * src/lalr.c (set_goto_map): Remove a wrong but benign loop duplication. - 2001-12-27 Akim Demaille * src/reader.c (packgram): Catch nitems overflows. - 2001-12-27 Akim Demaille * src/files.c, src/files.h (guard_obstack): Remove. @@ -87,7 +151,6 @@ As a voluntary consequence, using braces around guards is now mandatory. - 2001-12-27 Akim Demaille * src/gram.h (rule_t): `guard' and `guard_line' are new members. @@ -136,7 +199,6 @@ of a integer, and nlookaheads instead of the following state's lookaheadsp. - 2001-12-27 Akim Demaille * src/conflicts.c (log_resolution, flush_shift) @@ -170,7 +232,6 @@ Use YYNTOKENS only, which is documented, but not YYNTBASE, which is an undocumented synonym. - 2001-12-22 Akim Demaille * src/output.c (output_table_data): Change the prototype to use