Commit Graph

  • 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 <blakers@mac.com>. 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 <akim@epita.fr> * 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
  • 9280d3ef89 * 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. Akim Demaille 2002-06-17 08:43:12 +00:00
  • dafdc66ff0 * 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. Akim Demaille 2002-06-17 07:05:12 +00:00
  • 56c4720342 * 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. Akim Demaille 2002-06-17 07:04:49 +00:00
  • 1e0bab9276 * 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. Akim Demaille 2002-06-17 07:04:24 +00:00
  • 74886d31e7 Regen. Akim Demaille 2002-06-15 18:27:15 +00:00
  • 04e6065479 * src/parse-gram.y: Move %token in the declaration section so that we don't depend upon CVS Bison. Akim Demaille 2002-06-15 18:26:45 +00:00
  • 10e5b8bd0a * src/state.h, src/state.c (state_rule_lookaheads_print): New. * src/print.c (print_core): Use it. Akim Demaille 2002-06-15 18:24:25 +00:00
  • 9801d40c50 * src/conflicts.c (log_resolution): Accept the rule involved in the sr conflicts instead of the lookahead number that points to that rule. (flush_reduce): Accept the current lookahead vector as argument, instead of the index in LA. (resolve_sr_conflict): Accept the current number of lookahead bitset to consider for the STATE, instead of the index in LA. (set_conflicts): Adjust. * src/lalr.c, src/lalr.h, src/state.h: Comment changes. Akim Demaille 2002-06-15 18:24:08 +00:00
  • c026349221 * src/state.h (state_t): Replace the lookaheadsp' member, a short, with lookaheads' (bitsetv), `lookaheads_rule' (rule_t**). Adjust all dependencies. * src/lalr.c (initialize_lookaheads): Split into... (states_lookaheads_count, states_lookaheads_initialize): these. (lalr): Adjust. Akim Demaille 2002-06-15 18:23:50 +00:00
  • 9757c359ef * src/gram.h, src/gram.c (grammar_rules_partial_print): New, eved out of... (grammar_rules_print): here. * src/reduce.c (reduce_output): Use it. * tests/reduce.at (Useless Rules, Reduced Automaton) (Underivable Rules): Adjust. Akim Demaille 2002-06-15 18:23:33 +00:00
  • 6b98e4b563 Copy BYacc's nice way to report the grammar. * src/gram.h, src/gram.c (grammar_rhs_print, grammar_rules_print): New. Don't print the rules' location, it is confusing and useless. (rule_print): Use grammar_rhs_print. * src/print.c (print_grammar): Use grammar_rules_print. Akim Demaille 2002-06-15 18:23:12 +00:00