Commit Graph

  • 3460813bdb Bison is dead wrong in its RR conflict reports. * tests/torture.at (GNU Cim Grammar): New. * src/conflicts.c (count_rr_conflicts): Fix. Akim Demaille 2002-01-06 20:49:53 +00:00
  • 73784c645d Creating package.m4 from configure.ac causes too many problems. * tests/Makefile.am (package.m4): Create it by hand, AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf. Akim Demaille 2002-01-06 20:49:40 +00:00
  • 25d810906c * src/Makefile.am (bison_SOURCES): Add parse-skel.h and skeleton.h. Akim Demaille 2002-01-06 20:49:27 +00:00
  • a9b8959efa * doc/bison.texinfo (Debugging): Remove YYSTDERR; it's no longer defined or used. Also, s/cstdio.h/cstdio/. Paul Eggert 2002-01-05 01:26:32 +00:00
  • e2742e46ba (Debugging): Remove YYSTDERR; it's no longer defined or used. Also, s/cstdio.h/cstdio/. Paul Eggert 2002-01-05 01:25:38 +00:00
  • a22d7bd8d6 * doc/bison.texinfo (Debugging): Remove YYSTDERR; it's no longer defined or used. Also, s/cstdio.h/cstdio/. Paul Eggert 2002-01-05 01:20:57 +00:00
  • f36280e16e (Debugging): Remove YYSTDERR; it's no longer defined or used. Also, s/cstdio.h/cstdio/. Paul Eggert 2002-01-05 01:18:26 +00:00
  • 38612b10a3 * src/files.h: Add it prototype. Akim Demaille 2002-01-03 13:55:09 +00:00
  • ffc03584ad * src/files.c, src/files.h (strsuffix): Not static. * src/conflicts.c (conflicts_print): Don't consider it is an error to have a %expectation violation on a file ending by `plural.y'. Eek. Akim Demaille 2002-01-03 13:39:20 +00:00
  • dd3c3f3006 * tests/bison.in: Adjust to CVS Autoconf. * tests/calc.at (exp): We no longer need to special case GCC as the warning flags are passed by configure. * tests/atlocal.in: Adjust. * configure.in: Bump to 1.30j. Akim Demaille 2002-01-03 11:10:50 +00:00
  • f1d93aa21c Regen. Akim Demaille 2002-01-03 11:09:47 +00:00
  • a4f0747a2a . Akim Demaille 2002-01-03 10:45:14 +00:00
  • ca69f83c53 Version 1.30i. v1.30i Akim Demaille 2002-01-03 10:42:17 +00:00
  • b06c1dfb75 Update. Akim Demaille 2002-01-03 10:40:03 +00:00
  • 1109455ce9 * src/parse-skel.y (process_skeleton): Don't bind the parser's tracing code to --trace, wait for a better --trace option, with args. Akim Demaille 2002-01-03 09:56:04 +00:00
  • 7ea5e9779b * src/bison.simple (YYSTDERR): Remove, replace stderr'. The ISO C++ standard is extremely clear about it: stderr is considered a macro, not a regular symbol (see table 94 Header <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files). Therefore std:: does not apply to it. It still does with fprintf. Also, s/cstdio.h/cstdio/. Akim Demaille 2002-01-03 09:55:49 +00:00
  • fab5b110fb * lib/quotearg.c: Use #include "..."' instead of #include <...>' for non system headers. Akim Demaille 2002-01-03 09:55:33 +00:00
  • 7525f95ed5 * src/bison.simple (YYSTDERR): Remove, replace stderr'. The ISO C++ standard is extremely clear about it: stderr is considered a macro, not a regular symbol (see table 94 Header <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files). Therefore std:: does not apply to it. It still does with fprintf. Also, s/cstdio.h/cstdio/. Akim Demaille 2002-01-03 09:48:08 +00:00
  • 1daed0de8a * lib/quotearg.c: Use #include "..."' instead of #include <...>' for non system headers. Akim Demaille 2002-01-03 09:27:34 +00:00
  • 32e175835b Regen. Akim Demaille 2002-01-03 09:24:59 +00:00
  • aed7fd9b97 Equip the skeleton chain with location tracking, runtime trace, pure parser and scanner. * src/parse-skel.y: Request a pure parser, locations, and prefix renaming. (%union): Having several members with the same type does not help type mismatches, simplify. (YYPRINT, yyprint): New. (yyerror): ``Rename'' (there is a #define yyerror skel_error) as... (skel_error): this. Handle locations. * src/scan-skel.l: Adjust to these changes. * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP) (LOCATION_PRINT, skel_control_t): New. Akim Demaille 2002-01-02 14:56:12 +00:00
  • 24fad99e2b * src/parse-skel.y: Get rid of the shift/reduce conflict: replace `gb' with BLANKS. * src/scan-skel.l: Adjust. Akim Demaille 2001-12-30 21:06:36 +00:00
  • a4b36db458 * src/system.h: We don't need nor want bcopy. Throw away MS-DOS crap: we don't need getpid. * configure.in: We don't need strndup. It was even causing problems: because Flex includes the headers *before* us, _GNU_SOURCE is not defined by config.h, and therefore strndup was not visible. * lib/xstrndup.c: New. * src/scan-skel.l: Use it. Be sure to initialize yylval.muscle member when scanning a MUSCLE. * src/parse-skel.y: Use %directives instead of #defines. Akim Demaille 2001-12-30 21:06:22 +00:00
  • 1239777d4f * src/skeleton.h: New. * src/output.c (output_parser, output_master_parser): Remove, dead code. * src/output.h (get_lines_number, actions_output, guards_output) (token_definitions_output): Prototype them. * src/parse-skel.y: Add the license notice. Include output.h and skeleton.h. (process_skeleton): Returns void, and takes a single parameter. * src/scan-skel.l: Add the license notice. Include skeleton.h. Don't use %option yylineno: it seems that then Flex imagines REJECT has been used, and therefore it won't reallocate its buffers (which makes no other sense to me than a bug). It results in warnings for `unused: yy_flex_realloc'. to guess if the generated parsers should have '.tab' in their * src/Makefile.am (bison_SOURCES): Add scan-skel.l and Akim Demaille 2001-12-30 21:05:12 +00:00
  • 9b3add5beb * src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING) (MUSCLE_INSERT_PREFIX): ...to there. * src/output.c (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING) (MUSCLE_INSERT_PREFIX): Move from here... * src/bison.hairy: Add a section directive. Put braces around muscle names. This parser skeleton is still broken, but Bison should not choke on a bad muscle 'syntax'. * src/bison.simple: Add a section directive. Put braces around muscle names. * src/files.h (strsuffix, stringappend): Add declarations. (tab_extension): Add declaration. (short_base_name): Add declaration. * src/files.c (strsuffix, stringappend): No longer static. These functions are used in the skeleton parser. (tab_extension): New. (compute_base_names): Use the computations done in this function to guess if the generated parsers should have '.tab' in their names. (short_base_name): No longer static. * src/output.c (output_skeleton): New. (output): Disable call to output_master_parser, and give a try to a new skeleton handling system. (guards_output, actions_output): No longer static. (token_definitions_output, get_lines_number): No longer static. * configure.in: Use AM_PROG_LEX and AC_PROG_YACC. * src/Makefile.am (bison_SOURCES): Add scan-skel.l and parse-skel.y. * src/parse-skel.y: New file. * src/scan-skel.l: New file. Robert Anisko 2001-12-30 15:01:06 +00:00
  • 3cd5bcdd19 Regen. Akim Demaille 2001-12-29 14:46:03 +00:00
  • b5b61c616b %name-prefix is broken. * src/files.c (spec_name_prefix): Initialize to NULL, not to "yy". Adjust all dependencies. * tests/headers.at (export YYLTYPE): Strengthen this test: use %name-prefix. Renaming yylval but not yylloc is not consistent. Now we do. * src/bison.simple: Prefix yylloc if used. * doc/bison.texinfo (Decl Summary): Document that. Akim Demaille 2001-12-29 14:27:45 +00:00
  • 8c9a50bee1 * doc/bison.texinfo: Promote %long-directive' over %long_directive'. Remove all references to fixed-output-files, yacc is enough. Akim Demaille 2001-12-29 14:27:20 +00:00
  • d99361e657 * src/bison.simple: Define YYDEBUG and YYERROR_VERBOSE *after* the user prologue. These are defaults. * tests/actions.at (Mid-rule actions): Make sure the user can define YYDEBUG and YYERROR_VERBOSE. Akim Demaille 2001-12-29 14:27:01 +00:00
  • b9cecb91a0 * src/output.c (header_output): Don't forget to export YYLTYPE and yylloc. * tests/headers.at (export YYLTYPE): New, make sure it does. * tests/regression.at (%union and --defines, Invalid CPP headers): Move to... * tests/headers.at: here. Akim Demaille 2001-12-29 14:26:49 +00:00
  • aea13e9790 * src/gram.h (rule_s): Member assoc' is of type associativity'. Akim Demaille 2001-12-29 14:26:21 +00:00
  • 931394cbc1 * tests/actions.at (Mid-rule actions): Output on a single line instead of several. Akim Demaille 2001-12-29 14:25:58 +00:00
  • 704a47c475 * doc/bison.texinfo: Formatting changes. Akim Demaille 2001-12-29 14:25:45 +00:00
  • 091e20bbee Don't store the token defs in a muscle, just be ready to output it on command. Now possible via `symbols'. Fixes a memory leak. * src/output.c (token_definitions_output): New. (output_parser, header_output): Use it. * src/reader.c (symbols_save): Remove. Akim Demaille 2001-12-29 14:25:27 +00:00
  • cce7171088 * src/bison.simple: Do not provide a default for YYSTYPE and YYLTYPE before the user's prologue. Otherwise it's hardly... a default. Akim Demaille 2001-12-29 14:25:08 +00:00
  • 82c035a823 Mid-rule actions are simply... ignored! * src/reader.c (readgram): Be sure to attach mid-rule actions to the empty-rule associated to the dummy symbol, not to the host rule. * tests/actions.at (Mid-rule actions): New. Akim Demaille 2001-12-29 14:24:51 +00:00
  • 8419d367e1 Memory leak. * src/reader.c (reader): Free grammar. Akim Demaille 2001-12-29 14:24:35 +00:00
  • 375d580671 Memory leak. * src/LR0.c (new_itemsets): Don't allocate `shift_symbol' here, since it allocates it for each state, although only one is needed. (allocate_storage): Do it here. Akim Demaille 2001-12-29 14:21:23 +00:00
  • f51cb8ff8c * src/options.h, src/options.c (create_long_option_table): Rename as... (long_option_table_new): this, with a clearer prototype. (percent_table): Remove, unused, * src/getargs.c (getargs): Adjust. Akim Demaille 2001-12-29 14:21:06 +00:00
  • 29e8831621 * src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c * src/print.c, src/print_graph.c, src/state.h: Rename state_table as states. Akim Demaille 2001-12-29 14:20:47 +00:00
  • b9f71f19cc * src/lalr.c (build_relations): Rename states' as states1'. Sorry, I don't understand exactly what it is, no better name... Akim Demaille 2001-12-29 14:20:27 +00:00
  • 1a2b5d37e1 * src/closure.c, src/conflicts.c, src/derives.c, src/gram.c * src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c * src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table as rules. Akim Demaille 2001-12-29 14:20:13 +00:00
  • 1cca533e2e * src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long ago. Akim Demaille 2001-12-29 14:19:46 +00:00
  • c03ae96659 * src/reader.c, src/reader.h (user_toknums): Remove. Adjust all users to use symbols[i]->user_token_number. Akim Demaille 2001-12-29 14:19:31 +00:00
  • 5a670b1ed9 * src/gram.c, src/gram.h (sprec, sassoc): Remove. Adjust all users to use symbols[i]->prec or ->assoc. Akim Demaille 2001-12-29 14:19:13 +00:00
  • ad949da96b * src/reader.c, src/reader.h (tags): Remove. Adjust all users to use symbols[i]->tag. Akim Demaille 2001-12-29 14:18:52 +00:00
  • 0e78e603f6 * src/gram.h, src/gram.c (symbols): New, similar to state_table and rule_table. * src/reader.c (packsymbols): Fill this table. Drop sprec. * src/conflicts.c (resolve_sr_conflict): Adjust. * src/reduce.c (reduce_grammar): Adjust: just sort symbols, a single table. Use symbols[i]->tag instead of tags[i]. Akim Demaille 2001-12-29 14:18:32 +00:00
  • 213e640e1e * tests/calc.at (_AT_DATA_CALC_Y): Also use %union. In addition, put a comment in there, to replace... * tests/regression.at (%union and C comments): Remove. Akim Demaille 2001-12-29 14:18:08 +00:00
  • e7b8bef1b1 * tests/regression.at (Web2c Actions): Blindly move the actual output as expected output. The contents *seem* right to me, but I can't pretend reading perfectly parser tables... Nonetheless, all the other tests pass correctly, the table look OK, even though the presence of `$axiom' is to be noted: AFAICS it is useless (but harmless). Akim Demaille 2001-12-29 14:17:56 +00:00
  • b68e774421 * src/reader.c (readgram): Don't add the rule 0 if there were no rules read. In other words, add it _after_ having performed grammar sanity checks. Fixes the `tests/regression.at (Invalid input: 1)' Failure. Akim Demaille 2001-12-29 14:17:43 +00:00
  • 78d5bae94e * tests/regression.at (Web2c Report): Catch up: the rule 0 is now visible, and some states have now a different number. Akim Demaille 2001-12-29 14:17:29 +00:00
  • ff44279401 * src/reader.c (readgram): Bind the initial rule's lineno to that of the first rule. * tests/regression.at (Rule Line Numbers, Unresolved SR Conflicts): (Solved SR Conflicts): Adjust rule 0's line number. Akim Demaille 2001-12-29 14:17:18 +00:00
  • 610ab194c8 Fix the `GAWK Grammar' failure. * src/LR0.c (final_state): Initialize to -1 so that we do compute the reductions of the first state which was mistakenly confused with the final state because precisely final_state was initialized to 0. * tests/sets.at (Nullable): Adjust: state 0 does have lookaheads, now noticed by Bison. * tests/regression.at (Rule Line Numbers): Adjust: state 0 does have a reduction on $default. Akim Demaille 2001-12-29 14:16:59 +00:00
  • 29d29c8fff * src/gram.c (ritem_print): Be sure to subtract 1 when displaying rule line numbers. * src/closure.c (print_closure): Likewise. * src/derives.c (print_derives): Likewise. * tests/sets.at (Nullable): Adjust: the rule numbers are correct now. Akim Demaille 2001-12-29 14:16:46 +00:00
  • 7c6b64d023 * src/lalr.c (lookaheads_print): New. (lalr): Call it when --trace-flag. * tests/sets.at (Nullable): Adjust: when tracing, the lookaheads are dumped. Akim Demaille 2001-12-29 14:16:16 +00:00
  • 3d4daee374 * src/derives.c (print_derives): Be sure to use >= 0', not > 0', when walking through ritem, even via rule->rhs. * src/reduce.c (dump_grammar, useful_production, reduce_output) (useful_production, useless_nonterminals): Likewise. (reduce_grammar_tables): Likewise, plus update nritems. * src/nullable.c (set_nullable): Likewise. * src/lalr.c (build_relations): Likewise. * tests/sets.at (Nullable): Adjust. Fortunately, now, the $axiom is no longer nullable. Akim Demaille 2001-12-29 14:15:33 +00:00
  • 9e7f6bbd59 * src/LR0.c (generate_states): Use nritems, not nitems, nor using the 0-sentinel. * src/gram.c (ritem_longest_rhs): Likewise. * src/reduce.c (nonterminals_reduce): Likewise. * src/print_graph.c (print_graph): Likewise. * src/output.c (output_rule_data): Likewise. * src/nullable.c (set_nullable): Likewise. Akim Demaille 2001-12-29 14:15:12 +00:00
  • 255ef6389e * src/output.c: Comment changes. Akim Demaille 2001-12-29 14:14:32 +00:00
  • 0d8a73638f * src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and Sparc, as they were causing more porting problems than the (minor) performance improvement was worth. Also, catch up with 1.31's YYSTD. Akim Demaille 2001-12-27 18:36:53 +00:00
  • ea04a14c5c * src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and Sparc, as they were causing more porting problems than the (minor) performance improvement was worth. Akim Demaille 2001-12-27 18:30:40 +00:00
  • d6b12c2d8b * src/output.c (output_short_table, output_short_or_char_table): Change the prototype to use `int' for array ranges: some invocations do pass an int, not a short. Reported by Wayne Green. Akim Demaille 2001-12-27 18:28:23 +00:00
  • 5499894828 ChangeLog fixes, and PO regen. Akim Demaille 2001-12-27 18:26:20 +00:00
  • 3db472b9eb * 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. Akim Demaille 2001-12-27 18:17:39 +00:00
  • b365aa0589 * tests/regression.at (Unresolved SR Conflicts): (Solved SR Conflicts, Rule Line Numbers): Adjust to the changes below. * 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. * tests/regression.at: Partly catch up. Akim Demaille 2001-12-27 18:13:59 +00:00
  • 30171f79ab * 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. Akim Demaille 2001-12-27 18:13:47 +00:00
  • 75142d452b 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. Akim Demaille 2001-12-27 18:13:31 +00:00
  • b7c49edf13 * 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. Akim Demaille 2001-12-27 18:13:09 +00:00
  • ec2da99ffe * configure.in: Check the protos of strchr ans strspn. Replace strchr if needed. * src/system.h: Provide the protos of strchr, strspn and memchr if missing. * lib/strchr.c: New. * src/reader.c (symbols_save): Use strchr. Akim Demaille 2001-12-27 18:12:48 +00:00
  • 8adfa272f7 * src/print.c, src/print_graph.c (escape): New. Use it to quote the TAGS outputs. * src/print_graph.c (print_state): Now errors are in red, and reductions in green. Prefer high to wide: output the state number on a line of its own. Akim Demaille 2001-12-27 18:11:20 +00:00
  • 80dac38c5e * src/state.h, src/state.c (reductions_new): New. * src/LR0.c (set_state_table): Let all the states have a `reductions', even if reduced to 0. (save_reductions): Adjust. * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust. * src/print.c (print_reductions, print_actions): Adjust. * src/output.c (action_row): Adjust. Akim Demaille 2001-12-27 18:11:06 +00:00
  • 2cec70b9f1 * src/state.h, src/state.c (errs_new, errs_dup): New. * src/LR0.c (set_state_table): Let all the states have an errs, even if reduced to 0. * src/print.c (print_errs, print_reductions): Adjust. * src/output.c (output_actions, action_row): Adjust. * src/conflicts.c (resolve_sr_conflict): Adjust. Akim Demaille 2001-12-27 18:10:48 +00:00
  • 13ca549a75 * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL. Akim Demaille 2001-12-27 18:10:30 +00:00
  • 5092aba5a7 * 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. Akim Demaille 2001-12-27 18:10:16 +00:00
  • 11e2becaac * src/reader.c (copy_dollar, copy_at): Better checking of n' in $n' and `@n'. Akim Demaille 2001-12-27 18:07:31 +00:00
  • dac3c91005 * src/lalr.c (add_lookback_edge): Use state_t instead of ints. (build_relations): Adjust. Akim Demaille 2001-12-27 18:07:17 +00:00
  • d0b0fefa03 * src/lalr.c (set_goto_map): Remove a wrong but benign loop duplication. Akim Demaille 2001-12-27 18:07:05 +00:00
  • adc8c84856 * src/reader.c (packgram): Catch nitems overflows. Akim Demaille 2001-12-27 18:06:41 +00:00
  • 14d293acb2 * 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. Akim Demaille 2001-12-27 18:06:24 +00:00
  • f499b06243 * 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. Akim Demaille 2001-12-27 18:06:06 +00:00
  • d945f5cd8e * src/reader.c (symbol_list_new): Be sure to initialize all the fields. Akim Demaille 2001-12-27 18:05:42 +00:00
  • d200e455d0 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). Akim Demaille 2001-12-27 18:05:30 +00:00
  • f9507c28ae * src/output.c (action_row, token_actions): Use a state_t instead of a integer, and nlookaheads instead of the following state's lookaheadsp. Akim Demaille 2001-12-27 18:05:18 +00:00
  • 065fbd27af * 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. Akim Demaille 2001-12-27 18:05:05 +00:00
  • 1b177bd731 * src/bison.hairy: Formatting/comment changes. ANSIfy. Remove register' indications. Add plenty of static'. Akim Demaille 2001-12-27 18:04:43 +00:00
  • 7742ddebf1 * 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. Akim Demaille 2001-12-27 18:04:28 +00:00
  • 1fa140687e * 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. Akim Demaille 2001-12-22 15:16:41 +00:00
  • f4ffa313a2 Regen. Akim Demaille 2001-12-22 15:13:48 +00:00
  • b9752825a0 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. Akim Demaille 2001-12-22 14:58:53 +00:00
  • 1214dfb03b 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. Akim Demaille 2001-12-22 14:44:25 +00:00
  • 776209d6c7 Reductions in web2c.y are improperly reported. Reported by Mike Castle. * src/conflicts.c (print_reductions): Fix. * tests/regression.at (Web2c): New. Akim Demaille 2001-12-22 14:42:36 +00:00
  • 55b4181996 Reductions in web2c.y are improperly reported. Reported by Mike Castle. * src/conflicts.c (print_reductions): Fix. * tests/regression.at (Web2c): New. Akim Demaille 2001-12-22 14:41:15 +00:00
  • 12a04365ce Bump to 1.30i Akim Demaille 2001-12-22 14:39:44 +00:00
  • dee049eb91 Typo. Akim Demaille 2001-12-18 09:59:24 +00:00
  • 6929a4a0e8 Adjust. Akim Demaille 2001-12-18 09:58:07 +00:00
  • 07cccc8bc6 . Akim Demaille 2001-12-18 09:51:33 +00:00
  • 36791b5576 Version 1.30h. v1.30h Akim Demaille 2001-12-18 09:46:36 +00:00
  • dba44a1367 Update. Akim Demaille 2001-12-18 09:42:58 +00:00
  • 275fc3ad0f Some host fail on assert (!"foo")', which expands to ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__)) Reported by Nelson Beebee. * src/output.c, src/vcg.c: Replace assert (!"it succeeded")' with #define it_succeeded 0' and assert (it_succeeded)'. Akim Demaille 2001-12-18 09:33:44 +00:00
  • d4593e87be Some host fail on assert (!"foo")', which expands to ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__)) Reported by Nelson Beebee. * src/output.c, src/vcg.c: Replace assert (!"it succeeded")' with #define it_succeeded 0' and assert (it_succeeded)'. Akim Demaille 2001-12-18 09:33:23 +00:00
  • 6b1ec1fb33 * src/bison.simple (YYSTD): New macro. (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE, YYFPRINTF, YYSTDERR): Use it to simplify macros, and fix some C++ porting problems reported by Hans Aberg. Paul Eggert 2001-12-17 23:51:46 +00:00