Commit Graph

1255 Commits

Author SHA1 Message Date
Joel E. Denny
742e4900c8 For consistency, use lookahead' instead of look-ahead' or
`look_ahead'.  Discussed starting at
<http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00049.html>
and then at
<http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00017.html>.
* NEWS: For the next release, note the change to `--report'.
* TODO, doc/bison.1: Update English.
* doc/bison.texinfo: Update English.
(Understanding Your Parser, Bison Options): Document as
`--report=lookahead' rather than `--report=look-ahead'.
* src/conflicts.c: Update English in comments.
(lookahead_set): Rename from look_ahead_set.
(flush_reduce): Rename argument look_ahead_tokens to lookahead_tokens.
(resolve_sr_conflict): Rename local look_ahead_tokens to
lookahead_tokens, and update other uses.
(flush_shift, set_conflicts, conflicts_solve, count_sr_conflicts,
count_rr_conflicts, conflicts_free): Update uses.
* src/getargs.c (report_args): Move "lookahead" before alternate
spellings.
(report_types): Update uses.
(usage): For `--report' usage description, state `lookahead' spelling
rather than `look-ahead'.
* src/getargs.h (report.report_lookahead_tokens): Rename from
report_look_ahead_tokens.
* src/lalr.c: Update English in comments.
(compute_lookahead_tokens): Rename from compute_look_ahead_tokens.
(state_lookahead_tokens_count): Rename from
state_look_ahead_tokens_count.
Rename local n_look_ahead_tokens to n_lookahead_tokens.
(lookahead_tokens_print): Rename from look_ahead_tokens_print.
Rename local n_look_ahead_tokens to n_lookahead_tokens.
Update other uses.
Update English in output.
(add_lookback_edge, initialize_LA, lalr, lalr_free): Update uses.
* src/print.c: Update English in comments.
(lookahead_set): Rename from look_ahead_set.
(print_reduction): Rename argument lookahead_token from
look_ahead_token.
(print_core, state_default_rule, print_reductions, print_results):
Update uses.
* src/print_graph.c: Update English in comments.
(print_core): Update uses.
* src/state.c: Update English in comments.
(reductions_new): Update uses.
(state_rule_lookahead_tokens_print): Rename from
state_rule_look_ahead_tokens_print, and update other uses.
* src/state.h: Update English in comments.
(reductions.lookahead_tokens): Rename from look_ahead_tokens.
(state_rule_lookahead_tokens_print): Rename from
state_rule_look_ahead_tokens_print.
* src/tables.c: Update English in comments.
(conflict_row, action_row): Update uses.
* tests/glr-regression.at
(Incorrect lookahead during deterministic GLR,
Incorrect lookahead during nondeterministic GLR): Rename
print_look_ahead to print_lookahead.
* tests/torture.at: Update English in comments.
(AT_DATA_LOOKAHEAD_TOKENS_GRAMMAR): Rename from
AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR.
(Many lookahead tokens): Update uses.
* data/glr.c: Update English in comments.
* lalr1.cc: Likewise.
* yacc.c: Likewise.
* src/conflicts.h: Likewise.
* src/lalr.h: Likewise.
* src/main.c: Likewise.
* src/output.c: Likewise.
* src/parse-gram.c: Likewise.
* src/tables.h: Likewise.
* tests/calc.at: Likewise.
2006-06-10 03:02:23 +00:00
Joel E. Denny
3c40d0b52d * src/flex-scanner.h (yytext): Remove stray `*/' in #define. 2006-06-08 05:33:15 +00:00
Joel E. Denny
9e6688995e * src/flex-scanner.h: For the sake of Flex 2.5.4, don't #define yyleng
and yytext if they're already #define'd.
* src/flex-scanner.h, src/location.h: Move #include "system.h" to...
* src/scan-code-c.c: ... here.
* src/scan-code.l, src/scan-gram.l: ... and here.  Also #include
<config.h>.
2006-06-07 21:17:35 +00:00
Joel E. Denny
a898d2780f src/location.h: #include "system.h" rather than <stdbool.h>. 2006-06-07 20:15:40 +00:00
Joel E. Denny
0c8e079fa6 Get Bison to build again when configured with --enable-gcc-warnings.
* src/location.c, src/location.h, src/main.c, src/scan-code.l: Add some
missing #include's.
* src/scan-code.l (handle_action_dollar, handle_action_at): Rename
loc argument as it shadows a global.
* src/scan-gram.l: Remove stray comma that prevents boundary_set
invocation.

* src/.cvsignore: Add scan-code.c.
2006-06-07 20:06:27 +00:00
Akim Demaille
9f936c5e9c Add it for real. 2006-06-07 07:58:28 +00:00
Akim Demaille
2346344a08 * src/scan-gram.l: Move the "add a trailing ; to actions" code
to...
* src/scan-code.l: here.
* tests/input.at (Torturing the Scanner): Fix another location
error.
2006-06-07 07:09:32 +00:00
Akim Demaille
4862bdfd61 * src/Makefile.am (BUILT_SOURCES): Fix the trailing backslash. 2006-06-07 06:52:12 +00:00
Akim Demaille
e9071366c3 Extract the parsing of user actions from the grammar scanner.
As a consequence, the relation between the grammar scanner and
parser is much simpler.  We can also split "composite tokens" back
into simple tokens.
* src/gram.h (ITEM_NUMBER_MAX, RULE_NUMBER_MAX): New.
* src/scan-gram.l (add_column_width, adjust_location): Move to and
rename as...
* src/location.h, src/location.c (add_column_width)
(location_compute): these.
Fix the column count: the initial column is 0.
(location_print): Be robust to ending column being 0.
* src/location.h (boundary_set): New.
* src/main.c: Adjust to scanner_free being renamed as
gram_scanner_free.
* src/output.c: Include scan-code.h.
* src/parse-gram.y: Include scan-gram.h and scan-code.h.
Use boundary_set.
(PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_INITIAL_ACTION)
(PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Remove the {...} part,
which is now, again, a separate token.
Adjust all dependencies.
Whereever actions with $ and @ are used, use translate_code.
(action): Remove this nonterminal which is now useless.
* src/reader.c: Include assert.h, scan-gram.h and scan-code.h.
(grammar_current_rule_action_append): Use translate_code.
(packgram): Bound check ruleno, itemno, and rule_length.
* src/reader.h (gram_in, gram__flex_debug, scanner_cursor)
(last_string, last_braced_code_loc, max_left_semantic_context)
(scanner_initialize, scanner_free, scanner_last_string_free)
(gram_out, gram_lineno, YY_DECL_): Move to...
* src/scan-gram.h: this new file.
(YY_DECL): Rename as...
(GRAM_DECL): this.
* src/scan-code.h, src/scan-code.l, src/scan-code-c.c: New.
* src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
(gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
(gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
Move these declarations, and...
(obstack_for_string, STRING_GROW, STRING_FINISH, STRING_FREE):
these to...
* src/flex-scanner.h: this new file.
* src/scan-gram.l (rule_length, rule_length_overflow)
(increment_rule_length): Remove.
(last_braced_code_loc): Rename as...
(gram_last_braced_code_loc): this.
Adjust to the changes of the parser.
Move all the handling of $ and @ into...
* src/scan-code.l: here.
* src/scan-gram.l (handle_dollar, handle_at): Remove.
(handle_action_dollar, handle_action_at): Move to...
* src/scan-code.l: here.
* src/Makefile.am (bison_SOURCES): Add flex-scanner.h,
scan-code.h, scan-code-c.c, scan-gram.h.
(EXTRA_bison_SOURCES): Add scan-code.l.
(BUILT_SOURCES): Add scan-code.c.
(yacc): Be robust to white spaces.
* tests/conflicts.at, tests/input.at, tests/reduce.at,
* tests/regression.at: Adjust the column numbers.
* tests/regression.at: Adjust the error message.
2006-06-06 16:40:06 +00:00
Joel E. Denny
184e42f065 * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
Use Akim's wording from
<http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00056.html>.
2006-06-06 06:00:55 +00:00
Joel E. Denny
7891a7c449 Between Bison releases, manually append `+' to the previous Bison
release number, and use that as a signal to automatically print the
ChangeLog's CVS Id keyword from --version.  Discussed starting at
<http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00028.html>.
* ChangeLog: Add Id header.
* configure.ac (AC_INIT): Append `+' to `2.3'.
* src/.cvsignore: Add revision.c.
* src/Makefile.am (bison_SOURCES): Add revision.c and revision.h.
(BUILT_SOURCES): Add revision.c.
(revision.c): New target rule.  This file defines a new global variable
named revision.  It initializes it with either the Id from ChangeLog
or, if VERSION doesn't contain `+', with the empty string.
* src/getargs.c (version): Print the value of revision.
* src/revision.h: Extern revision.
2006-06-06 05:23:44 +00:00
Joel E. Denny
2c08afa5dd * src/getargs.c (usage): Back out yesterday's modification of the
--help output so that we don't have to wait for translation before
releasing 2.3.
2006-05-30 16:11:45 +00:00
Joel E. Denny
2a26b6c28b * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output. 2006-05-29 03:39:12 +00:00
Paul Eggert
e4f0316ae0 Regenerate. 2006-05-27 00:29:38 +00:00
Paul Eggert
566ac1b4a7 Regenerate. 2006-05-21 08:01:24 +00:00
Paul Eggert
aca1717341 Regenerate. 2006-05-19 21:46:46 +00:00
Akim Demaille
327afc7c84 Implement --trace=m4.
* src/getargs.c (trace_types, trace_args): Accept trace_m4.
* src/output.c (output_skeleton): When set, pass -dV to m4.
Factor the handling of flags in m4.
* src/output.c (prepare): Rename the muscle names debug, defines,
error_verbose to debug_flag, defines_flag, error_verbose_flag.
* data/c.m4: Adjust.
(_b4_define_flag_if, b4_define_flag_if, b4_defines_if): New.
Use b4_define_flag_if to define other b4_FLAG_if macros.
(b4_location_if): As a consequence, rename as...
(b4_locations_if): this, for consistency.
Adjust all the skeletons.
2006-05-14 20:40:35 +00:00
Akim Demaille
4e83ea15f7 * src/output.h, src/output.c (error_verbose): Move to...
* src/getargs.h, src/getargs.c: here.
Sort the flags.
Adjust dependencies.
2006-05-14 19:14:10 +00:00
Paul Eggert
04c12cb83d Regenerate. 2006-05-14 07:01:49 +00:00
Akim Demaille
b2ddc3f337 * src/scan-gram.l: Be robust to BRACED_CODE appearing before any
rule.
Reported by Mickael Labau.
* tests/input.at (Torturing the Scanner): Test it.
2006-04-03 13:50:10 +00:00
Paul Eggert
6e0f828781 Fix two nits reported by twlevo, plus one more that I discovered.
* src/assoc.h (assoc_to_string): Give a name to the arg, as
this is the usual Bison style.
* src/location.h (location_print): Likewise.

* src/reader.h (token_name): Likewise.
2006-03-09 23:23:11 +00:00
Paul Eggert
d6b771c345 Fix some nits reported by twlevo.
* doc/FAQ: Remove ancient Y2K FAQ, replacing it with "secure"
and "POSIX".  Use more-modern syntax for URLs.  Mention C++
and ask for Java.  Don't hardwire OS version numbers.  Add
copyright notice.
* m4/.cvsignore: Add unistd_h.m4, for latest gnulib.
* src/conflicts.c (solved_conflicts_obstack): Now static.
2006-03-08 19:45:10 +00:00
Paul Eggert
765f22f0f4 Regenerate. 2006-02-17 00:23:08 +00:00
Joel E. Denny
3f0014152b During deterministic GLR operation, user actions should be able to
influence the parse by changing yychar.  To make this easier to fix and
to make glr.c easier to evolve in general, don't maintain yytoken in
parallel with yychar; just compute yytoken when needed.
* tests/glr-regression.at (Incorrect lookahead during deterministic
GLR): Check that setting yychar in a user action has the intended
effect.
* data/glr.c (yyGLRStack): Remove yytokenp member.
(yyclearin): Don't set *yytokenp.
(yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Examine
yychar rather than *yytokenp to determine the current lookahead.
Compute yytoken locally when needed.
(yyparse): Likewise.  Remove the local yytoken that yytokenp used to
point to.

* doc/bison.texinfo (Bison Options): Remove stray sentence fragment
after `--report' documentation.
2006-01-30 11:15:15 +00:00
Paul Eggert
e2a8c0f591 * src/parse-gram.y (grammar_declaration): Location of printer
symbol is @1, not list->location.
* tests/input.at (Incompatible Aliases): Adjust to above change.
2006-01-30 09:00:40 +00:00
Paul Eggert
a7086c4f27 Regenerate. 2006-01-30 08:52:20 +00:00
Paul Eggert
6b7022680e Fix a longstanding bug uncovered by bro-0.9a9/src/parse.y, which I
got from <http://bro-ids.org/download.html>.  The bug is that
when two actions appeared in succession, the second one was
scanned before the first one was added to the grammar rule
as a midrule action.  Bison then output the incorrect warning
"parse.y:905.17-906.36: warning: unused value: $3".
* src/parse-gram.y (BRACED_CODE, action): These are no longer
associated with a value.
(rhs): Don't invoke grammar_current_rule_action_append.
(action): Invoke it here instead.
* src/reader.c (grammar_midrule_action): Now extern.
(grammar_current_rule_action_append): Don't invoke
grammar_midrule_action; that is now the scanner's job.
* src/reader.h (last_string, last_braced_code_loc):
(grammar_midrule_action): New decls.
* src/scan-gram.l (last_string): Now extern, sigh.
(last_braced_code_loc): New extern variable.
(<INITIAL>"{"): Invoke grammar_midrule_action if the current
rule already has an action.
(<SC_BRACED_CODE>"}"): Set last_braced_code_loc before returning.
* tests/input.at (AT_CHECK_UNUSED_VALUES):
Add some tests to check that the above changes fixed the bug.
2006-01-30 07:26:00 +00:00
Paul Eggert
d40ba6c272 * src/reader.c (symbol_should_be_used): Renamed from symbol_typed_p.
All used changed.  Check whether the symbol has a destructor,
not whether it is typed.
* tests/input.at (AT_CHECK_UNUSED_VALUES): Add a destructor, so
that the values are still reported as unused.  All line numbers
adjusted.
2006-01-27 22:51:00 +00:00
Paul Eggert
bf8b3d9821 Regenerate. 2006-01-23 08:42:45 +00:00
Paul Eggert
d42cf84421 * data/yacc.c (b4_int_type): Use yytype_uint8, etc., so that the
user can override the types.
(short): #undef, to work around a bug in Pike 7.0.
(yytype_uint8, yytype_int8, yytype_uint16, yytype_int16): New types.
(union yyalloc.yyss): Use yytype_int16 rather than short.
All uses changed.
(yysigned_char): Remove.
* src/parse-gram.y (YYTYPE_UINT8, YYTYPE_INT8, YYTYPE_UINT16):
(YYTYPE_INT16): New macros, to test the new facility in yacc.c.
* tests/regression.at (Web2c Actions): Adjust to above changes.
2006-01-23 07:59:42 +00:00
Paul Eggert
02d12d0de2 (check_and_convert_grammar): New function.
(reader): Close the input file even if something went wrong during
parsing.  Minor file descriptor leak reported by twlevo.
2006-01-23 04:37:09 +00:00
Paul Eggert
06f01bc496 * src/assoc.c (assoc_to_string): Use a default: abort (); case
to pacify gcc -Wswitch-default.
* src/scan-gram.l (adjust_location): Use a default: break; case
to pacify gcc -Wswitch-default.
* src/scan-skel.h (skel_get_lineno, skel_get_in, skel_get_out):
(skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
(skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
Move these decls to scan-skel.l, since they don't need to be
visible elsewhere.
* src/scan-skel.l: Accept the above decls.
(skel_lex): New decl, to pacify GCC when unpatched flex 2.5.31
is used.
2006-01-22 08:17:18 +00:00
Paul Eggert
f0064700f8 Fix white space glitches. 2006-01-22 08:02:47 +00:00
Paul Eggert
02650b7f0e * Makefile.cfg (local-checks-to-skip): Add changelog-check,
since we don't want to insist on a version number at the start
of the changelog every time.
* Makefile.maint: Sync from coreutils a bit better.
(sc_trailing_blank): Renamed from sc_trailing_space.
All uses changed.
(sc_no_if_have_config_h, sc_require_config_h):
(sc_prohibit_assert_without_use): New rules.
(sc_obsolete_symbols): Don't catch Makefile.maint itself.
(sc_dd_max_sym_length): Fix leading spaces in rule.
(sc_system_h_headers): Prefix with @.
(sc_useless_cpp_parens, m4-check): Output line numbers.
(changelog-check): Allow version only in head.
* data/c.m4: Use "defined FOO" instead of "defined (FOO)", to
satisfy new Makefile.maint rule.
* data/glr.c: Likewise.
* data/glr.cc: Likewise.
* data/lalr1.cc: Likewise.
* data/yacc.c: Likewise.
* lib/ebitsetv.c: Likewise.
* lib/lbitset.c: Likewise.
* lib/subpipe.c: Likewise.
* lib/timevar.c: Likewise.
* src/system.h: Likewise.
* data/yacc.c (YYSTYPE): Don't generate trailing spaces in output.
* djgpp/Makefile.maint: Add copyright notice.
* djgpp/README.in: Likewise.
* djgpp/config.bat: Likewise.
* djgpp/config.site: Likewise.
* djgpp/config_h.sed: Likewise.
* djgpp/djunpack.bat: Likewise.
* djgpp/config.sed: Fix copyright notice to match standard format.
* djgpp/subpipe.h: Likewise.
* lib/bitsetv-print.c: Likewise.
* lib/bitsetv.c: Likewise.
* lib/subpipe.h: Likewise.
* lib/timevar.c: Likewise.
* lib/timevar.h: Likewise.
* djgpp/subpipe.c: Use standard recipe for config.h.
* lib/abitset.c: Likewise.
* lib/bitset.c: Likewise.
* lib/bitset_stats.c: Likewise.
* lib/bitsetv-print.c: Likewise.
* lib/bitsetv.c: Likewise.
* lib/ebitsetv.c: Likewise.
* lib/get-errno.c: Likewise.
* lib/lbitset.c: Likewise.
* lib/subpipe.c: Likewise.
* lib/timevar.c: Likewise.
* lib/vbitset.c: Likewise.
* tests/local.at: Likewise.
* src/scan-gram.l: Don't include verify.h, since system.h does
that for us.
* .x-sc_require_config_h: New file.
* .x-sc_unmarked_diagnostics: New file.
2006-01-22 07:38:49 +00:00
Paul Eggert
68cae94e0b Be a bit more systematic about using 'abort'.
* lib/abitset.c (abitset_test): Remove ATTRIBUTE_UNUSED; not needed.
* lib/bitset.c (bitset_bytes, bitset_init, bitset_op4_cmp):
Put 'default: abort ();' before some other case, to satisfy older
pedantic compilers.
* lib/bitset_stats.c (bitset_stats_init): Likewise.
* lib/ebitset.c (ebitset_elt_find, ebitset_op3_cmp): Likewise.
* lib/lbitset.c (lbitset_elt_find, lbitset_op3_cmp): Likewise.
* src/conflicts.c (resolve_sr_conflict): Likewise.
* src/vcg.c (get_color_str, get_textmode_str, get_shape_str):
(get_decision_str, get_orientation_str, get_node_alignment_str):
(get_arrow_mode_str, get_crossing_type_str, get_view_str):
(get_linestyle_str, get_arrowstyle_str): Likewise.
* src/conflicts.c (resolve_sr_conflict):
Use a default case rather than one for the one remaining enum
value, to catch invalid enum values as well.
* src/lalr.c (set_goto_map, map_goto):
Prefer "assert (FOO);" to "if (!FOO) abort ();".
* src/nullable.c (nullable_compute, token_definitions_output):
Likewise.
* src/reader.c (packgram, reader): Likewise.
* src/state.c (transitions_to, state_new, state_reduction_find):
Likewise.
* src/symtab.c (symbol_user_token_number_set, symbol_make_alias):
(symbol_pack): Likewise.
* src/tables.c (conflict_row, pack_vector): Likewise.
* src/scan-skel.l (QPUTS): Remove unnecessary parens.
(BASE_QPUTS, "@output ".*\n): Remove unnecessary asserts.
* src/system.h: Don't include <assert.h>.
(assert): New macro.
2006-01-21 04:35:09 +00:00
Paul Eggert
c21493b89f Fix some porting glitches found by Nelson H. F. Beebe.
* lib/abitset.c (abitset_resize): Rewrite to avoid warnings from
compilers that don't understand that abort () does not return.
* src/state.c (transitions_to): Likewise.
* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
that '#include <cstdlib>' works.
* src/system.h (INT8_MIN, INT16_MIN, INT32_MIN, INT8_MAX):
(INT16_MAX, UINT8_MAX, INT32_MAX, UINT16_MAX, UINT32_MAX):
#undef if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901,
for the benefit of some pre-C99 compilers.
2006-01-20 01:59:30 +00:00
Paul Eggert
c66dfaddf4 Minor fixups to get 'make maintainer-check' to work.
* configure.ac: Don't use -Wnested-externs, as it's incompatible
with the new verify.h implementation.
* data/c.m4 (b4_yy_symbol_print_generate): YYUSE (yyoutput).
* data/glr.c (YYUSE): Depend on __GNUC__ as well.
* data/yacc.c (YYUSE): Likewise.
* data/lalr1.cc (yysyntax_error_): YYUSE (yystate).
* lib/subpipe.c (end_of_output_subpipe): The args are unused.
* src/parse-gram.y (declaration): Don't pass a string constant
to a function that expects char *, since GCC might complain
about the constant value.
* src/reader.c (symbol_typed_p): Add parens to pacify GCC.
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): #undef yylloc and yylval
before #defining them.
* tests/glr-regression.at
(Incorrectly initialized location for empty right-hand side in GLR):
In yyerror, use the msg arg.
(Corrupted semantic options if user action cuts parse):
(Incorrect lookahead during deterministic GLR):
(Incorrect lookahead during nondeterministic GLR):
Don't name a local var 'index'; it shadows string.h's 'index'.
2006-01-20 00:08:30 +00:00
Paul Eggert
e9ad4aeca5 Avoid undefined behavior that accessed just before the start of an array.
* src/reader.c (packgram): Prepend a new sentinel before ritem.
* src/lalr.c (build_relations): Rely on new sentinel.
* src/gram.c (gram_free): Adjust to new sentinel.
2006-01-18 23:48:29 +00:00
Paul Eggert
02d7cce6e2 Fix minor white space and indentation problems. 2006-01-14 06:36:04 +00:00
Akim Demaille
6ec2c0f295 * src/reader.c, src/symlist.h, src/symlist.c: s/mid_rule/midrule/. 2006-01-05 13:38:58 +00:00
Paul Eggert
2e4c30fa07 Regenerate. 2006-01-04 23:40:11 +00:00
Akim Demaille
8486615972 Also warn about non-used mid-rule values.
* src/symlist.h, src/symlist.c (symbol_list): Add a mid_rule
member.
(symbol_list_new): Adjust.
* src/reader.c (symbol_typed_p): New.
(grammar_rule_check): Use it.
(grammar_midrule_action): Bind a mid-rule LHS to its rule.
Check its rule.
* tests/input.at (AT_CHECK_UNUSED_VALUES): New.
Use it.
* tests/actions.at (Exotic Dollars): Adjust.
2006-01-04 09:18:37 +00:00
Akim Demaille
378f4bd846 * src/reader.c (grammar_midrule_action): If $$ is set in a
mid-rule, move the `used' bit to its lhs.
* tests/input.at (Unused values): New.
* tests/actions.at (Exotic Dollars): Adjust: exp is not typed.
2006-01-04 08:32:46 +00:00
Paul Eggert
f52b276c55 Regenerate. 2006-01-03 22:39:33 +00:00
Paul Eggert
5466269793 * doc/bison.texinfo (Bison Options): Say more accurately what
--yacc does.
* src/parse-gram.y (rules_or_grammar_declaration): Don't complain
about declarations in the grammar when in Yacc mode, as POSIX does
not require a diagnostic when the grammar uses extensions.
2006-01-03 22:35:45 +00:00
Paul Eggert
9ae1f0c6a9 Update copyright. 2006-01-03 22:25:58 +00:00
Paul Eggert
4d56beff96 (reduce_grammar): Remove unnecessary cast to bool. 2006-01-03 22:24:43 +00:00
Paul Eggert
073f92889f Warn about dubious constructions like "%token T T".
* src/symtab.h (struct symbol.declared): New member.
* src/symtab.c (symbol_new): Initialize it to false.
(symbol_class_set): New arg DECLARING, specifying whether
this is a declaration that we want to warn about, if there
is more than one of them.  All uses changed.
2006-01-03 21:31:57 +00:00
Paul Eggert
1221b78adb * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c:
Allow multiple %union directives, whose contents concatenate.
* src/parse-gram.y (grammar_declaration): Likewise.
Use muscle_code_grow, so that we don't need stype_line any more.
All uses changed.
2006-01-03 20:25:54 +00:00
Paul Eggert
ff5150d9a4 (muscle_grow): Fix comment. 2006-01-03 20:19:41 +00:00