platform/upstream/bison.git
21 years ago(unexpected_end_of_file): Fix bug: columns were counted in the token
Paul Eggert [Sun, 10 Nov 2002 05:17:56 +0000 (05:17 +0000)]
(unexpected_end_of_file): Fix bug: columns were counted in the token
inserted at end of file.  Now takes location_t *, not location_t, so
that the location can be adjusted.  All uses changed.

21 years agoFix the test failure due to GCC warnings described in
Paul Eggert [Sun, 10 Nov 2002 04:31:38 +0000 (04:31 +0000)]
Fix the test failure due to GCC warnings described in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001815.html>.

* data/glr.c (yyis_pact_ninf, yyis_table_ninf): New macros, which
evalutate to 0 if it's impossible for NINF to be in the respective
table.
(yygetLRActions, yyrecoverParseError): Use them.

21 years ago(scanner_last_string_free): Remove decl.
Paul Eggert [Fri, 8 Nov 2002 06:14:29 +0000 (06:14 +0000)]
(scanner_last_string_free): Remove decl.

21 years ago* src/parse-gram.y (CHARACTER): Remove unused token.
Paul Eggert [Fri, 8 Nov 2002 05:22:51 +0000 (05:22 +0000)]
* src/parse-gram.y (CHARACTER): Remove unused token.
All uses removed.

* src/scan-gram.l: Remove stack option.  We no longer use the
stack, since the stack was never deeper than 1; instead, use the
new auto var c_context to record the stacked value.

Remove nounput option.  At an unexpected end of file, we now unput
the minimal input necessary to end cleanly; this simplifies the
code.

Avoid unbounded token sizes where this is easy.

(unexpected_end_of_file): New function.
Use it to systematize the error message on unexpected EOF.
(last-string): Now auto, not static.
(YY_OBS_FREE): Remove unnecessary do while (0) wrapper.
(scanner_last_string_free): Remove; not used.
(percent_percent_count): Move decl to just before use.
(SC_ESCAPED_CHARACTER): Return ID at unexpected end of file,
not the (never otherwised-used) CHARACTER.

21 years agoRemove stack option. We no longer use the stack, since the stack was
Paul Eggert [Fri, 8 Nov 2002 05:20:20 +0000 (05:20 +0000)]
Remove stack option.  We no longer use the stack, since the stack was
never deeper than 1; instead, use the new auto var c_context to record
the stacked value.

Remove nounput option.  At an unexpected end of file, we now unput
the minimal input necessary to end cleanly; this simplifies the
code.

Avoid unbounded token sizes where this is easy.

(unexpected_end_of_file): New function.
Use it to systematize the error message on unexpected EOF.
(last-string): Now auto, not static.
(YY_OBS_FREE): Remove unnecessary do while (0) wrapper.
(scanner_last_string_free): Remove; not used.
(percent_percent_count): Move decl to just before use.
(SC_ESCAPED_CHARACTER): Return ID at unexpected end of file,
not the (never otherwised-used) CHARACTER.

21 years ago(CHARACTER): Remove unused token. All uses removed.
Paul Eggert [Fri, 8 Nov 2002 05:19:30 +0000 (05:19 +0000)]
(CHARACTER): Remove unused token.  All uses removed.

21 years agoUpdate.
Akim Demaille [Thu, 7 Nov 2002 14:28:40 +0000 (14:28 +0000)]
Update.

21 years agoTypo.
Akim Demaille [Thu, 7 Nov 2002 12:54:51 +0000 (12:54 +0000)]
Typo.

21 years agoLet yyerror always receive the msg as last argument, so that
Akim Demaille [Thu, 7 Nov 2002 12:52:19 +0000 (12:52 +0000)]
Let yyerror always receive the msg as last argument, so that
yyerror can be variadic.
* data/yacc.c (b4_yyerror_args): New.
Use it when calling yyerror.
* data/glr.c (b4_yyerror_args, b4_lyyerror_args): New.
Use it when calling yyerror.
* doc/bison.texinfo (Error Reporting): Adjust.
* tests/calc.at (_AT_DATA_CALC_Y): Adjust.
* tests/cxx-type.at (_AT_TEST_GLR_CALC): Adjust.

21 years agoRegen.
Akim Demaille [Thu, 7 Nov 2002 12:50:34 +0000 (12:50 +0000)]
Regen.

21 years ago* src/scan-gram.l (unexpected_end_of_file): New function.
Paul Eggert [Thu, 7 Nov 2002 08:15:28 +0000 (08:15 +0000)]
* src/scan-gram.l (unexpected_end_of_file): New function.
Use it to systematize the error message on unexpected EOF.

21 years ago(unexpected_end_of_file): New function.
Paul Eggert [Thu, 7 Nov 2002 08:15:11 +0000 (08:15 +0000)]
(unexpected_end_of_file): New function.
Use it to systematize the error message on unexpected EOF.

21 years agoMinor spelling and punctuation fix.
Paul Eggert [Thu, 7 Nov 2002 07:07:25 +0000 (07:07 +0000)]
Minor spelling and punctuation fix.

21 years agoFix minor troff and spelling glitches.
Paul Eggert [Thu, 7 Nov 2002 07:06:29 +0000 (07:06 +0000)]
Fix minor troff and spelling glitches.

21 years ago#line should have quoted strings.
Akim Demaille [Wed, 6 Nov 2002 16:22:04 +0000 (16:22 +0000)]
#line should have quoted strings.
Ideally, this should be done by m4_quotearg.
* src/scan-skel.l: Include quotearg.h.
Quote __ofile__.
* src/output.c (symbol_printers_output)
(symbol_destructors_output): Quote the file name.

21 years agoTypo.
Akim Demaille [Wed, 6 Nov 2002 15:35:03 +0000 (15:35 +0000)]
Typo.

21 years ago* tests/regression.at (Invalid inputs): Adjust to the recent
Akim Demaille [Wed, 6 Nov 2002 14:14:48 +0000 (14:14 +0000)]
* tests/regression.at (Invalid inputs): Adjust to the recent
messages.

21 years agoRestore --no-lines.
Akim Demaille [Wed, 6 Nov 2002 14:11:47 +0000 (14:11 +0000)]
Restore --no-lines.
Reported by Jim Kent.
* data/c.m4 (b4_syncline): New.
* data/glr.c, data/yacc.c, data/lalr1.cc: Use it.
* src/reader.c (prologue_augment, epilogue_set): Use b4_syncline.
* src/output.c (user_actions_output): Likewise.
(prepare): Define 'b4_synclines_flag'.

21 years ago* src/main.c (main): Free `infile'.
Akim Demaille [Wed, 6 Nov 2002 08:08:46 +0000 (08:08 +0000)]
* src/main.c (main): Free `infile'.
* src/scan-gram.l (handle_syncline): New.
Recognize `#line'.
* src/output.c (user_actions_output, symbol_destructors_output)
(symbol_printers_output): Use the location's file name, not
infile.
* src/reader.c (prologue_augment, epilogue_set): Likewise.

21 years ago* src/scan-gram.l: Use more accurate diagnostics, e.g.
Paul Eggert [Wed, 6 Nov 2002 07:04:24 +0000 (07:04 +0000)]
* src/scan-gram.l: Use more accurate diagnostics, e.g.
"integer out of range" rather than "invalid value".
* tests/input.at (Invalid $n, Invalid @n): Change expected wording
accordingly.

21 years ago(Invalid $n, Invalid @n): Change expected wording accordingly.
Paul Eggert [Wed, 6 Nov 2002 07:01:55 +0000 (07:01 +0000)]
(Invalid $n, Invalid @n): Change expected wording accordingly.

21 years agoUse more accurate diagnostics, e.g.
Paul Eggert [Wed, 6 Nov 2002 07:01:06 +0000 (07:01 +0000)]
Use more accurate diagnostics, e.g.
"integer out of range" rather than "invalid value".

21 years agoBison now parses C99 lexical constructs like digraphs, UCNs, and
Paul Eggert [Wed, 6 Nov 2002 06:56:35 +0000 (06:56 +0000)]
Bison now parses C99 lexical constructs like digraphs, UCNs, and
backslash-newline within C escape sequences, as POSIX now requires.

21 years agosrc/tables.c (matching_state): Don't allow states to match if
Paul Hilfinger [Wed, 6 Nov 2002 02:46:08 +0000 (02:46 +0000)]
src/tables.c (matching_state): Don't allow states to match if
either has GLR conflict entries.
ChangeLog: update for this and Hilfinger's preceding test-suite addition.

21 years agoRegenerate.
Paul Eggert [Wed, 6 Nov 2002 00:06:50 +0000 (00:06 +0000)]
Regenerate.

21 years agoScan <% and %> digraphs in C code as POSIX 1003.1-2001 requires.
Paul Eggert [Tue, 5 Nov 2002 23:52:28 +0000 (23:52 +0000)]
Scan <% and %> digraphs in C code as POSIX 1003.1-2001 requires.
Also, remove one static variable in the scanner.

21 years ago(braces_level): Now auto, not static.
Paul Eggert [Tue, 5 Nov 2002 23:50:11 +0000 (23:50 +0000)]
(braces_level): Now auto, not static.
Initialize to zero if the compiler is being picky.
(INITIAL): Clear braces_level instead of incrementing it.
(SC_BRACED_CODE): Treat <% and %> as { and } when inside C code,
as POSIX 1003.1-2001 requires.

21 years ago(IF_LINT): New macro, taken from coreutils.
Paul Eggert [Tue, 5 Nov 2002 23:42:51 +0000 (23:42 +0000)]
(IF_LINT): New macro, taken from coreutils.

21 years agoDefine "lint" if --enable-gcc-warnings.
Paul Eggert [Tue, 5 Nov 2002 23:42:10 +0000 (23:42 +0000)]
Define "lint" if --enable-gcc-warnings.

21 years ago* src/scan-gram.l: When it starts with `%', complain about the
Akim Demaille [Tue, 5 Nov 2002 21:20:14 +0000 (21:20 +0000)]
* src/scan-gram.l: When it starts with `%', complain about the
whole directive, not just that `invalid character: %'.

21 years ago* Makefile.maint: Update from Autoconf.
Akim Demaille [Mon, 4 Nov 2002 08:45:16 +0000 (08:45 +0000)]
* Makefile.maint: Update from Autoconf.
(update, cvs-update, po-update, do-po-update): New.

21 years ago* tests/glr-regr1.at (Badly Collapsed GLR States): Prototype yylex
Akim Demaille [Mon, 4 Nov 2002 08:30:18 +0000 (08:30 +0000)]
* tests/glr-regr1.at (Badly Collapsed GLR States): Prototype yylex
and yyerror.
Have yyerror `use' its arguments.
* tests/calc.at (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF
returns true when location & yacc & pure & parse-param.
(_AT_DATA_CALC_Y): Let yyerror ``use'' its arguments.

21 years ago* src/location.h (LOCATION_PRINT): Use quotearg slot 3 to avoid
Akim Demaille [Mon, 4 Nov 2002 08:28:01 +0000 (08:28 +0000)]
* src/location.h (LOCATION_PRINT): Use quotearg slot 3 to avoid
clashes.
* src/scan-gram.l: Use ['] instead of ['] to pacify
font-lock-mode.
Use complain_at.
Use quote, not quote_n since LOCATION_PRINT no longer uses the
slot 0.

21 years agoUpdate.
Akim Demaille [Mon, 4 Nov 2002 07:30:28 +0000 (07:30 +0000)]
Update.

21 years ago* src/reader.c (get_merge_function, grammar_current_rule_check):
Paul Eggert [Mon, 4 Nov 2002 07:29:57 +0000 (07:29 +0000)]
* src/reader.c (get_merge_function, grammar_current_rule_check):
Use consistent diagnostics for reporting type name clashes.
Quote the types with <>, for consistency with Yacc.
* tests/input.at (Type Clashes): Adjust to diagnostic changes.

21 years ago(Type Clashes): Adjust to diagnostic changes.
Paul Eggert [Mon, 4 Nov 2002 06:07:09 +0000 (06:07 +0000)]
(Type Clashes): Adjust to diagnostic changes.

21 years ago(get_merge_function, grammar_current_rule_check):
Paul Eggert [Mon, 4 Nov 2002 06:06:44 +0000 (06:06 +0000)]
(get_merge_function, grammar_current_rule_check):
Use consistent diagnostics for reporting type name clashes.
Quote the types with <>, for consistency with Yacc.

21 years ago* data/c.m4 (b4_identification, b4_user_args, b4_parse_param):
Akim Demaille [Sun, 3 Nov 2002 16:41:57 +0000 (16:41 +0000)]
* data/c.m4 (b4_identification, b4_user_args, b4_parse_param):
New.
* data/yacc.m4 (b4_pure_args, b4_Pure_args): New.
(b4_parse_param): Remove.
Use b4_identification.
Propagate b4_pure_args where needed to pass them to yyerror.
* data/glr.m4 (b4_parse_param): Remove.
(b4_user_formals, b4_pure_args, b4_pure_formals, b4_lpure_args)
(b4_lpure_formals): New.
Use b4_identification.
(YY_USER_FORMALS, YY_USER_ARGS): Remove, replaced by
b4_user_formals and b4_user_args.
(yyexpandGLRStack, yyFail, yyaddDeferredAction, yyglrShiftDefer)
(yyreportAmbiguity): When using a pure parser, also need
the location, and the parse-params.
Adjust callers.
(yyuserAction, yyglrShift, yyreportParseError, yyrecoverParseError):
When using a pure parser, also need the parse-params.
Adjust callers.
* tests/calc.at: Test pure (%pure-parser) and absolutely pure
(%pure-parser + %parse-param) LALR and GLR parsers.
(AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): New, define AT_PARAM_IF,
AT_LOCATION_IF, AT_PURE_IF, AT_GLR_IF, AAT_PURE_AND_LOC_IF,
AT_GLR_OR_PARAM_IF, AT_YYERROR_ARG_LOC_IF, AT_YYERROR_SEES_LOC_IF.
(_AT_DATA_CALC_Y): Equip for purity of yyerror.
(_AT_CHECK_CALC_ERROR): Use AT_YYERROR_SEES_LOC_IF.
* tests/cxx-type.at (_AT_TEST_GLR_CALC): Equip for yyerror purity.
* doc/bison.texinfo: Untabify the whole file.
(Parser Function): Document %parse-param, deprecate YYPARSE_PARAM.
(Pure Calling): Document %lex-param, deprecate YYLEX_PARAM.
(Error Reporting): Adjust to these new directives.
Document %error-verbose, deprecate YYERROR_VERBOSE.

21 years ago* tests/calc.at: Change all the AT_CHECK_CALC_LALR and
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.

21 years agoRegen.
Akim Demaille [Sun, 3 Nov 2002 12:14:47 +0000 (12:14 +0000)]
Regen.

21 years agoRegen.
Paul Eggert [Sun, 3 Nov 2002 08:53:56 +0000 (08:53 +0000)]
Regen.

21 years agoRevamp Bison scanner to fix POSIX incompatibilities,
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.

21 years agoAdd tests for backslash-newline, m4 quotes
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.

21 years agoRevamp to fix POSIX incompatibilities, to count columns correctly, and
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.

21 years ago(LOCATION_COLUMNS, LOCATION_LINES): Remove; no longer used.
Paul Eggert [Sun, 3 Nov 2002 08:41:08 +0000 (08:41 +0000)]
(LOCATION_COLUMNS, LOCATION_LINES): Remove; no longer used.

21 years ago(Grammar Outline): Document // comments.
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.

21 years ago(EXTRA_DIST): Add mbswidth.m4.
Paul Eggert [Sun, 3 Nov 2002 08:40:08 +0000 (08:40 +0000)]
(EXTRA_DIST): Add mbswidth.m4.

21 years ago(libbison_a_SOURCES): Add mbswidth.h, mbswidth.c.
Paul Eggert [Sun, 3 Nov 2002 08:39:43 +0000 (08:39 +0000)]
(libbison_a_SOURCES): Add mbswidth.h, mbswidth.c.

21 years ago(jm_PREREQ_MBSWIDTH): Add.
Paul Eggert [Sun, 3 Nov 2002 08:39:16 +0000 (08:39 +0000)]
(jm_PREREQ_MBSWIDTH): Add.

21 years agoNew files, from GNU gettext and GNU coreutils.
Paul Eggert [Sun, 3 Nov 2002 08:38:43 +0000 (08:38 +0000)]
New files, from GNU gettext and GNU coreutils.

21 years agoFix misspellings in comments.
Paul Eggert [Sun, 3 Nov 2002 07:56:25 +0000 (07:56 +0000)]
Fix misspellings in comments.

21 years agoDon't include quote.h; not needed.
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.

21 years ago(quotearg_buffer_restyled): Fix off-by-two bug in trigraph handling.
Paul Eggert [Sun, 3 Nov 2002 07:03:53 +0000 (07:03 +0000)]
(quotearg_buffer_restyled): Fix off-by-two bug in trigraph handling.

21 years ago(prepare_symbols): When printing token names, escape "[" as "@<:@" and
Paul Eggert [Sun, 3 Nov 2002 06:41:59 +0000 (06:41 +0000)]
(prepare_symbols): When printing token names, escape "[" as "@<:@" and
likewise for "]".

21 years ago(errno): Remove declaration, as we are now assuming C89 or better, and
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.

21 years ago* lib/bitset_stats.c (bitset_stats_read, bitset_stats_write):
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.

21 years ago* src/system.h: Don't use #ifdef/#ifndef on HAVE_ values, only
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.

21 years ago(output_skeleton): Use xfclose rather than fclose and ferror. xfclose
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.

21 years ago(xfclose): Return void, not int, since it always returned zero.
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.

21 years ago(xfclose): Return void, not int, since it always returned zero.
Paul Eggert [Wed, 30 Oct 2002 06:18:19 +0000 (06:18 +0000)]
(xfclose): Return void, not int, since it always returned zero.

21 years ago(bitset_stats_read, bitset_stats_write): Check for close failures.
Paul Eggert [Wed, 30 Oct 2002 06:17:52 +0000 (06:17 +0000)]
(bitset_stats_read, bitset_stats_write): Check for close failures.

21 years ago(YYLEFTMOST_STATE): Remove.
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.

21 years agoAdd test glr-regr1.at to check for incorrect collapsing of states during
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.

21 years ago(AC_INIT): Bump version to 1.75b.
Paul Eggert [Fri, 25 Oct 2002 06:56:26 +0000 (06:56 +0000)]
(AC_INIT): Bump version to 1.75b.

21 years agoVersion 1.75a.
Paul Eggert [Fri, 25 Oct 2002 06:05:50 +0000 (06:05 +0000)]
Version 1.75a.

21 years agoFix misspelling of "Valgrind".
Paul Eggert [Fri, 25 Oct 2002 05:37:58 +0000 (05:37 +0000)]
Fix misspelling of "Valgrind".

21 years ago* tests/calc.at (_AT_DATA_CALC_Y): Remove unused strcat declaration.
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.

21 years ago(_AT_DATA_CALC_Y): Remove unused strcat declaration.
Paul Eggert [Fri, 25 Oct 2002 05:13:44 +0000 (05:13 +0000)]
(_AT_DATA_CALC_Y): Remove unused strcat declaration.

21 years ago(_AT_TEST_GLR_CALC): Include stdlib.h, since
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.

21 years ago* src/output.c (output_skeleton): Don't disable M4sugar comments
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.

21 years ago* data/yacc.c (m4_int_type): New.
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.

21 years agoRegen.
Akim Demaille [Thu, 24 Oct 2002 09:58:55 +0000 (09:58 +0000)]
Regen.

21 years ago* src/main.c (main): With --trace=time, report times even if a
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.

21 years ago(main): With --trace=time, report times even if a non-fatal error
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.

21 years ago(reader): Just return if a complaint has been issued,
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.

21 years ago* src/system.h: Include sys/types.
Akim Demaille [Wed, 23 Oct 2002 16:30:50 +0000 (16:30 +0000)]
* src/system.h: Include sys/types.
Reported by Bert Deknuydt.

21 years agoAM_PROG_LEX -> AC_PROG_LEX.
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.

21 years ago(AC_PROG_LEX): Use instead of AM_PROG_LEX.
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.

21 years ago(exit) [! (STDC_HEADERS || _LIBC)]: Remove exit decl; not needed any more.
Paul Eggert [Wed, 23 Oct 2002 07:35:48 +0000 (07:35 +0000)]
(exit) [! (STDC_HEADERS || _LIBC)]: Remove exit decl; not needed any more.

21 years ago(main): Use return to exit, undoing yesterday's change.
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.

21 years ago(struct yyltype): Define members even when not
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

21 years agoMinor spelling and typographical fixes. Use @acronym consistently.
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.

21 years agoBe consistent about 'bool'.
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.

21 years ago* data/README: New.
Akim Demaille [Tue, 22 Oct 2002 11:32:38 +0000 (11:32 +0000)]
* data/README: New.

21 years agoUpdate.
Akim Demaille [Tue, 22 Oct 2002 11:19:45 +0000 (11:19 +0000)]
Update.

21 years agoRegen.
Akim Demaille [Tue, 22 Oct 2002 07:47:55 +0000 (07:47 +0000)]
Regen.

21 years ago(fatal, fatal_at): Add __attribute__((__noreturn__)).
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.

21 years ago(main): Use exit to exit with failure.
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.

21 years ago(getargs): 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__)).

21 years ago(xfopen, xfclose): Use EXIT_FAILURE rathern than 2.
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?

21 years ago(warning_issued): Renamed from warn_message_count,
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.

21 years agoUse C99-style bool instead of our own style.
Paul Eggert [Tue, 22 Oct 2002 04:46:28 +0000 (04:46 +0000)]
Use C99-style bool instead of our own style.

21 years agoUse 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)

21 years agoUse C99-style bool instead of our own style.
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.

21 years agose C99-style bool instead of our own style.
Paul Eggert [Tue, 22 Oct 2002 04:41:25 +0000 (04:41 +0000)]
se C99-style bool instead of our own style.

21 years ago(bool, false, true): Use a definition consistent with ../lib/hash.c.
Paul Eggert [Tue, 22 Oct 2002 04:40:09 +0000 (04:40 +0000)]
(bool, false, true): Use a definition consistent with ../lib/hash.c.

21 years ago(hash_compare_symbol_t): (a ? FALSE : TRUE) -> (! a)
Paul Eggert [Tue, 22 Oct 2002 04:39:44 +0000 (04:39 +0000)]
(hash_compare_symbol_t): (a ? FALSE : TRUE) -> (! a)

21 years ago(hash_compare_muscles): (a ? FALSE : TRUE) -> (! a)
Paul Eggert [Tue, 22 Oct 2002 04:39:05 +0000 (04:39 +0000)]
(hash_compare_muscles): (a ? FALSE : TRUE) -> (! a)

21 years ago(EXTRA_DIST): Add stdbool.m4.
Paul Eggert [Tue, 22 Oct 2002 04:38:11 +0000 (04:38 +0000)]
(EXTRA_DIST): Add stdbool.m4.

21 years ago(AC_HEADER_STDBOOL): Add.
Paul Eggert [Tue, 22 Oct 2002 04:37:50 +0000 (04:37 +0000)]
(AC_HEADER_STDBOOL): Add.