X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/9801d40c506b718971aed52c44975c7951bcb3bc..e317006080af0dcd45a78af6fb365a67f71daf82:/ChangeLog?ds=sidebyside diff --git a/ChangeLog b/ChangeLog index b61837f5..4a48d21e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,177 @@ +2002-06-20 Akim Demaille + + * data/bison.simple (yysymprint): Don't print the token number, + just its name. + * tests/actions.at (Destructors): Rename as... + (Printers and Destructors): this. + Also exercise %printer. + +2002-06-20 Akim Demaille + + * data/bison.simple (YYDSYMPRINT): New. + Use it to remove many of the #if YYDEBUG/if (yydebug). + +2002-06-20 Akim Demaille + + * src/symtab.h, src/symtab.c (symbol_t): printer and + printer_location are new members. + (symbol_printer_set): New. + * src/parse-gram.y (PERCENT_PRINTER): New token. + Handle its associated rule. + * src/scan-gram.l: Adjust. + (handle_destructor_at, handle_destructor_dollar): Rename as... + (handle_symbol_code_at, handle_symbol_code_dollar): these. + * src/output.c (symbol_printers_output): New. + (output_skeleton): Call it. + * data/bison.simple (yysymprint): New. Cannot be named yyprint + since there are already many grammar files with a user `yyprint'. + Replace the calls to YYPRINT to calls to yysymprint. + * tests/calc.at: Adjust. + * tests/torture.at (AT_DATA_STACK_TORTURE): Remove YYPRINT: it was + taking advantage of parser very internal details (stack size!). + +2002-06-20 Akim Demaille + + * src/scan-gram.l: Complete the scanner with the missing patterns + to pacify Flex. + Use `quote' and `symbol_tag_get' where appropriate. + +2002-06-19 Akim Demaille + + * tests/actions.at (Destructors): Augment to test locations. + * data/bison.simple (yydestructor): Pass it the current location + if locations are enabled. + Prototype only when __STDC__ or C++. + Change the argument names to move into the yy name space: there is + user code here. + +2002-06-19 Akim Demaille + + * data/bison.simple (b4_pure_if): New. + Use it instead of #ifdef YYPURE. + +2002-06-19 Akim Demaille + + * data/bison.simple (b4_location_if): New. + Use it instead of #ifdef YYLSP_NEEDED. + +2002-06-19 Akim Demaille + + Prepare @$ in %destructor, but currently don't bind it in the + skeleton, as %location use is not cleaned up yet. + + * src/scan-gram.l (handle_dollar, handle_destructor_at) + (handle_action_at): New. + (handle_at, handle_action_dollar, handle_destructor_dollar): Take + a braced_code_t and a location as additional arguments. + (handle_destructor_dollar): Instead of requiring `b4_eval', just + unquote one when outputting `b4_dollar_dollar'. + Adjust callers. + * data/bison.simple (b4_eval): Remove. + (b4_symbol_destructor): Adjust. + * tests/input.at (Invalid @n): Adjust. + +2002-06-19 Zack Weinberg + + * doc/bison.texinfo: Document ability to have multiple + prologue sections. + +2002-06-18 Akim Demaille + + * src/files.c (compute_base_names): When computing the output file + names from the input file name, strip the directory part. + +2002-06-18 Akim Demaille + + * data/bison.simple.new: Comment changes. + Reported by Andreas Schwab. + +2002-06-18 Matt Kraai + + * data/bison.simple (yyoverflowlab): #ifndef yyoverflow, so that + there are no `label `yyoverflowlab' defined but not used' warnings + when yyoverflow is defined. + +2002-06-18 Akim Demaille + + * 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 + and Akim Demaille + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/parse-gram.y: Move %token in the declaration section so that + we don't depend upon CVS Bison. + +2002-06-15 Akim Demaille + + * src/state.h, src/state.c (state_rule_lookaheads_print): New. + * src/print.c (print_core): Use it. + 2002-06-15 Akim Demaille * src/conflicts.c (log_resolution): Accept the rule involved in @@ -10,7 +184,6 @@ (set_conflicts): Adjust. * src/lalr.c, src/lalr.h, src/state.h: Comment changes. - 2002-06-15 Akim Demaille * src/state.h (state_t): Replace the `lookaheadsp' member, a @@ -20,7 +193,6 @@ (states_lookaheads_count, states_lookaheads_initialize): these. (lalr): Adjust. - 2002-06-15 Akim Demaille * src/gram.h, src/gram.c (grammar_rules_partial_print): New, eved @@ -30,7 +202,6 @@ * tests/reduce.at (Useless Rules, Reduced Automaton) (Underivable Rules): Adjust. - 2002-06-15 Akim Demaille Copy BYacc's nice way to report the grammar. @@ -41,7 +212,6 @@ (rule_print): Use grammar_rhs_print. * src/print.c (print_grammar): Use grammar_rules_print. - 2002-06-15 Akim Demaille Complete and rationalize `useless thing' warnings. @@ -61,7 +231,6 @@ * tests/conflicts.at (Unresolved SR Conflicts) (Solved SR Conflicts): Adjust. - 2002-06-15 Akim Demaille Let symbols have a location. @@ -95,7 +264,6 @@ * tests/regression.at (Web2c Report, Rule Line Numbers): Adjust the line numbers. - 2002-06-14 Akim Demaille Grammar declarations may be found in the grammar section.