Paul Eggert [Fri, 13 Dec 2002 12:17:59 +0000 (12:17 +0000)]
(bin_SCRIPTS): New macro, for yacc.
(MOSTLYCLEANFILES): Add yacc.
(yacc): New rule.
Paul Eggert [Fri, 13 Dec 2002 11:46:51 +0000 (11:46 +0000)]
Add da.
Paul Eggert [Fri, 13 Dec 2002 11:44:16 +0000 (11:44 +0000)]
Sync with autotools.
Paul Eggert [Fri, 13 Dec 2002 11:41:21 +0000 (11:41 +0000)]
(__GNU_LIBRARY__) [lint]: Define to work around
problem with latest <getopt.h>.
(HACK_FOR___GNU_LIBRARY___PROTOTYPE): New macro.
Paul Eggert [Fri, 13 Dec 2002 11:24:16 +0000 (11:24 +0000)]
Sync with gnulib.
Paul Eggert [Fri, 13 Dec 2002 11:15:01 +0000 (11:15 +0000)]
Upgrade to FDL 1.2.
Paul Eggert [Fri, 13 Dec 2002 09:33:23 +0000 (09:33 +0000)]
Fix a bad interaction with flex 2.5.23 reported by Bruce Lilly in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001929.html>.
(YYLTYPE, struct yyltype): Do not define unless
locations are requested.
(union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless
locations are requested.
Paul Eggert [Fri, 13 Dec 2002 08:54:41 +0000 (08:54 +0000)]
Remove unportable casts and storage allocation tricks.
Paul Eggert [Fri, 13 Dec 2002 08:50:13 +0000 (08:50 +0000)]
(G_CMAX): Now INT_MAX.
Paul Eggert [Fri, 13 Dec 2002 08:49:39 +0000 (08:49 +0000)]
Fix misspelling in comments.
Paul Eggert [Fri, 13 Dec 2002 08:49:08 +0000 (08:49 +0000)]
XMALLOC -> MALLOC
Paul Eggert [Fri, 13 Dec 2002 08:48:03 +0000 (08:48 +0000)]
Put "const" after type that it modifies consistently.
Paul Eggert [Fri, 13 Dec 2002 08:47:15 +0000 (08:47 +0000)]
(uniqstr_print): Now inline. Return bool, not int.
(uniqstr_print_processor): New function, to avoid casts.
(uniqstrs_new, hash_initialize, uniqstrs_do):
Use new functions instead of casting old functions unportably.
(hash_compare_uniqstr): Remove unnecessary casts.
Paul Eggert [Fri, 13 Dec 2002 08:45:38 +0000 (08:45 +0000)]
(state_number_to_vector_number,
symbol_number_to_vector_number):
Now inline functions rather than macros, to avoid casts.
(table_size): Now int, to pacify GCC.
(table_grow, table_ninf_remap): Use signed table size.
(save_row): Don't bother initializing locals when not needed.
(default_goto, goto_actions, pack_vector): Remove unnecessary casts.
Paul Eggert [Fri, 13 Dec 2002 08:44:28 +0000 (08:44 +0000)]
(alloca): Remove; decl no longer needed.
(<stddef.h>): Include, for offsetof.
(<inttypes.>, <stdint.h>): Include if available.
(uintptr_t): New type, if system lacks it.
(CALLOC, MALLOC, REALLOC): New macros.
All uses of XCALLOC, XMALLOC, and XREALLOC changed to use these
new macros.
Paul Eggert [Fri, 13 Dec 2002 08:43:01 +0000 (08:43 +0000)]
(NUMBER_UNDEFINED): Remove unnecessary cast.
(symbol_processor): Remove.
(symbols_do): Remove decl; now static.
Paul Eggert [Fri, 13 Dec 2002 08:42:03 +0000 (08:42 +0000)]
(symbol_check_defined,
symbol_check_alias_consistency, symbol_pack, symbol_translation,
hash_compare_symbol, hash_symbol):
Now inline. Return bool, not int.
(symbol_check_defined_processor,
symbol_check_alias_consistency_processor, symbol_pack_processor,
symbol_translation_processor, hash_symbol_comparator,
hash_symbol_hasher): New functions, to avoid casts.
(symbols_new, symbols_do, symbols_check_defined,
symbols_token_translations_init):
Use new functions instead of casting old functions unportably.
(symbol_free): Remove; unused.
(symbol_get): Remove cast in lhs of assignment.
(symbols_do): Now static. Accept generic arguments, not hashing-related ones.
Paul Eggert [Fri, 13 Dec 2002 08:39:01 +0000 (08:39 +0000)]
(state_number_as_int): Now inline functions rather than macros, to avoid casts.
Paul Eggert [Fri, 13 Dec 2002 08:37:52 +0000 (08:37 +0000)]
(state_compare): Now inline. Return bool, not int.
(state_comparator, stage_hasher): New function, to avoid casts.
(state_hash_new): Use new functions instead of casting old functions unportably.
(state_hash_lookup): Use MALLOC rather than alloca, so that we don't
have to worry about alloca.
(TRANSITIONS_ALLOC, ERRS_ALLOC, REDUCTIONS_ALLOC,
STATE_ALLOC): Remove.
(transitions_new, errs_new, reductions_new, state_new): Use malloc
rather than calloc, and use offsetof to avoid allocating slightly
too much storage.
(state_new): Initialize all members.
(state_hash): Use unsigned accumulator, not signed.
Paul Eggert [Fri, 13 Dec 2002 08:35:16 +0000 (08:35 +0000)]
(<SC_ESCAPED_CHARACTER>"'"): Use unsigned char
local var instead of casting to unsigned char, to avoid casts.
Paul Eggert [Fri, 13 Dec 2002 08:34:16 +0000 (08:34 +0000)]
XCALLOC -> CALLOC
Paul Eggert [Fri, 13 Dec 2002 08:33:27 +0000 (08:33 +0000)]
(reduce_grammar_tables): Do not subtract from the returned value of malloc.
Paul Eggert [Fri, 13 Dec 2002 08:32:12 +0000 (08:32 +0000)]
XCALLOC -> CALLOC, XMALLOC -> MALLOC.
Paul Eggert [Fri, 13 Dec 2002 08:31:23 +0000 (08:31 +0000)]
(GENERATE_MUSCLE_INSERT_TABLE): Use long local
var instead of casting to long, to avoid casts.
Paul Eggert [Fri, 13 Dec 2002 08:30:08 +0000 (08:30 +0000)]
(nullable_compute): Do not subtract from the returned value of malloc.
Paul Eggert [Fri, 13 Dec 2002 08:29:05 +0000 (08:29 +0000)]
(muscle_m4_output): Now inline. Return bool, not int.
(muscle_m4_output_processor): New function, to avoid casts.
(muscles_m4_output): Use new functions instead
of casting old functions unportably.
Paul Eggert [Fri, 13 Dec 2002 08:27:32 +0000 (08:27 +0000)]
(alloca) [C_ALLOCA]: Add decl here, the only place where it's needed.
Paul Eggert [Fri, 13 Dec 2002 08:26:46 +0000 (08:26 +0000)]
(set_goto_map): Do not subtract from the returned value of malloc.
(add_lookback_edge): Use malloc rather than calloc,
since the resulting storage is always stored into.
Paul Eggert [Fri, 13 Dec 2002 08:25:31 +0000 (08:25 +0000)]
(symbol_number_as_item_number,
item_number_as_symbol_number, rule_number_as_item_number,
item_number_as_rule_number): Now inline functions rather
than macros, to avoid casts.
(int_of_rule_number): Remove; no longer used.
Paul Eggert [Fri, 13 Dec 2002 08:22:26 +0000 (08:22 +0000)]
Undo XFREE change; we assume C89 compiler, not C89 library.
Paul Eggert [Fri, 13 Dec 2002 08:20:30 +0000 (08:20 +0000)]
Undo XFREE change; we assume C89 compiler, but not C89 library.
Paul Eggert [Fri, 13 Dec 2002 07:57:20 +0000 (07:57 +0000)]
Use free rather than XFREE.
Paul Eggert [Fri, 13 Dec 2002 07:54:02 +0000 (07:54 +0000)]
(getargs): Don't assume EOF == -1.
Paul Eggert [Fri, 13 Dec 2002 07:52:29 +0000 (07:52 +0000)]
(concat2, tr, compute_base_name): Use xmalloc (N) rather than XMALLOC
(char, N).
(filename_split): Rewrite to avoid cast.
Paul Eggert [Fri, 13 Dec 2002 04:50:32 +0000 (04:50 +0000)]
(derives_compute): Do not subtract NTOKENS from
the pointer DSET returned by malloc; this isn't portable.
Instead, always use DSET[i - NTOKENS] rather than DSET[i].
Similarly for DERIVES.
(derives_compute): Do not bother invoking
int_of_rule_number, since rule numbers are integers.
All uses of XCALLOC, XMALLOC, and XREALLOC changed to use new macros
CALLOC, MALLOC, REALLOC. All uses of XFREE changed to free.
Paul Eggert [Fri, 13 Dec 2002 04:45:45 +0000 (04:45 +0000)]
All uses of XCALLOC, XMALLOC, and XREALLOC changed to use new macros
CALLOC, MALLOC, REALLOC. All uses of XFREE changed to free.
Paul Eggert [Fri, 13 Dec 2002 04:45:04 +0000 (04:45 +0000)]
All uses of XCALLOC, XMALLOC, and XREALLOC changed to use new macros
CALLOC, MALLOC, REALLOC. All uses of XFREE changed to free.
Don't subtract from the value that malloc returns; it's not portable.
Paul Eggert [Fri, 13 Dec 2002 04:40:56 +0000 (04:40 +0000)]
(AC_CHECK_TYPES): Check for uintptr_t.
Paul Eggert [Wed, 11 Dec 2002 07:17:47 +0000 (07:17 +0000)]
Change identifier spellings to avoid collisions with names
that are reserved by POSIX.
Fix misspelling in names.
Sort include-file uses.
Paul Eggert [Wed, 11 Dec 2002 07:00:15 +0000 (07:00 +0000)]
(Torturing the Scanner): Rename value_t -> value,
value_t_as_yystype -> value_as_yystype.
Paul Eggert [Wed, 11 Dec 2002 06:59:39 +0000 (06:59 +0000)]
(_AT_DATA_CALC_Y, Simple LALR Calculator):
Rename value_t -> value.
Paul Eggert [Wed, 11 Dec 2002 06:59:06 +0000 (06:59 +0000)]
(G_EXPAND): Renamed from G_STRETCH.
(G_LONG_STRAIGHT_PHASE): Renamed from G_STRAIGHT_PHASE.
(N_EXPAND): Renamed from N_STRETCH.
(G_NODE_ALIGNMENT): Renamed from G_NODE_ALIGNEMENT.
Paul Eggert [Wed, 11 Dec 2002 06:58:17 +0000 (06:58 +0000)]
(enum color): Renamed from enum color_e.
(enum textmode): Renamed from enum textmode_e.
(enum shape): Renamed from enum shape_e.
(struct colorentry): Renamed from struct colorentry_s.
(struct classname): Renamed from struct classname_s.
(struct infoname): Renamed from struct infoname_s.
(enum layoutalgorithm): Renamed from enum layoutalgorithm_e.
(enum decision): Renamed from enum decision_e.
(enum orientation): Renamed from enum orientation_e.
(enum alignment): Renamed from enum alignment_e.
(enum arrow_mode): Renamed form enum arrow_mode_e.
(enum crossing_type): Renamed from enum crossing_type_e.
(enum view): Renamed from enum view_e.
(struct node): Renamed from struct node_s.
(node): Renamed from node_t.
(enum linestyle): Renamed from enum linestyle_e.
(enum arrowstyle): Renamed from enum arrowstyle_e.
(struct edge): Renamed from struct edge.
(edge): Renamed from edge_t.
(struct graph): Renamed from struct graph_s.
(graph): Renamed from graph_t.
(struct node_s.expand): Renamed from struct node_s.stretch.
(struct graph_s.expand): Renamed from struct graph_s.stretch.
(enum_alignment_e): Renamed from enum_alignement_e.
Paul Eggert [Wed, 11 Dec 2002 06:56:18 +0000 (06:56 +0000)]
Adjust to renamings.
Paul Eggert [Wed, 11 Dec 2002 06:55:34 +0000 (06:55 +0000)]
(base_number): Renamed from base_t.
Paul Eggert [Wed, 11 Dec 2002 06:54:42 +0000 (06:54 +0000)]
(vector_number): Renamed from vector_number_t.
(action_number): Renamed from action_t.
(VECTOR_NUMBER_MAX, VECTOR_NUMBER_MIN): Remove; unused.
(BASE_MAXIMUM): Renamed from BASE_MAX.
(BASE_MINIMUM): Renamed from BASE_MIN.
(ACTION_MAX): Remove; unused.
(ACTION_NUMBER_MINIMUM): Renamed from ACTION_MIN.
Paul Eggert [Wed, 11 Dec 2002 06:54:00 +0000 (06:54 +0000)]
Do not include <errno.h>.
(TAB_EXT): Renamed from EXT_TAB.
(OUTPUT_EXT): Renamed from EXT_OUTPUT.
(time_report): Remove; decl is now in lib/timevar.h.
Paul Eggert [Wed, 11 Dec 2002 06:53:20 +0000 (06:53 +0000)]
(symbol_number): Renamed from symbol_number_t.
(struct symbol): Renamed from struct symbol_s.
(symbol): Renamed from symbol_t.
Paul Eggert [Wed, 11 Dec 2002 06:52:09 +0000 (06:52 +0000)]
(symbol_list): Renamed from symbol_list_t.
(struct symbol_list): Renamed from struct symbol_list_s.
Paul Eggert [Wed, 11 Dec 2002 06:50:40 +0000 (06:50 +0000)]
(state_number): Renamed from state_number_t.
(struct state): Renamed from struct state_s.
(state): Renamed from state_t.
(transitions): Renamed from transitions_t. Unused (and
misspelled) transtion_s tag removed.
(errs): Renamed from errs_t. Unused errs_s tag removed.
(reductions): Renamed from reductions_t. Unused tag
reductions_s removed.
(STATE_NUMBER_MAXIMUM): Renamed from STATE_NUMBER_MAX.
Include "gram.h".
Paul Eggert [Wed, 11 Dec 2002 06:48:54 +0000 (06:48 +0000)]
Sort include files.
Paul Eggert [Wed, 11 Dec 2002 06:48:18 +0000 (06:48 +0000)]
(<INITIAL>{int}): Use set_errno and get_errno instead of errno.
(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>\\x[0-
9abcdefABCDEF]+): Likewise.
(handle_action_dollar, handle_action_at): Likewise.
(obstack_for_string): Renamed from string_obstack.
Paul Eggert [Wed, 11 Dec 2002 06:46:55 +0000 (06:46 +0000)]
(relation_node): Renamed from relation_node_t.
(relation_nodes): Renamed from relation_nodes_t.
(relation): Renamed from relation_t.
Paul Eggert [Wed, 11 Dec 2002 06:44:28 +0000 (06:44 +0000)]
(braced_code): Renamed from braced_code_t.
Remove brace_code_e tag.
Paul Eggert [Wed, 11 Dec 2002 06:43:08 +0000 (06:43 +0000)]
(static_graph): Renamed from graph.
Paul Eggert [Wed, 11 Dec 2002 06:40:51 +0000 (06:40 +0000)]
(<chars>): Renamed from <string>.
Paul Eggert [Wed, 11 Dec 2002 06:39:20 +0000 (06:39 +0000)]
(output_skeleton): Use get_errno instead of errno.
Paul Eggert [Wed, 11 Dec 2002 06:38:17 +0000 (06:38 +0000)]
(struct rule_list): Renamed from struct rule_list_s.
(rule_list): Renamed from rule_list_t.
Paul Eggert [Wed, 11 Dec 2002 06:37:17 +0000 (06:37 +0000)]
(muscle_entry_t): Remove; moved to muscle_tab.c and renamed to muscle_entry.
Paul Eggert [Wed, 11 Dec 2002 06:36:41 +0000 (06:36 +0000)]
(muscle_entry): Renamed from muscle_entry_t,
and moved here from muscle_tab.h.
Paul Eggert [Wed, 11 Dec 2002 06:35:35 +0000 (06:35 +0000)]
(location): Renamed from location_t.
Paul Eggert [Wed, 11 Dec 2002 06:35:10 +0000 (06:35 +0000)]
Adjust to type renaming.
Paul Eggert [Wed, 11 Dec 2002 06:34:37 +0000 (06:34 +0000)]
(goto_number): Renamed from goto_number_t.
(GOTO_NUMBER_MAXIMUM): Renamed from GOTO_NUMBER_MAX.
Paul Eggert [Wed, 11 Dec 2002 06:33:59 +0000 (06:33 +0000)]
(struct goto_list): Renamed from struct goto_list_s.
(goto_list): Renamed from goto_list_t.
Paul Eggert [Wed, 11 Dec 2002 06:33:22 +0000 (06:33 +0000)]
(item_number): Renamed from item_number_t.
(rule_number): Renamed from rule_number_t.
(struct rule_s): Remove the "rule_s" part; not used.
(rule): Renamed from rule_t.
(rule_filter): Renamed from rule_filter_t.
(ITEM_NUMBER_MAX, ITEM_NUMBER_MIN, RULE_NUMBER_MAX):
Remove; unused.
Paul Eggert [Wed, 11 Dec 2002 06:31:14 +0000 (06:31 +0000)]
(enum trace): Renamed from enum trace_e.
(enum report): Renamed from enum report_e.
Paul Eggert [Wed, 11 Dec 2002 06:30:36 +0000 (06:30 +0000)]
Adjust to struniq renaming.
Paul Eggert [Wed, 11 Dec 2002 06:29:17 +0000 (06:29 +0000)]
(strsuffix, stringappend): Remove; unused.
Paul Eggert [Wed, 11 Dec 2002 06:28:25 +0000 (06:28 +0000)]
(xfopen, xfclose): Use get_errno instead of errno.
(strsuffix): Remove; unused.
(concat2): Renamed from stringappend. Now static.
Paul Eggert [Wed, 11 Dec 2002 06:26:42 +0000 (06:26 +0000)]
Include "gram.h".
Paul Eggert [Wed, 11 Dec 2002 06:25:26 +0000 (06:25 +0000)]
(enum conflict_resolution): Renamed from enum conflict_resolution_e.
Paul Eggert [Wed, 11 Dec 2002 06:23:40 +0000 (06:23 +0000)]
Don't include stdlib.h, string.h _LIBC stuff.
Paul Eggert [Wed, 11 Dec 2002 05:32:51 +0000 (05:32 +0000)]
Adjust to type name changes.
Paul Eggert [Wed, 11 Dec 2002 05:31:40 +0000 (05:31 +0000)]
(assoc): Renamed from assoc_t.
Paul Eggert [Wed, 11 Dec 2002 05:31:12 +0000 (05:31 +0000)]
Adjust to type renamings.
Paul Eggert [Wed, 11 Dec 2002 05:30:26 +0000 (05:30 +0000)]
(bison_SOURCES): Rename struniq.c and struniq.h to uniqstr.c and uniqstr.h.
Paul Eggert [Wed, 11 Dec 2002 05:29:17 +0000 (05:29 +0000)]
(struct state_list): Renamed from struct state_list_s.
(state_list): Renamed from state_list_t.
Paul Eggert [Wed, 11 Dec 2002 05:28:00 +0000 (05:28 +0000)]
(timevar_report): New decl.
Paul Eggert [Wed, 11 Dec 2002 05:27:29 +0000 (05:27 +0000)]
(timevar_report): Renamed from time_report, for consistency with other
names.
Paul Eggert [Wed, 11 Dec 2002 05:26:00 +0000 (05:26 +0000)]
(libbison_a_SOURCES): Add get-errno.h, get-errno.c.
Paul Eggert [Wed, 11 Dec 2002 05:25:27 +0000 (05:25 +0000)]
(YYSTACK_GAP_MAXIMUM): Renamed from YYSTACK_GAP_MAX.
Paul Eggert [Wed, 11 Dec 2002 05:23:54 +0000 (05:23 +0000)]
Rename struniq -> uniqstr to avoid collision with <string.h>.
Paul Eggert [Wed, 11 Dec 2002 05:22:48 +0000 (05:22 +0000)]
Initial revision
Paul Eggert [Wed, 11 Dec 2002 05:22:23 +0000 (05:22 +0000)]
Initial revision.
Paul Eggert [Wed, 11 Dec 2002 05:20:31 +0000 (05:20 +0000)]
Rename struniq to uniqstr, to avoid collision with <string.h>.
Paul Eggert [Mon, 9 Dec 2002 04:48:38 +0000 (04:48 +0000)]
* data/glr.c, data/lalr1.cc, data/yacc.c: Do not use __file__,
since this causes problems when __file__ contains character
sequences like "@" that are treated specially by src/scan-skel.l.
Instead, just use the file's basename. This fixes the bug
reported by Martin Mokrejs in
<http://mail.gnu.org/pipermail/bug-bison/2002-December/001949.html>.
Paul Eggert [Sat, 7 Dec 2002 08:09:17 +0000 (08:09 +0000)]
Add support for rules that do not have trailing semicolons, as
POSIX requires. Improve the quality of locations in Bison
diagnostics.
Remove duplicate decl of current_file.
Fix minor promotion problem in templates.
Fix Debian Bug 102878.
Paul Eggert [Sat, 7 Dec 2002 06:16:58 +0000 (06:16 +0000)]
(Invalid inputs): No longer `expecting ";"
or "|"' now that so many other tokens are allowed by the new grammar.
Paul Eggert [Sat, 7 Dec 2002 06:16:30 +0000 (06:16 +0000)]
(Useless Rules, Reduced Automaton, Underivable Rules): Adjust reported
locations to match the more-precise results now expected.
Paul Eggert [Sat, 7 Dec 2002 06:15:55 +0000 (06:15 +0000)]
(Invalid $n, Invalid @n, Type Clashes):
Adjust reported locations to match the more-precise
results now expected.
Paul Eggert [Sat, 7 Dec 2002 06:15:18 +0000 (06:15 +0000)]
(S/R in initial, Defaulted Conflicted Reduction):
Adjust reported locations to match the more-precise
results now expected.
Paul Eggert [Sat, 7 Dec 2002 06:14:27 +0000 (06:14 +0000)]
Include "files.h".
(YY_USER_INIT): Initialize scanner_cursor instead
of *loc.
(STEP): Remove. No longer needed, now that adjust_location does
the work. All uses removed.
(scanner_cursor): New var.
(adjust_location): Renamed from extend_location. It now sets
*loc and adjusts the scanner cursor. All uses changed.
Don't bother testing for CR.
(handle_syncline): Remove location arg; now updates scanner cursor.
All callers changed.
(unexpected_end_of_file): Now accepts start boundary of token or
comment, not location. All callers changed. Update scanner cursor,
not the location.
(SC_AFTER_IDENTIFIER): New state.
(context_state): Renamed from c_context. All uses changed.
(id_loc, code_start, token_start): New local vars.
(<INITIAL,SC_AFTER_IDENTIFIER>): New initial context. Move all
processing of Yacc white space and equivalents here.
(<INITIAL>{id}): Save id_loc. Begin state SC_AFTER_IDENTIFIER
instead of returning ID immediately, since we need to search for
a subsequent colon.
(<INITIAL>"'", "\""): Save token_start.
(<INITIAL>"%{", "{", "%%"): Save code_start.
(<SC_AFTER_IDENTIFIER>): New state, looking for a colon.
(<SC_YACC_COMMENT>, <SC_COMMENT>, <SC_LINE_COMMENT>):
BEGIN context_state at end, not INITIAL.
(<SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'",
<SC_BRACED_CODE>"}", <SC_PROLOGUE>"%}", <SC_EPILOGUE><<EOF>>):
Return correct token start.
(<SC_BRACED_CODE,SC_PROLOGUE,SC_EPILOGUE>): Save start boundary when
the start of a character, string or multiline comment is found.
Paul Eggert [Sat, 7 Dec 2002 06:12:48 +0000 (06:12 +0000)]
(nonterminals_reduce): Use warn_at rather than rolling our own.
Paul Eggert [Sat, 7 Dec 2002 06:11:11 +0000 (06:11 +0000)]
Include location.h.
(scanner_cursor): New decl.
Paul Eggert [Sat, 7 Dec 2002 06:02:10 +0000 (06:02 +0000)]
Adjust to new location_t layout.
Paul Eggert [Sat, 7 Dec 2002 06:01:20 +0000 (06:01 +0000)]
(lloc_default): New function, which handles
empty locations more accurately.
(YYLLOC_DEFAULT): Use it.
(%token COLON): Remove.
(%token ID_COLON): New token.
(rules): Use it.
(declarations, rules): Remove trailing semicolon.
(declaration, rules_or_grammar_declaration):
Allow empty (";") declaration.
(symbol_def): Remove empty actions; no longer needed.
(rules_or_grammar_declaration): Remove trailing semicolon.
(semi_colon.opt): Remove.
Paul Eggert [Sat, 7 Dec 2002 05:58:38 +0000 (05:58 +0000)]
Do not include <quotearg.h>; no longer needed.
(boundary): New type.
(location_t): Use it. This allows locations to span file boundaries.
All member uses changed: file -> start.file or end.file (as needed),
first_line -> start.line, first_column -> start.column,
last_line -> end.line, last_column -> end.column.
(equal_boundaries): New function.
(LOCATION_RESET, LOCATION_STEP): Remove.
(LOCATION_PRINT): Remove. All callers changed to use location_print.
(empty_location): Now const.
(location_print): New decl.
Paul Eggert [Sat, 7 Dec 2002 05:57:32 +0000 (05:57 +0000)]
* src/location.c: Include <quotearg.h>.
(empty_location): Now const.
(location_print): New function. Follow the recommendation of the
GNU Coding Standards for locations that span file boundaries.
Paul Eggert [Sat, 7 Dec 2002 05:55:28 +0000 (05:55 +0000)]
LOCATION_PRINT -> location_print
Paul Eggert [Sat, 7 Dec 2002 05:54:29 +0000 (05:54 +0000)]
(current_file): Remove duplicate decl;
current_file is now owned by files.h.