Akim Demaille [Sun, 3 Nov 2002 12:16:25 +0000 (12:16 +0000)]
* tests/calc.at: Change all the AT_CHECK_CALC_LALR and
AT_CHECK_CALC_GLR invocations to use % directives, instead of
command line options.
* tests/cxx-type.at: Formatting changes.
Akim Demaille [Sun, 3 Nov 2002 12:14:47 +0000 (12:14 +0000)]
Regen.
Paul Eggert [Sun, 3 Nov 2002 08:53:56 +0000 (08:53 +0000)]
Regen.
Paul Eggert [Sun, 3 Nov 2002 08:49:58 +0000 (08:49 +0000)]
Revamp Bison scanner to fix POSIX incompatibilities,
to count columns correctly, and to check for invalid inputs.
Paul Eggert [Sun, 3 Nov 2002 08:42:56 +0000 (08:42 +0000)]
Add tests for backslash-newline, m4 quotes
in symbols, long literals, and funny escapes in strings.
Paul Eggert [Sun, 3 Nov 2002 08:42:32 +0000 (08:42 +0000)]
Revamp to fix POSIX incompatibilities, to count columns correctly, and
to check for invalid inputs.
Use mbsnwidth to count columns correctly. Account for tabs, too.
Include mbswidth.h.
(YY_USER_ACTION): Invoke extend_location rather than LOCATION_COLUMNS.
(extend_location): New function.
(YY_LINES): Remove.
Handle CRLF in C code rather than in Lex code.
(YY_INPUT): New macro.
(no_cr_read): New function.
Scan UCNs, even though we don't fully handle them yet.
(convert_ucn_to_byte): New function.
Handle backslash-newline correctly in C code.
(SC_LINE_COMMENT, SC_YACC_COMMENT): New states.
(eols, blanks): Remove. YY_USER_ACTION now counts newlines etc.;
all uses changed.
(tag, splice): New EREs. Do not allow NUL or newline in tags.
Use {splice} wherever C allows backslash-newline.
YY_STEP after space, newline, vertical-tab.
("/*"): BEGIN SC_YACC_COMMENT, not yy_push_state (SC_COMMENT).
(letter, id): Don't assume ASCII; e.g., spell out a-z.
({int}, handle_action_dollar, handle_action_at): Check for integer
overflow.
(YY_STEP): Omit trailing semicolon, so that it's more like C.
(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>): Allow \0 and \00
as well as \000. Check for UCHAR_MAX, not 255.
Allow \x with an arbitrary positive number of digits, as in C.
Check for overflow here.
Allow \? and UCNs, for compatibility with C.
(handle_symbol_code_dollar): Use quote_n slot 1 to avoid collision
with quote slot used by complain_at.
Paul Eggert [Sun, 3 Nov 2002 08:41:08 +0000 (08:41 +0000)]
(LOCATION_COLUMNS, LOCATION_LINES): Remove; no longer used.
Paul Eggert [Sun, 3 Nov 2002 08:40:39 +0000 (08:40 +0000)]
(Grammar Outline): Document // comments.
(Symbols): Document that trigraphs have no special meaning in Bison,
nor is backslash-newline allowed.
(Actions): Document that trigraphs have no special meaning.
Paul Eggert [Sun, 3 Nov 2002 08:40:08 +0000 (08:40 +0000)]
(EXTRA_DIST): Add mbswidth.m4.
Paul Eggert [Sun, 3 Nov 2002 08:39:43 +0000 (08:39 +0000)]
(libbison_a_SOURCES): Add mbswidth.h, mbswidth.c.
Paul Eggert [Sun, 3 Nov 2002 08:39:16 +0000 (08:39 +0000)]
(jm_PREREQ_MBSWIDTH): Add.
Paul Eggert [Sun, 3 Nov 2002 08:38:43 +0000 (08:38 +0000)]
New files, from GNU gettext and GNU coreutils.
Paul Eggert [Sun, 3 Nov 2002 07:56:25 +0000 (07:56 +0000)]
Fix misspellings in comments.
Paul Eggert [Sun, 3 Nov 2002 07:49:40 +0000 (07:49 +0000)]
Don't include quote.h; not needed.
(get_merge_function): Reword warning to be consistent with type clash
diagnostic in grammar_current_rule_check.
Paul Eggert [Sun, 3 Nov 2002 07:03:53 +0000 (07:03 +0000)]
(quotearg_buffer_restyled): Fix off-by-two bug in trigraph handling.
Paul Eggert [Sun, 3 Nov 2002 06:41:59 +0000 (06:41 +0000)]
(prepare_symbols): When printing token names, escape "[" as "@<:@" and
likewise for "]".
Paul Eggert [Sun, 3 Nov 2002 06:16:55 +0000 (06:16 +0000)]
(errno): Remove declaration, as we are now assuming C89 or better, and
C89 guarantees errno.
Paul Eggert [Wed, 30 Oct 2002 09:45:46 +0000 (09:45 +0000)]
* lib/bitset_stats.c (bitset_stats_read, bitset_stats_write):
Check for close failures.
* src/files.h (xfclose): Return void, not int, since it always
returned zero.
* src/files.c (xfclose): Likewise. Report I/O error if ferror
indicates one.
* src/output.c (output_skeleton): Use xfclose rather than fclose
and ferror. xfclose now checks ferror.
* data/glr.c (YYLEFTMOST_STATE): Remove.
(yyreportTree): Use a stack-based leftmost state. This avoids
our continuing battles with bogus warnings about initializers.
Akim Demaille [Wed, 30 Oct 2002 08:31:24 +0000 (08:31 +0000)]
* src/system.h: Don't use #ifdef/#ifndef on HAVE_ values, only
#if.
Paul Eggert [Wed, 30 Oct 2002 06:20:02 +0000 (06:20 +0000)]
(output_skeleton): Use xfclose rather than fclose and ferror. xfclose
now checks ferror.
Paul Eggert [Wed, 30 Oct 2002 06:19:00 +0000 (06:19 +0000)]
(xfclose): Return void, not int, since it always returned zero.
Report I/O error if ferror indicates one.
Paul Eggert [Wed, 30 Oct 2002 06:18:19 +0000 (06:18 +0000)]
(xfclose): Return void, not int, since it always returned zero.
Paul Eggert [Wed, 30 Oct 2002 06:17:52 +0000 (06:17 +0000)]
(bitset_stats_read, bitset_stats_write): Check for close failures.
Paul Eggert [Wed, 30 Oct 2002 05:38:30 +0000 (05:38 +0000)]
(YYLEFTMOST_STATE): Remove.
(yyreportTree): Use a stack-based leftmost state. This avoids
our continuing battles with bogus warnings about initializers.
Paul Hilfinger [Wed, 30 Oct 2002 02:03:14 +0000 (02:03 +0000)]
Add test glr-regr1.at to check for incorrect collapsing of states during
table compression in GLR parser.
Paul Eggert [Fri, 25 Oct 2002 06:56:26 +0000 (06:56 +0000)]
(AC_INIT): Bump version to 1.75b.
Paul Eggert [Fri, 25 Oct 2002 06:05:50 +0000 (06:05 +0000)]
Version 1.75a.
Paul Eggert [Fri, 25 Oct 2002 05:37:58 +0000 (05:37 +0000)]
Fix misspelling of "Valgrind".
Paul Eggert [Fri, 25 Oct 2002 05:14:04 +0000 (05:14 +0000)]
* tests/calc.at (_AT_DATA_CALC_Y): Remove unused strcat declaration.
* tests/cxx-type.at (_AT_TEST_GLR_CALC): Include stdlib.h, since
we use malloc. Don't assume 'A' through 'Z' are contiguous.
Don't assume strdup exists; POSIX says its an XSI extension.
Check for buffer overflow on input.
Paul Eggert [Fri, 25 Oct 2002 05:13:44 +0000 (05:13 +0000)]
(_AT_DATA_CALC_Y): Remove unused strcat declaration.
Paul Eggert [Fri, 25 Oct 2002 05:13:24 +0000 (05:13 +0000)]
(_AT_TEST_GLR_CALC): Include stdlib.h, since
we use malloc. Don't assume 'A' through 'Z' are contiguous.
Don't assume strdup exists; POSIX says its an XSI extension.
Check for buffer overflow on input.
Akim Demaille [Thu, 24 Oct 2002 11:40:27 +0000 (11:40 +0000)]
* src/output.c (output_skeleton): Don't disable M4sugar comments
too soon: it results in comments being expanded.
* data/yacc.c, data/glr.c, data/lalr1.cc: Do it right before the
first output.
Akim Demaille [Thu, 24 Oct 2002 10:01:52 +0000 (10:01 +0000)]
* data/yacc.c (m4_int_type): New.
* data/c.m4 (m4_int_type): Don't use yysigned_char, but `signed
char' as only yacc.c wants K&R portability.
* data/glr.c (yysigned_char): Remove.
* data/lalr1.cc: Rename the trailing b4_name as b4_parser_class_name.
Reported by Quoc Peyrot.
Akim Demaille [Thu, 24 Oct 2002 09:58:55 +0000 (09:58 +0000)]
Regen.
Paul Eggert [Wed, 23 Oct 2002 18:42:04 +0000 (18:42 +0000)]
* src/main.c (main): With --trace=time, report times even if a
non-fatal error occurs. Formerly, the times were reported in some
such cases but not in others.
* src/reader.c (reader): Just return if a complaint has been issued,
instead of exiting, so that 'main' can report times.
Paul Eggert [Wed, 23 Oct 2002 18:41:43 +0000 (18:41 +0000)]
(main): With --trace=time, report times even if a non-fatal error
occurs. Formerly, the times were reported in some such cases but not
in others.
Paul Eggert [Wed, 23 Oct 2002 18:41:04 +0000 (18:41 +0000)]
(reader): Just return if a complaint has been issued,
instead of exiting, so that 'main' can report times.
Akim Demaille [Wed, 23 Oct 2002 16:30:50 +0000 (16:30 +0000)]
* src/system.h: Include sys/types.
Reported by Bert Deknuydt.
Paul Eggert [Wed, 23 Oct 2002 08:09:43 +0000 (08:09 +0000)]
AM_PROG_LEX -> AC_PROG_LEX.
Go back to returning (not exiting) from main.
Work around empty struct in glr.c.
Typo fixes for doc.
Paul Eggert [Wed, 23 Oct 2002 08:07:13 +0000 (08:07 +0000)]
(AC_PROG_LEX): Use instead of AM_PROG_LEX.
Suggested by Art Haas.
Paul Eggert [Wed, 23 Oct 2002 07:35:48 +0000 (07:35 +0000)]
(exit) [! (STDC_HEADERS || _LIBC)]: Remove exit decl; not needed any more.
Paul Eggert [Wed, 23 Oct 2002 07:00:19 +0000 (07:00 +0000)]
(main): Use return to exit, undoing yesterday's change.
The last OS that we could find where this wouldn't work is
SunOS 3.5, and that's too old to worry about now.
Paul Eggert [Wed, 23 Oct 2002 06:30:49 +0000 (06:30 +0000)]
(struct yyltype): Define members even when not
doing locations. This is more consistent with yacc.c, and it
works around the following bug reports:
http://mail.gnu.org/pipermail/bug-bison/2002-October/001748.html
http://mail.gnu.org/pipermail/bug-bison/2002-October/001764.html
http://mail.gnu.org/pipermail/bug-bison/2002-October/001769.html
Paul Eggert [Wed, 23 Oct 2002 05:26:32 +0000 (05:26 +0000)]
Minor spelling and typographical fixes. Use @acronym consistently.
Standardize on "Yacc" instead of "YACC", "Algol" instead of "ALGOL".
Give a bit more history about BNF.
Paul Eggert [Wed, 23 Oct 2002 03:59:56 +0000 (03:59 +0000)]
Be consistent about 'bool'.
* src/complain.c (warning_issued): Renamed from warn_message_count; now bool.
(complaint_issued): Renamed from complain_message_count; likewise.
* src/main.c (main): Use exit to exit with failure.
* src/complain.c (fatal_at, fatal): Use EXIT_FAILURE and EXIT_SUCCESS
rather than 1 and 0.
* src/main.c (main): Likewise.
* src/getargs.c (getargs): Likewise.
* src/reader.c (reader): Likewise.
* src/getarg.c (getargs): Remove duplicate code for
"Try `bison --help'".
* src/files.c (xfopen, xfclose): Use EXIT_FAILURE rather than 2.
What was that "2" for?
* src/complain.h (fatal, fatal_at): Add __attribute__((__noreturn__)).
* src/getargs.c (usage): Likewise.
* src/getargs.c (getargs): When there are too few operands, report
the last one. When there are too many, report the first extra
one. This is how diffutils does it.
Akim Demaille [Tue, 22 Oct 2002 11:32:38 +0000 (11:32 +0000)]
* data/README: New.
Akim Demaille [Tue, 22 Oct 2002 11:19:45 +0000 (11:19 +0000)]
Update.
Akim Demaille [Tue, 22 Oct 2002 07:47:55 +0000 (07:47 +0000)]
Regen.
Paul Eggert [Tue, 22 Oct 2002 05:12:08 +0000 (05:12 +0000)]
(fatal, fatal_at): Add __attribute__((__noreturn__)).
(warning_issued): Renamed from warn_message_count. Now bool.
(complaint_issued): Renamed from complain_message_count. Now bool.
Paul Eggert [Tue, 22 Oct 2002 05:07:12 +0000 (05:07 +0000)]
(main): Use exit to exit with failure.
Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
Paul Eggert [Tue, 22 Oct 2002 05:06:21 +0000 (05:06 +0000)]
(getargs): Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
Remove duplicate code for "Try `bison --help'".
(usage): Add __attribute__((__noreturn__)).
Paul Eggert [Tue, 22 Oct 2002 05:01:46 +0000 (05:01 +0000)]
(xfopen, xfclose): Use EXIT_FAILURE rathern than 2.
What was that "2" for?
Paul Eggert [Tue, 22 Oct 2002 04:53:49 +0000 (04:53 +0000)]
(warning_issued): Renamed from warn_message_count,
so that we needn't worry about integer overflow (!).
Now of type bool. All uses changed.
(complaint_issued): Renamed from complain_message_count; likewise.
(fatal_at, fatal): Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
Paul Eggert [Tue, 22 Oct 2002 04:46:28 +0000 (04:46 +0000)]
Use C99-style bool instead of our own style.
Paul Eggert [Tue, 22 Oct 2002 04:45:51 +0000 (04:45 +0000)]
Use C99-style bool instead of our own style.
(comment change only)
Paul Eggert [Tue, 22 Oct 2002 04:43:50 +0000 (04:43 +0000)]
Use C99-style bool instead of our own style.
(reader): Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
Paul Eggert [Tue, 22 Oct 2002 04:41:25 +0000 (04:41 +0000)]
se C99-style bool instead of our own style.
Paul Eggert [Tue, 22 Oct 2002 04:40:09 +0000 (04:40 +0000)]
(bool, false, true): Use a definition consistent with ../lib/hash.c.
Paul Eggert [Tue, 22 Oct 2002 04:39:44 +0000 (04:39 +0000)]
(hash_compare_symbol_t): (a ? FALSE : TRUE) -> (! a)
Paul Eggert [Tue, 22 Oct 2002 04:39:05 +0000 (04:39 +0000)]
(hash_compare_muscles): (a ? FALSE : TRUE) -> (! a)
Paul Eggert [Tue, 22 Oct 2002 04:38:11 +0000 (04:38 +0000)]
(EXTRA_DIST): Add stdbool.m4.
Paul Eggert [Tue, 22 Oct 2002 04:37:50 +0000 (04:37 +0000)]
(AC_HEADER_STDBOOL): Add.
Paul Eggert [Tue, 22 Oct 2002 04:36:31 +0000 (04:36 +0000)]
New file, from coreutils 4.5.3.
Paul Eggert [Mon, 21 Oct 2002 18:15:13 +0000 (18:15 +0000)]
(getargs): When there are too few operands, report the last one. When
there are too many, report the first extra one. This is how diffutils
does it.
Paul Eggert [Mon, 21 Oct 2002 05:31:34 +0000 (05:31 +0000)]
Remove K&R vestiges.
* configure.ac (AC_C_CONST, AM_C_PROTOTYPES): Remove.
* src/complain.c (VA_START): Remove. Assume prototypes.
(vfprintf) [! (HAVE_VPRINTF || defined vfprintf)]: New macro.
(private_strerror, warn_at, warn, complain_at, complain, fatal_at,
fatal): Assume prototypes.
* src/complain.h: Assume prototypes.
* src/system.h (PARAMS): Remove.
Include <limits.h> unconditionally, since it's guaranteeed even
for a freestanding C89 compiler.
(SHRT_MIN, SHRT_MAX): Remove, since C89 guarantees them.
* src/vmsgetargs.c (getargs, cli_present, cli_get_value): Prototype.
Paul Eggert [Mon, 21 Oct 2002 05:30:50 +0000 (05:30 +0000)]
Remove all uses of PARAMS, since we now assume C89 or better.
Paul Eggert [Mon, 21 Oct 2002 05:29:50 +0000 (05:29 +0000)]
(getargs, cli_present, cli_get_value): Prototype.
Paul Eggert [Mon, 21 Oct 2002 05:29:07 +0000 (05:29 +0000)]
(PARAMS): Remove.
Include <limits.h> unconditionally, since it's guaranteeed even
for a freestanding C89 compiler.
(SHRT_MIN, SHRT_MAX): Remove, since C89 guarantees them.
Paul Eggert [Mon, 21 Oct 2002 05:28:34 +0000 (05:28 +0000)]
Assume prototypes.
Paul Eggert [Mon, 21 Oct 2002 05:28:16 +0000 (05:28 +0000)]
(VA_START): Remove. Assume prototypes.
(vfprintf) [! (HAVE_VPRINTF || defined vfprintf)]: New macro.
(private_strerror, warn_at, warn, complain_at, complain, fatal_at,
fatal): Assume prototypes.
Paul Eggert [Mon, 21 Oct 2002 05:27:45 +0000 (05:27 +0000)]
(AC_C_CONST, AM_C_PROTOTYPES): Remove.
Akim Demaille [Sun, 20 Oct 2002 16:09:47 +0000 (16:09 +0000)]
* src/muscle_tab.c (muscle_grow): Remove trailing debugging code.
* data/glr.c (YY_USER_FORMALS, YY_USER_ARGS): New.
(yyuserAction, yydoAction, yyglrReduce, yyresolveValue)
(yyresolveStates, yyresolveAction, yyresolveStack)
(yyprocessOneStack): Use them.
(yy_reduce_print): New.
* tests/calc.at (_AT_DATA_CALC_Y): Exercise %parse-param.
Akim Demaille [Sun, 20 Oct 2002 12:51:10 +0000 (12:51 +0000)]
* data/c.m4 (b4_c_ansi_args): Recognize functions with no
arguments and output `void'.
(b4_c_function): Rename as...
(b4_c_function_def): this.
(b4_c_function_decl, b4_c_ansi_function_def)
(b4_c_ansi_function_decl): New.
Change the interpretation of the arguments: before `int, foo', now
`int foo, foo'.
* data/yacc.c (yyparse): Prototype and define thanks to these.
Adjust b4_c_function_def uses.
* data/glr.c (yyparse): Likewise, but ANSI only.
Akim Demaille [Sun, 20 Oct 2002 11:20:15 +0000 (11:20 +0000)]
* src/output.c (prepare): Move the definition of `tokens_number',
`nterms_number', `undef_token_number', `user_token_number_max'
to...
(prepare_tokens): Here.
(prepare_tokens): Rename as...
(prepare_symbols): this.
(prepare): Move the definition of `rules_number' to...
(prepare_rules): here.
(prepare): Move the definition of `last', `final_state_number',
`states_number' to...
(prepare_states): here.
* data/yacc.c, data/lalr1.cc, data/glr.c: Normalize `>' into `<'.
Akim Demaille [Sun, 20 Oct 2002 11:18:14 +0000 (11:18 +0000)]
* src/tables.h, src/tables.c, src/output.c: Comment changes.
Akim Demaille [Sun, 20 Oct 2002 11:17:20 +0000 (11:17 +0000)]
* data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
* data/c.m4: here.
Akim Demaille [Sun, 20 Oct 2002 11:16:01 +0000 (11:16 +0000)]
* src/output.c (prepare): Use MUSCLE_INSERT_STRING.
* src/muscle_tab.c (muscle_pair_list_grow): Rename `val as
`pair'.
(muscle_init): Move the `b4_ltype', `b4_maxdepth', `b4_initdepth',
`name' to...
* data/glr.c, data/lalr1.cc, data/yacc.c (b4_location_type)
(b4_stack_depth_init, b4_stack_depth_max, b4_parser_class_name):
These.
Paul Eggert [Sun, 20 Oct 2002 06:37:08 +0000 (06:37 +0000)]
Do not create a temporary file, as that involves security and
cleanup headaches. Instead, use a pair of pipes.
Derived from a suggestion by Florian Krohm.
Also, some other minor changes to avoid GCC warnings.
Paul Eggert [Sun, 20 Oct 2002 06:35:41 +0000 (06:35 +0000)]
Do not create a temporary file, as that involves security and
cleanup headaches. Instead, use a pair of pipes. Derived from
a suggestion by Florian Krohm.
Paul Eggert [Sun, 20 Oct 2002 06:32:04 +0000 (06:32 +0000)]
(readpipe): Remove decl.
(scan_skel): New function, to be used in place of m4_invoke.
Read from stream rather than file.
Paul Eggert [Sun, 20 Oct 2002 06:31:23 +0000 (06:31 +0000)]
Include "subpipe.h".
(m4_invoke): Remove decl.
(scan_skel): New decl.
(output_skeleton): Use pipe rather than temporary file for m4 input.
Check that m4sugar.m4 is readable, to avoid deadlock.
Check for pipe I/O error.
Paul Eggert [Sun, 20 Oct 2002 06:30:43 +0000 (06:30 +0000)]
Add lib/subpipe.c.
Paul Eggert [Sun, 20 Oct 2002 06:30:15 +0000 (06:30 +0000)]
(EXTRA_DIST): Remove mkstemp.m4. Add subpipe.m4.
Paul Eggert [Sun, 20 Oct 2002 06:29:41 +0000 (06:29 +0000)]
(libbison_a_SOURCES): Remove readpipe.c.
Add subpipe.h, subpipe.c.
Paul Eggert [Sun, 20 Oct 2002 06:29:09 +0000 (06:29 +0000)]
(UTILS_FUNC_MKSTEMP, jm_PREREQ_TEMPNAME): Remove.
(BISON_PREREQ_SUBPIPE): Add.
Paul Eggert [Sun, 20 Oct 2002 06:28:23 +0000 (06:28 +0000)]
Initial version.
Paul Eggert [Sun, 20 Oct 2002 06:01:07 +0000 (06:01 +0000)]
(prepare): Use xstrdup to convert char const * to char *, to avoid GCC
warning.
Paul Eggert [Sun, 20 Oct 2002 05:47:09 +0000 (05:47 +0000)]
(muscle_pair_list_grow): Rename local to avoid confusion with
similarly-named more-global.
Paul Eggert [Sun, 20 Oct 2002 05:34:55 +0000 (05:34 +0000)]
(TICKS_TO_MSEC, CLOCKS_TO_MSEC): Do not cast to
float, as this generates a warning on Solaris 8 + GCC 3.2 with
--enable-gcc-warnings. Instead, divide into 1.0 rather than 1;
this generates a more-accurate value anyway.
(timervar_accumulate): Rename local variables to avoid confusion
with similarly-named global 'start_time'.
Paul Eggert [Sun, 20 Oct 2002 05:23:11 +0000 (05:23 +0000)]
Spell `-*- Autoconf -*-' properly; the leading `-' was missing.
Akim Demaille [Sat, 19 Oct 2002 14:39:07 +0000 (14:39 +0000)]
* tests/calc.at (_AT_DATA_CALC_Y): Define VAL, LOC, LEX_FORMALS,
LEX_PRE_FORMALS, LEX_ARGS, LEX_PRE_ARGS, USE_LEX_ARGS.
Use them to have `calc.y' ready for %pure-parser.
* data/yacc.c (YYLEX): Pass a yylex return type to
b4_c_function_call.
Akim Demaille [Sat, 19 Oct 2002 14:38:06 +0000 (14:38 +0000)]
Prototype support of %lex-param and %parse-param.
* src/parse-gram.y: Add the definition of the %lex-param and
%parse-param tokens, plus their rules.
Drop the `_' version of %glr-parser.
Add the "," token.
* src/scan-gram.l (INITIAL): Scan them.
* src/muscle_tab.c: Comment changes.
(muscle_insert, muscle_find): Rename `pair' as `probe'.
* src/muscle_tab.h (MUSCLE_INSERT_PREFIX): Remove unused.
(muscle_entry_s): The `value' member is no longer const.
Adjust all dependencies.
* src/muscle_tab.c (muscle_init): Adjust: use
MUSCLE_INSERT_STRING.
Initialize the obstack earlier.
* src/muscle_tab.h, src/muscle_tab.c (muscle_grow)
(muscle_pair_list_grow): New.
* data/c.m4 (b4_c_function_call, b4_c_args): New.
* data/yacc.c (YYLEX): Use b4_c_function_call to honor %lex-param.
* tests/calc.at: Use %locations, not --locations.
(AT_CHECK_CALC_GLR): Use %glr-parser, not %glr_parser.
Akim Demaille [Sat, 19 Oct 2002 14:36:40 +0000 (14:36 +0000)]
* src/getargs.c (usage): Take status as argument and exit
accordingly.
Report the traditional `Try ... --help' message when status != 0.
(usage, version): Don't take a FILE * as arg, it is pointless.
(getargs): When there is an incorrect number of arguments, make it
an error, and report it GNUlically thanks to `usage ()'.
Paul Eggert [Sat, 19 Oct 2002 01:33:39 +0000 (01:33 +0000)]
* data/glr.c (yyreportParseError): Don't assume that sprintf
yields the length of the printed string, as this is not true
on SunOS 4.1.4. Reported by Peter Klein.
Paul Eggert [Sat, 19 Oct 2002 01:33:20 +0000 (01:33 +0000)]
(yyreportParseError): Don't assume that sprintf
yields the length of the printed string, as this is not true
on SunOS 4.1.4. Reported by Peter Klein.
Paul Eggert [Sat, 19 Oct 2002 01:10:26 +0000 (01:10 +0000)]
* tests/calc.at (_AT_DATA_CALC_Y): #undef memcmp and realloc.
* tests/conflicts.at (%nonassoc and eof): Likewise.
Fixes SunOS 4.1.4 test failure reported by Peter Klein.
Paul Eggert [Sat, 19 Oct 2002 01:09:36 +0000 (01:09 +0000)]
(%nonassoc and eof): #undef memcmp and realloc.
Paul Eggert [Sat, 19 Oct 2002 01:09:13 +0000 (01:09 +0000)]
(_AT_DATA_CALC_Y): #undef memcmp and realloc.
Akim Demaille [Thu, 17 Oct 2002 17:47:33 +0000 (17:47 +0000)]
* src/getargs.h (trace_e): Add trace_scan, and trace_parse.
* src/getargs.c (trace_types, trace_args): Adjust.
* src/reader.c (grammar_current_rule_prec_set)
(grammar_current_rule_dprec_set, grammar_current_rule_merge_set):
Standardize error messages.
And s/@prec/%prec/!
(reader): Use trace_flag to enable scanner/parser debugging,
instead of an adhoc scheme.
* src/scan-gram.l: Remove trailing debugging code.
Paul Eggert [Thu, 17 Oct 2002 06:31:51 +0000 (06:31 +0000)]
* src/muscle_tab.h (MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H.