Commit Graph

  • 217598dadc In verbose parse error message, don't report `error' as an expected token. * tests/actions.at (Printers and Destructors): Adjust. * tests/calc.at (Calculator $1): Adjust. * data/yacc.c, data/glr.c, data/lalr1.c: When making the verbose error message, do not report the parser accepts the error token in that state. Akim Demaille 2002-07-30 11:56:44 +00:00
  • 52489d4445 Normalize conflict related messages. * src/complain.h, src/complain.c (warn, complain): New. * src/conflicts.c (conflicts_print): Use them. (conflict_report_yacc): New, extracted from... (conflicts_print): here. * tests/conflicts.at, tests/existing.at: Adjust. Akim Demaille 2002-07-30 11:09:59 +00:00
  • e8832397ea Report rules which are never reduced by the parser: those hidden by conflicts. * src/LR0.c (save_reductions): Don't make the final state too different: save its reduction (accept) instead of having a state without any action (no shift or goto, no reduce). Note: the final state is now a `regular'' state, i.e., the parsers now contain reduce 0' as default reduction. Nevertheless, since they decide to `accept' when yystate = final_state, they still will not reduce rule 0. * src/print.c (print_actions, print_reduction): Adjust. * src/output.c (action_row): Track reduced rules. (token_actions): Report rules never reduced. * tests/conflicts.at, tests/regression.at: Adjust. Akim Demaille 2002-07-30 11:06:50 +00:00
  • caf23d249c `stage' was accidently included in a previous patch. Initiate its autoconfiscation. * configure.in: Look for malloc.h and sys/times.h. * src/main.c (stage): Adjust. Report only when trace_flag. Akim Demaille 2002-07-30 08:15:04 +00:00
  • 640748eecf * src/state.h, src/state.c (transitions_t): Holds state_t*'s, not state_number_t. (errs_t): symbol_t*, not symbol_number_t. (reductions_t): rule_t*, not rule_number_t. (FOR_EACH_SHIFT): New. * src/LR0.c, src/conflicts.c, src/lalr.c, src/output.c * src/print.c, src/print_graph.c: Adjust. Akim Demaille 2002-07-29 17:31:46 +00:00
  • 88bce5a2ef Use $accept and $end, as BYacc and BTYacc do, instead of $axiom and $. * src/symtab.h, src/symtab.c (eoftoken, axiom): Rename as... (endtoken, accept): these. * src/reader.c (reader): Set endtoken's default tag to "$end". Set undeftoken's tag to "$undefined" instead of "$undefined.". * doc/bison.texinfo (Table of Symbols): Mention $accept and $end. Adjust. Akim Demaille 2002-07-29 17:30:33 +00:00
  • 1bfb97dba5 * src/reduce.c (reduce_grammar): When the language is empty, complain about the start symbol, not the axiom. Use its location. * tests/reduce.at (Empty Language): New. Akim Demaille 2002-07-29 17:28:56 +00:00
  • fc5734fe23 * src/reader.h, src/reader.c (gram_error): ... can't get yycontrol without making too strong assumptions on the parser itself. * src/output.c (prepare_tokens): Use the real 0th value of token_translations instead of `0'. * src/parse-gram.y (yyerror): Don't rely on yycontrol being visible here. * data/yacc.c (yyreport_parse_error): Rename yylocation as yylloc for the time being: %locations ought to provide it to yyerror. Akim Demaille 2002-07-26 06:25:35 +00:00
  • 3650b4b8dd * src/output.c (prepare_tokens): Go up to ntokens, not ntokens + 1. * doc/bison.texinfo (Decl Summary): s/$illegal/$undefined./. * tests/regression.at (Web2c Actions): Adjust. Akim Demaille 2002-07-26 06:24:11 +00:00
  • 4b3d3a8e46 Stop storing rules from 1 to nrules + 1. * src/LR0.c, src/closure.c, src/derives.c, src/gram.c, src/lalr.c * src/nullable.c, src/output.c, src/print.c, src/reader.c * src/reduce.c: Allocate and free from &rules[0], not &rules[1]. Iterate from 0 to nrules. Use rule_number_as_item_number and item_number_as_rule_number. Adjust to derive' now containing possibly 0. * src/gram.h (rule_number_as_item_number, item_number_as_rule_number): Handle the - 1' part in rule numbers from/to item numbers. * src/conflicts.c (log_resolution): Fix the message which reversed shift and reduce. * src/output.c (action_row): Initialize default_rule to -1. (token_actions): Adjust. * tests/sets.at (Nullable, Firsts): Fix the previously bogus expected output. * tests/conflicts.at (Resolved SR Conflicts): Likewise. Akim Demaille 2002-07-25 21:21:02 +00:00
  • 4a2a22f4c0 * data/c.m4 (b4_c_function, b4_c_ansi_args, b4_c_ansi_arg) (b4_c_knr_arg_names, b4_c_knr_arg_name, b4_c_knr_arg_decls) (b4_c_knr_arg_decl): New. * data/yacc.c: Use it to define yysymprint, yydestruct, and yyreport_parse_error. Akim Demaille 2002-07-25 19:34:54 +00:00
  • b8df32232a * data/yacc.c (yyreport_parse_error): New, extracted from... (yyparse): here. (yydestruct, yysymprint): Move above yyparse. Be K&R compliant. Akim Demaille 2002-07-25 19:33:36 +00:00
  • a762e609e7 * data/c.m4 (b4_ints_in, b4_int_type, b4_int_type_for): New, replace... (b4_sint_type, b4_uint_type): these. * data/yacc.c, data/glr.c, data/lalr1.cc: Use b4_int_type_for. * tests/regression.at (Web2c Actions): Adjust. Akim Demaille 2002-07-25 17:32:34 +00:00
  • 12b0043a6d * src/gram.h (TIEM_NUMBER_MAX): New. (item_number_of_rule_number, rule_number_of_item_number): Rename as... (rule_number_as_item_number, item_number_as_rule_number): these. Adjust dependencies. * src/output.c (vector_number_t, VECTOR_NUMBER_MAX) (VECTOR_NUMBER_MIN, state_number_to_vector_number) (symbol_number_to_vector_number): New. (order): Of vector_number_t* type. (base_t, BASE_MAX, BASE_MIN): New. (froms, tos, width, pos, check): Of base_t type. (action_number_t, ACTION_MIN, ACTION_MAX): New. (actrow): Of action_number_t type. (conflrow): Of unsigned int type. (table_ninf, base_ninf): New. (GENERATE_MUSCLE_INSERT_TABLE): Also output the *_min' value. (muscle_insert_int_table, muscle_insert_base_table) (muscle_insert_rule_number_table): New. (prepare_tokens): Output toknum' as int_table. (action_row): Returns a rule_number_t. Use ACTION_MIN, not SHRT_MIN. (token_actions): yydefact is rule_number_t*. (table_ninf_remap): New. (pack_table): Use it for base' and table'. * data/yacc.c, data/glr.c, data/lalr1.cc (YYFLAG): Remove, replaced with... (YYPACT_NINF, YYTABLE_NINF): these. (yypact, yytable): Compute their types instead of hard-coded `short'. * tests/regression.at (Web2c Actions): Adjust. Akim Demaille 2002-07-25 17:30:44 +00:00
  • 5dde258a9e * src/scan-gram.l (id): Can start with an underscore. Akim Demaille 2002-07-19 08:31:32 +00:00
  • a945ec3929 * src/assoc.c, src/asssoc.h (assoc_t, assoc_to_string): New. Adjust all former associativity' dependencies. * src/symtab.c (symbol_new): Default associativity is undef', not `right'. (symbol_check_alias_consistence): Adjust. Akim Demaille 2002-07-16 14:04:06 +00:00
  • 7601152fab Fix dates in copyright notice. Paul Eggert 2002-07-10 06:24:51 +00:00
  • fae437e835 * doc/bison.texinfo: Properly set the `header'' part. Use @dircategory `GNU programming tools'' as per Texinfo's documentation. Use @copying. Akim Demaille 2002-07-09 17:01:42 +00:00
  • 1a715ef2fc * lib/quotearg.h: Protect against multiple inclusions. * src/location.h (location_t): Add a file' member. (LOCATION_RESET, LOCATION_PRINT): Adjust. * src/complain.c (warn_at, complain_at, fatal_at): Drop error_one_per_line' support. Akim Demaille 2002-07-09 16:24:57 +00:00
  • a5d5099417 * src/complain.h, src/complain.c (warn, complain): Remove, unused. * src/reader.c (lineno): Remove. Adjust all dependencies. (get_merge_function): Take a location and use complain_at. * src/symtab.h, src/symtab.c (symbol_make_alias): Likewise. * tests/regression.at (Invalid inputs, Mixing %token styles): Adjust. Akim Demaille 2002-07-09 15:54:39 +00:00
  • b275314e2d * src/parse-gram.y (rules_or_grammar_declaration): Add an error recovery rule, and forbid extensions when --yacc. (gram_error): Use complain_at. * src/reader.c (reader): Exit if there were parse errors. Akim Demaille 2002-07-09 14:48:01 +00:00
  • c5f5043618 Regen. Akim Demaille 2002-07-09 13:05:22 +00:00
  • 2ab9a04ffc Update. Akim Demaille 2002-07-09 10:41:44 +00:00
  • 865b9df14c * tests/synclines.at (AT_SYNCLINES_COMPILE): New. (AT_TEST_SYNCLINE): Adjust to unusual GCC outputs. Reported by R Blake <[email protected]>. Akim Demaille 2002-07-09 10:06:20 +00:00
  • c76e14da4b * data/yacc.c: Output the copyright notive in the header. Akim Demaille 2002-07-09 09:43:22 +00:00
  • 7db2ed2d82 * src/output.c (froms, tos): Are state_number_t. (save_column): sp, sp1, and sp2 are state_number_t. (prepare): Rename final' as final_state_number', nnts' as nterms_number', nrules' as rules_number', nstates' as states_number', and ntokens' as tokens_number'. Remove `nsym', unused. * data/yacc.c, data/glr.c, data/lalr1.cc: Adjust. * data/lalr1.cc (nsym_): Remove, unused. Akim Demaille 2002-07-03 12:51:30 +00:00
  • 3a9e26be57 Regen. Akim Demaille 2002-07-03 12:50:58 +00:00
  • e68e0410ab * src/lalr.h, src/lalr.c (goto_number_t): New. * src/lalr.c (goto_list_t): New. Propagate them. * src/nullable.c (rule_list_t): New. Propagate. * src/types.h: Remove. Akim Demaille 2002-07-03 10:54:33 +00:00
  • e1a4f3a428 * src/closure.c (print_fderives): Use rule_rhs_print. * src/derives.c (print_derives): Use rule_rhs_print. (rule_list_t): New, replaces `shorts'. (set_derives): Add comments. * tests/sets.at (Nullable, Firsts): Adjust. Akim Demaille 2002-07-03 10:36:38 +00:00
  • 536545f3a4 * src/output.c (prepare_actions): Free tally' and width'. (prepare_actions): Allocate and free order'. * src/symtab.c (symbols_free): Free symbols'. * src/scan-gram.l (scanner_free): Clear Flex's scanners memory. * src/output.c (m4_invoke): Move to... * src/scan-skel.l: here. (<<EOF>>): Close yyout, and free its name. Akim Demaille 2002-07-03 06:52:02 +00:00
  • 8b752b00fd Fix some memory leaks, and fix a bug: state 0 was examined twice. * src/LR0.c (new_state): Merge into... (state_list_append): this. (new_states): Merge into... (generate_states): here. (set_states): Don't ensure a proper errs' state member here, do it... * src/conflicts.c (conflicts_solve): here. * src/state.h, src/state.c: Comment changes. (state_t): Rename member shifts' as transitions'. Adjust all dependencies. (errs_new): For consistency, also take the values as argument. (errs_dup): Remove. (state_errs_set): New. (state_reductions_set, state_transitions_set): Assert that no previous value was assigned. (state_free): New. (states_free): Use it. * src/conflicts.c (resolve_sr_conflict): Don't use an errs_t' as temporary storage: use errs' and nerrs' as elsewhere. (set_conflicts): Allocate and free this `errs'. Akim Demaille 2002-07-03 06:51:43 +00:00
  • 613f5e1a89 * lib/libiberty.h: New. * lib: Update the bitset implementation from upstream. * src/closure.c, src/lalr.c, src/output.c, src/print_graph.c, * src/state.c: Use BITSET_FOR_EACH, not BITSET_EXECUTE. * src/main.c: Adjust bitset stats calls. Akim Demaille 2002-07-02 13:51:27 +00:00
  • 524346a3a3 Regen. Akim Demaille 2002-07-02 11:39:04 +00:00
  • 26e0cadc37 * src/scan-gram.l (<SC_ESCAPED_CHARACTER>): Convert to unsigned char, so that negative chars don't collide with $. Paul Eggert 2002-07-01 08:37:14 +00:00
  • e68d4575b3 (<SC_ESCAPED_CHARACTER>): Convert to unsigned char, so that negative chars don't collide with $. Paul Eggert 2002-07-01 08:36:37 +00:00
  • bb3f671805 Typo. Akim Demaille 2002-06-30 17:43:22 +00:00
  • 88e7e94146 Regen. Akim Demaille 2002-06-30 17:37:38 +00:00
  • 1154ccedaf Have the GLR tests be warning' checked, and fix the warnings. * data/glr.c (YYFPRINTF): Always define it, not only when YYDEBUG (yyuserAction, yyreportAmbiguity): Use' all the arguments. (yyremoveDeletes): yyi' and yyj' are size_t. Use YYFPRINTF when under if (YYDEBUG) to avoid empty if' bodies. (yyaddDeferredAction): static. (yyglrReduce): yyi, yyk, amd yyposn are size_t. (yyreportParseError): yyprefix is const. yytokenp is used only when verbose. (yy__GNUC__): Replace with __GNUC__. (yypdumpstack): yyi is size_t. (yypreference): Un-yy local variables and arguments, to avoid clashes with yyr1'. Anyway, we are not in the user name space. (yytname_size): be an int, as is compared with ints. * tests/testsuite.at (AT_COMPILE, AT_PARSER_CHECK): New. Use them. * tests/cxx-gram.at: Use quotation to protect $1. Use AT_COMPILE to enable warnings hunts. Prototype yylex and yyerror. Use' argc. Include string.h', not `strings.h'. Produce and prototype stmtMerge only when used. yylex takes a location. Akim Demaille 2002-06-30 17:35:06 +00:00
  • 97650f4efc We spend a lot of time in quotearg, in particular when --verbose. * src/symtab.c (symbol_get): Store a quoted version of the key. (symbol_tag_get, symbol_tag_get_n, symbol_tag_print): Remove. Adjust all callers. Akim Demaille 2002-06-30 17:34:52 +00:00
  • d257636504 * src/state.h (reductions_t): Rename member nreds' as num. (errs_t): Rename members nerrs' and errs' as num' and `symbols'. * src/state.c (ERRS_ALLOC, REDUCTIONS_ALLOC): Use the correct types. Akim Demaille 2002-06-30 17:34:31 +00:00
  • ccaf65bc63 * src/state.h, src/state.c (shift_t, SHIFT_SYMBOL, SHIFT_IS_SHIFT) (SHIFT_IS_GOTO, SHIFT_IS_ERROR, SHIFT_DISABLE, SHIFT_IS_DISABLED) (shifts_to): Rename as... (transition_t, TRANSITION_SYMBOL, TRANSITION_IS_TRANSITION) (TRANSITION_IS_GOTO, TRANSITION_IS_ERROR, TRANSITION_DISABLE) (TRANSITION_IS_DISABLED, transitions_to): these. Akim Demaille 2002-06-30 17:33:37 +00:00
  • 87675353bf * src/print.c (print_shifts, print_gotos): Merge into... (print_transitions): this. (print_transitions, print_errs, print_reductions): Align the lookaheads columns. (print_core, print_transitions, print_errs, print_state, print_grammar): Output empty lines separator before, not after. (state_default_rule_compute): Rename as... (state_default_rule): this. * tests/conflicts.at (Defaulted Conflicted Reduction), (Unresolved SR Conflicts, Resolved SR Conflicts): Adjust. * tests/regression.at (Rule Line Numbers, Web2c Report): Adjust. Akim Demaille 2002-06-30 17:33:20 +00:00
  • ce4ccb4b11 Display items as we display rules. * src/gram.h, src/gram.c (rule_lhs_print): New. * src/gram.c (grammar_rules_partial_print): Use it. * src/print.c (print_core): Likewise. * tests/conflicts.at (Defaulted Conflicted Reduction), (Unresolved SR Conflicts): Adjust. (Unresolved SR Conflicts): Adjust and rename as... (Resolved SR Conflicts): this, as was meant. * tests/regression.at (Web2c Report): Adjust. Akim Demaille 2002-06-30 17:33:08 +00:00
  • bc933ef16d * src/print.c (state_default_rule_compute): New, extracted from... (print_reductions): here. Pessimize, but clarify the code. * tests/conflicts.at (Defaulted Conflicted Reduction): New. Akim Demaille 2002-06-30 17:32:47 +00:00
  • 53d4308dbb * src/output.c (action_row): Let default_rule be always a rule number. Akim Demaille 2002-06-30 17:32:35 +00:00
  • 574fb2d568 * src/closure.c (print_firsts, print_fderives, closure): Use BITSET_EXECUTE. * src/lalr.c (lookaheads_print): Likewise. * src/state.c (state_rule_lookaheads_print): Likewise. * src/print_graph.c (print_core): Likewise. * src/print.c (print_reductions): Likewise. * src/output.c (action_row): Likewise. Use SHIFT_IS_DISABLED, SHIFT_IS_SHIFT and SHIFT_SYMBOL. Akim Demaille 2002-06-30 17:32:17 +00:00
  • 05811fd755 * src/print_graph.c: Use report_flag. Akim Demaille 2002-06-30 17:32:02 +00:00
  • 0e4d575330 * src/lalr.c (traverse, digraph, matrix_print, transpose): Move to... * src/relation.h, src/relation.c (traverse, relation_digraph) (relation_print, relation_transpose): New. Akim Demaille 2002-06-30 17:31:51 +00:00
  • 24c7d80020 * src/state.h, src/state.c (shifts_to): New. * src/lalr.c (build_relations): Use it. Akim Demaille 2002-06-30 17:31:37 +00:00
  • 9222837b27 * src/gram.h (rule_number_t, RULE_NUMBER_MAX, int_of_rule_number) (item_number_of_rule_number, rule_number_of_item_number): New. * src/LR0.c, src/closure.c, src/derives.c, src/derives.h, * src/gram.c, src/lalr.c, src/nullable.c, src/output.c, src/print.c, * src/print_graph.c, src/reader.c, src/reduce.c, src/reduce.h: Propagate their use. Much remains to be done, in particular wrt `shorts' from types.h. Akim Demaille 2002-06-30 17:31:19 +00:00
  • 260008e546 * src/symtab.c (symbol_new): Initialize the `printer' member. Akim Demaille 2002-06-30 17:30:58 +00:00
  • 8a731ca829 * src/LR0.c (save_reductions): Remove, replaced by... * src/state.h, src/state.c (state_reductions_set): New. (reductions, errs): Rename as... (reductions_t, errs_t): these. Adjust all dependencies. Akim Demaille 2002-06-30 17:30:46 +00:00
  • 32e1e0a486 * src/LR0.c (state_list_t, state_list_append): New. (first_state, last_state): Now symbol_list_t. (this_state): Remove. (new_itemsets, append_states, save_reductions): Take a state_t as argument. (set_states, generate_states): Adjust. (save_shifts): Remove, replaced by... * src/state.h, src/state.c (state_shifts_set): New. (shifts): Rename as... (shifts_t): this. Adjust all dependencies. * src/state.h (state_t): Remove the `next' member. Akim Demaille 2002-06-30 17:30:29 +00:00
  • e5fb671032 * src/vcg.c (quote): Use slot 2, since we often pass symbol tag escaped in slot 0. Akim Demaille 2002-06-30 17:30:09 +00:00
  • c7ca99d4b0 Use hash.h for the state hash table. * src/LR0.c (STATE_HASH_SIZE, state_hash): Remove. (allocate_storage): Use state_hash_new. (free_storage): Use state_hash_free. (new_state, get_state): Adjust. * src/lalr.h, src/lalr.c (states): Move to... * src/states.h (state_t): Remove the link' member, no longer used. * src/states.h, src/states.c: here. (state_hash_new, state_hash_free, state_hash_lookup) (state_hash_insert, states_free): New. * src/states.c (state_table, state_compare, state_hash): New. * src/output.c (output_actions): Do not free states now, since we still need to know the final_state number in prepare', called afterwards. Do it... * src/main.c (main): here: call states_free after `output'. Akim Demaille 2002-06-30 17:29:36 +00:00
  • df0e7316a9 * src/state.h, src/state.c (state_new): New, extracted from... * src/LR0.c (new_state): here. * src/state.h (STATE_ALLOC): Move to... * src/state.c: here. * src/LR0.h, src/LR0.c (nstates, final_state): Move to... * src/state.h, src/state.c: here. Akim Demaille 2002-06-30 17:28:44 +00:00
  • 39f4191608 * src/reader.c (gensym): Rename as... * src/symtab.h, src/symtab.c (dummy_symbol_get): this. (getsym): Rename as... (symbol_get): this. Akim Demaille 2002-06-30 17:27:57 +00:00
  • d57650a5ff * src/state.h (state_number_t, STATE_NUMBER_MAX): New. * src/LR0.c, src/LR0.h, src/conflicts.c, src/lalr.c, src/lalr.h, * src/output.c, src/print.c, src/print_graph.c: Propagate. * src/LR0.h, src/LR0.h (final_state): Is a state_t*. Akim Demaille 2002-06-30 17:27:34 +00:00
  • 5a08f1ce21 Make the test suite pass with warnings checked. * tests/actions.at (Printers and Destructors): Improve. Avoid unsigned vs. signed issues. * tests/calc.at: Don't exercise the scanner here, do it... * tests/input.at (Torturing the Scanner): here. Akim Demaille 2002-06-30 17:27:14 +00:00
  • 720623af84 * data/glr.c: Correct typo in Emacs-mode directive. Slightly reorganize first lines parallel to yacc.c. Paul Hilfinger 2002-06-28 22:42:58 +00:00
  • fb8135fa99 * data/c.m4 (b4_copyright, b4_sint_type, b4_uint_type, b4_token_define) (b4_token_enum, b4_token_defines): New, factored from... * data/lalr1.cc, data/yacc.c, glr.c: here. Akim Demaille 2002-06-28 17:27:29 +00:00
  • 4fa887b790 regen. Akim Demaille 2002-06-28 17:12:10 +00:00
  • 4144248075 * data/yacc.c (yydestruct, yysymprint): Pacify GCC warnings for unused variables. * src/output.c (merger_output): static. Akim Demaille 2002-06-28 09:05:11 +00:00
  • e0e5bf84b0 * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../. * src/conflicts.c (conflicts_total_count): `i' is unsigned, to pacify GCC. * src/output.c (save_row): Initialize all the variables to pacify GCC. (merger_output): static. Akim Demaille 2002-06-28 08:41:45 +00:00
  • b5480d74b8 Fix small formatting glitch. Paul Hilfinger 2002-06-28 02:47:14 +00:00
  • 676385e29c Initial check-in introducing experimental GLR parsing. See entry in ChangeLog dated 2002-06-27 from Paul Hilfinger for details. Paul Hilfinger 2002-06-28 02:26:44 +00:00
  • 01241d47b4 Renamed file from bison.glr. Paul Hilfinger 2002-06-28 01:51:33 +00:00
  • ba29c4ec25 Renaming file to glr.c. Paul Hilfinger 2002-06-28 01:50:29 +00:00
  • e2aaf4c4f9 * src/options.h, src/options.c: Remove. * src/getargs.c (short_options, long_options): New. Akim Demaille 2002-06-27 12:19:20 +00:00
  • 7cca31a2f2 Update. Akim Demaille 2002-06-27 12:18:03 +00:00
  • 60491a948b * data/bison.simple, data/bison.c++: Rename as... * data/yacc.c, data/lalr1.cc: these. * doc/bison.texinfo (Environment Variables): Remove. Akim Demaille 2002-06-27 12:08:20 +00:00
  • 2a10b47aaf Update. Akim Demaille 2002-06-27 11:56:03 +00:00
  • 12bebc0445 New file: Tests for GLR parsing. Paul Hilfinger 2002-06-26 22:52:27 +00:00
  • febef6caec New file: skeleton for GLR (Generalized LR) parser. Paul Hilfinger 2002-06-26 22:51:51 +00:00
  • 9be0c25bf0 * src/getargs.c (report_argmatch): Initialize strtok(). Akim Demaille 2002-06-25 12:05:38 +00:00
  • 976e627098 Update. Akim Demaille 2002-06-20 12:23:54 +00:00
  • 3424c3868f Update. Akim Demaille 2002-06-20 12:19:42 +00:00
  • 1ae7286376 * data/bison.simple (b4_symbol_actions): New, replaces... (b4_symbol_destructor, b4_symbol_printer): these. (yysymprint): Be sure to call YYPRINT only for tokens, and using user token numbers. Akim Demaille 2002-06-20 11:46:59 +00:00
  • 87542d29a5 * data/bison.simple (yydestructor): Rename as... (yydestruct): this. Akim Demaille 2002-06-20 11:28:33 +00:00
  • 1a31ed21b1 * src/symtab.h, src/symtab.c (symbol_type_set) (symbol_destructor_set, symbol_precedence_set): The location is the last argument. Adjust all callers. Akim Demaille 2002-06-20 11:20:25 +00:00
  • e776192e4f * src/parse-gram.y (YYPRINT, yyprint): Don't mess with the parser internals. * src/reader.h, src/reader.c (grammar_current_rule_prec_set): Takes a location. * src/symtab.h, src/symtab.c (symbol_class_set) (symbol_user_token_number_set): Likewise. Adjust all callers. Promote complain_at. * tests/input.at (Type Clashes): Adjust. Akim Demaille 2002-06-20 11:10:56 +00:00
  • 5c1180b3c4 * data/bison.simple (YYLEX): Fix the declaration when %pure-parser. Akim Demaille 2002-06-20 10:29:27 +00:00
  • e317006080 * 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. Akim Demaille 2002-06-20 09:47:44 +00:00
  • 253862fd4c * data/bison.simple (YYDSYMPRINT): New. Use it to remove many of the #if YYDEBUG/if (yydebug). Akim Demaille 2002-06-20 09:22:56 +00:00
  • 366eea36d3 * 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!). Akim Demaille 2002-06-20 09:08:37 +00:00
  • 1ce5149ac8 Regen. Akim Demaille 2002-06-20 09:05:10 +00:00
  • 4f25ebb043 * src/scan-gram.l: Complete the scanner with the missing patterns to pacify Flex. Use quote' and symbol_tag_get' where appropriate. Akim Demaille 2002-06-20 07:19:13 +00:00
  • 93b68a0e09 * 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. Akim Demaille 2002-06-19 12:03:22 +00:00
  • 7431029172 * data/bison.simple (b4_pure_if): New. Use it instead of #ifdef YYPURE. Akim Demaille 2002-06-19 10:00:24 +00:00
  • 58612f1de0 * data/bison.simple (m4_location_if): New. Use it instead of #ifdef YYLSP_NEEDED. Akim Demaille 2002-06-19 09:07:36 +00:00
  • 02097d3eab Regen. Akim Demaille 2002-06-19 09:02:43 +00:00
  • f25bfb75aa 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. Akim Demaille 2002-06-19 08:22:49 +00:00
  • c732d2c6dc * doc/bison.texinfo: Document ability to have multiple prologue sections. Akim Demaille 2002-06-19 07:46:11 +00:00
  • 8c165d891d * src/files.c (compute_base_names): When computing the output file names from the input file name, strip the directory part. Akim Demaille 2002-06-18 12:39:54 +00:00
  • ca98bf5758 * data/bison.simple.new: Comment changes. Reported by Andreas Schwab. Akim Demaille 2002-06-18 11:37:20 +00:00
  • 0bfb02fff7 * data/bison.simple (yyoverflowlab): #ifndef yyoverflow, so that there are no label yyoverflowlab' defined but not used' warnings when yyoverflow is defined. Akim Demaille 2002-06-18 10:00:36 +00:00
  • 24c0aad7e7 * 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. Akim Demaille 2002-06-18 09:55:35 +00:00
  • 5719c1092f and Akim Demaille <[email protected]> * 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. Akim Demaille 2002-06-18 09:12:58 +00:00
  • 271efced67 Update. Akim Demaille 2002-06-17 18:04:11 +00:00
  • abd741b1f6 Regen. Akim Demaille 2002-06-17 08:44:05 +00:00