Paul Eggert [Mon, 13 Jan 2003 07:19:17 +0000 (07:19 +0000)]
%expect-violations are now just warnings, reverting to old behavior.
Update copyright year.
Paul Eggert [Mon, 13 Jan 2003 06:41:29 +0000 (06:41 +0000)]
* NEWS: %expect-violations are now just warnings, reverting
to Bison 1.30 and 1.75 behavior. This fixes the GCC 3.2
bootstrapping problem reported by Matthias Klose; see
<http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00053.html>.
* src/conflicts.c (conflicts_print): Likewise.
* tests/conflicts.at (%expect not enough, %expect too much,
%expect with reduce conflicts): Likewise.
* doc/bison.texinfo (Expect Decl): Document this. Also mention
that the warning is enabled if the number of conflicts changes
(not necessarily increases).
Paul Eggert [Sat, 11 Jan 2003 08:11:32 +0000 (08:11 +0000)]
(version): Update copyright year.
Akim Demaille [Thu, 9 Jan 2003 12:45:08 +0000 (12:45 +0000)]
* src/Makefile.am, lib/Makefile.am: Use $(VAR) instead of @VAR@.
Paul Eggert [Thu, 9 Jan 2003 07:44:26 +0000 (07:44 +0000)]
Invoke wget with -C off, to disable proxy caches.
Paul Eggert [Thu, 9 Jan 2003 07:44:05 +0000 (07:44 +0000)]
(WGETFLAGS): New macro, containing "-C off" to disable proxy caches.
All uses of $(WGET) changed to $(WGET) $(WGETFLAGS).
(rel-check): Use $(WGET) instead of wget.
Paul Eggert [Tue, 7 Jan 2003 06:39:17 +0000 (06:39 +0000)]
Update copyright.
Paul Eggert [Tue, 7 Jan 2003 06:38:40 +0000 (06:38 +0000)]
Add a reference to the GLR paper of Scott, Johnstone and Hussain.
Paul Eggert [Tue, 7 Jan 2003 06:38:02 +0000 (06:38 +0000)]
(Generalized LR Parsing): Add a reference to the GLR paper of Scott,
Johnstone and Hussain.
Paul Eggert [Sun, 5 Jan 2003 06:32:12 +0000 (06:32 +0000)]
Add --disable-yacc.
Paul Eggert [Sun, 5 Jan 2003 06:26:52 +0000 (06:26 +0000)]
(bin_SCRIPTS): yacc -> @YACC_SCRIPT@.
(EXTRA_SCRIPTS): New var, for yacc.
Paul Eggert [Sun, 5 Jan 2003 06:26:25 +0000 (06:26 +0000)]
(lib_LIBRARIES): liby.a -> @YACC_LIBRARY@.
(EXTRA_LIBRARIES): New var, for liby.a.
Paul Eggert [Sun, 5 Jan 2003 06:25:35 +0000 (06:25 +0000)]
(AC_ARG_ENABLE): Add --disable-yacc.
(YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST.
Paul Eggert [Sun, 5 Jan 2003 01:11:03 +0000 (01:11 +0000)]
Update copyright date.
Paul Eggert [Sun, 5 Jan 2003 01:07:13 +0000 (01:07 +0000)]
Do not let the scan-skel token buffer grow unboundedly in the usual case.
Fix off-by-one error in scan-skel calculation of output line.
Fix some portability problems noted by Nelson H. F. Beebe.
Paul Eggert [Sun, 5 Jan 2003 00:48:16 +0000 (00:48 +0000)]
(yyerrlab1): Omit attribute if __cplusplus is defined,
since GNU C++ (as of 3.2.1) does not allow attributes on labels.
Problem reported by Nelson H. F. Beebe.
Paul Eggert [Sat, 4 Jan 2003 01:37:48 +0000 (01:37 +0000)]
(__INT_TO_PTR) [__STDC__]: Cast result to
(void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
when compiling Bison 1.875's `bitset bset = obstack_alloc
(bobstack, bytes);'. Problem reported by Nelson H. F. Beebe.
Paul Eggert [Sat, 4 Jan 2003 00:31:28 +0000 (00:31 +0000)]
([^@\n]): Renamed from [^@\n]+ so that the token buffer does not
grow to a huge size with typical invocation.
Paul Eggert [Fri, 3 Jan 2003 21:56:01 +0000 (21:56 +0000)]
(QPUTS): Omit redundant `;' from macro definition.
Paul Eggert [Fri, 3 Jan 2003 14:52:53 +0000 (14:52 +0000)]
(bitset_stats_list): Remove unused var.
Reported by Nelson H. F. Beebe.
Paul Eggert [Fri, 3 Jan 2003 14:33:17 +0000 (14:33 +0000)]
Update copyright.
Paul Eggert [Fri, 3 Jan 2003 14:28:35 +0000 (14:28 +0000)]
("@oline@"): Output lineno+1, not lineno.
Paul Eggert [Fri, 3 Jan 2003 14:22:53 +0000 (14:22 +0000)]
(yybool): Renamed from bool, to avoid collisions in C.
All uses changed. Provide a definition in both C and C++.
(yytrue, yyfalse): Define even if defined (__cplusplus).
Paul Eggert [Fri, 3 Jan 2003 14:15:16 +0000 (14:15 +0000)]
(_Bool, bool, false, true, __bool_true_false_are_defined):
Use the pattern recommended by Autoconf 2.57, except also protect
against double-definition.
Paul Eggert [Fri, 3 Jan 2003 14:14:24 +0000 (14:14 +0000)]
(_Bool, bool, false, true, __bool_true_false_are_defined):
Use the pattern recommended by Autoconf 2.57, except also protect
against double-inclusion.
Paul Eggert [Thu, 2 Jan 2003 23:59:12 +0000 (23:59 +0000)]
Pacify the buggy "smart preprocessor" in MacOS 10.2.3.
Paul Eggert [Thu, 2 Jan 2003 23:58:42 +0000 (23:58 +0000)]
(yyerrlab1): Append `;' after attribute, to
pacify the buggy "smart preprocessor" in MacOS 10.2.3.
Bug reported by Nelson H. F. Beebe.
Paul Eggert [Thu, 2 Jan 2003 20:28:12 +0000 (20:28 +0000)]
Update copyright date.
Paul Eggert [Thu, 2 Jan 2003 20:27:54 +0000 (20:27 +0000)]
Comment fixes.
Paul Eggert [Thu, 2 Jan 2003 20:25:13 +0000 (20:25 +0000)]
Correct the address of info-gnu.
Paul Eggert [Wed, 1 Jan 2003 10:10:41 +0000 (10:10 +0000)]
Update version number to 1.875a.
Paul Eggert [Wed, 1 Jan 2003 10:09:55 +0000 (10:09 +0000)]
Regenerate.
Paul Eggert [Wed, 1 Jan 2003 09:04:56 +0000 (09:04 +0000)]
Bison 1.875.
Paul Eggert [Tue, 31 Dec 2002 02:26:51 +0000 (02:26 +0000)]
src/scan-gram.l (<SC_BRACED_CODE>"}"): Append ";" only in braced code,
not in unions etc.
Paul Eggert [Mon, 30 Dec 2002 23:47:56 +0000 (23:47 +0000)]
Treat stray "," more uniformly.
Append ";" before last brace in braced code.
Don't use "yystype", which is deprecated.
Paul Eggert [Mon, 30 Dec 2002 23:38:20 +0000 (23:38 +0000)]
(<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","):
Moved here from...
(<INITIAL>","): Here. This causes stray "," to be treated
more uniformly.
Paul Eggert [Mon, 30 Dec 2002 22:40:52 +0000 (22:40 +0000)]
(<SC_BRACED_CODE>"}"): Append ";" before the last brace in braced code
when not in Yacc mode, for compatibility with Bison 1.35. This
resurrects the 2001-12-15 patch to src/reader.c.
Paul Eggert [Mon, 30 Dec 2002 22:35:56 +0000 (22:35 +0000)]
(YYDECL): Use YYSTYPE, not its deprecated alias yystype. This follows
up the 2002-12-24 YYSTYPE bug fix.
Paul Eggert [Sun, 29 Dec 2002 04:31:58 +0000 (04:31 +0000)]
* src/symtab.c (symbol_make_alias): Set type of SYMVAL to be
that of SYM's type. This fixes Debian bug 168069, reported by
Thomas Olsson.
Paul Eggert [Sun, 29 Dec 2002 04:30:18 +0000 (04:30 +0000)]
(symbol_make_alias): Set type of SYMVAL to be that of SYM's type.
This fixes Debian bug 168069, reported by Thomas Olsson.
Paul Eggert [Sun, 29 Dec 2002 04:18:09 +0000 (04:18 +0000)]
Update version number to 1.75g.
Paul Eggert [Sun, 29 Dec 2002 03:17:45 +0000 (03:17 +0000)]
Regenerate.
Paul Eggert [Sun, 29 Dec 2002 03:17:12 +0000 (03:17 +0000)]
Version 1.75f.
Paul Eggert [Sun, 29 Dec 2002 02:00:20 +0000 (02:00 +0000)]
(Badly Collapsed GLR States): Switch to Yacc-style conflict reports.
Paul Eggert [Sun, 29 Dec 2002 01:59:40 +0000 (01:59 +0000)]
(GNU Cim Grammar): Switch to Yacc-style reports.
Paul Eggert [Sun, 29 Dec 2002 01:59:13 +0000 (01:59 +0000)]
(Unresolved SR Conflicts, Defaulted
Conflicted Reduction, %expect not enough, %expect too much,
%expect with reduce conflicts): Switch to Yacc-style reports.
Paul Eggert [Sun, 29 Dec 2002 01:58:49 +0000 (01:58 +0000)]
(conflict_report):
Renamed from conflict_report_yacc, removing the old
'conflict_report'. Translate the entire conflict report at once,
so that we don't assume that "," has the same interpretation in
all languages.
(conflicts_output): Use Yacc-style conflict report for each state,
instead of our more-complicated style.
(conflicts_print): Use Yacc-style conflict report, except print
the input file name when not emulating Yacc.
Paul Eggert [Sun, 29 Dec 2002 01:58:11 +0000 (01:58 +0000)]
(Understanding): Use Yacc style for conflict reports. Also, use new
way of locating rules.
Paul Eggert [Sun, 29 Dec 2002 01:23:02 +0000 (01:23 +0000)]
(reduce_print): Don't invoke fflush; it's not needed.
Paul Eggert [Sun, 29 Dec 2002 01:22:30 +0000 (01:22 +0000)]
(warn_at, warn, complain_at, complain, fatal_at, fatal): Don't invoke
fflush; it's not needed and it might even be harmful for stdout, as
stdout might not be open.
Paul Eggert [Sat, 28 Dec 2002 09:02:18 +0000 (09:02 +0000)]
Fix a bug where error locations were not being recorded correctly.
Warn if we detect conflicting outputs to the same file.
If the user specifies "%expect N", report an error if there are any
reduce/reduce conflicts.
Paul Eggert [Sat, 28 Dec 2002 08:38:14 +0000 (08:38 +0000)]
(_AT_CHECK_PRINTER_AND_DESTRUCTOR):
Error locations include the locations of all the tokens that were
discarded, not just the last token.
Paul Eggert [Sat, 28 Dec 2002 08:37:17 +0000 (08:37 +0000)]
Mention that YYLLOC_DEFAULT is also invoked for syntax errors.
Paul Eggert [Sat, 28 Dec 2002 08:36:02 +0000 (08:36 +0000)]
(yyparse): New local var yylerrsp, to record the
top of the location stack's error locations.
(yyerrlab): Set it. When discarding a token, push its location
onto yylerrsp so that we don't lose track of the error's end.
(yyerrlab1): Now is only the target of YYERROR, so that we can
properly record the location of the action that failed. For GCC
2.93 and later, insert an __attribute__ ((__unused__)) to avoid
GCC warning about yyerrlab1 being unused if YYERROR is unused.
(yyerrlab2): New label, which yyerrlab now falls through to.
Compute the error's location by applying YYLLOC_DEFAULT to
the locations of all the symbols that went into the error.
Paul Eggert [Sat, 28 Dec 2002 08:00:56 +0000 (08:00 +0000)]
Remove this file, since we
can't use m4_include on relative file names.
Paul Eggert [Thu, 26 Dec 2002 22:30:10 +0000 (22:30 +0000)]
Include quote.h.
(compute_output_file_names): Warn if we detect conflicting outputs to
the same file.
Paul Eggert [Thu, 26 Dec 2002 22:21:23 +0000 (22:21 +0000)]
(%expect with reduce conflicts): New test.
Paul Eggert [Thu, 26 Dec 2002 22:10:52 +0000 (22:10 +0000)]
(conflicts_print): If the user specifies "%expect N", report an error
if there are any reduce/reduce conflicts. This is what the manual
says should happen. This fixes Debian bug 130890, reported by Anthony
DeRobertis.
Paul Eggert [Thu, 26 Dec 2002 09:12:05 +0000 (09:12 +0000)]
Don't use m4_include on relative file names, as it doesn't work.
Remove obsolete references to bison.simple and bison.hairy.
* src/getargs.c (getargs) [MSDOS]: Don't assume optarg != NULL.
* src/parse-gram.y (declaration): Use enum "report_states".
* src/scan-skel.l ("@output ".*\n): Close any old yyout before new one.
Paul Eggert [Thu, 26 Dec 2002 08:29:56 +0000 (08:29 +0000)]
(dist_m4sugar_DATA): Remove m4sugar/version.m4.
Paul Eggert [Thu, 26 Dec 2002 08:28:09 +0000 (08:28 +0000)]
Don't include m4sugar/version.m4.
Paul Eggert [Thu, 26 Dec 2002 08:27:09 +0000 (08:27 +0000)]
Don't include c.m4, as "include" doesn't do what we want.
Paul Eggert [Thu, 26 Dec 2002 08:25:56 +0000 (08:25 +0000)]
(output_skeleton): Use full path names when
specifying a file to include; don't rely on include path, as
it's unreliable when the working file contains a file with
that name.
Paul Eggert [Thu, 26 Dec 2002 06:59:42 +0000 (06:59 +0000)]
Mention the "yacc" command in the synopsis.
Don't mention bison.simple and bison.hairy, which are obsolete.
Paul Eggert [Thu, 26 Dec 2002 06:58:35 +0000 (06:58 +0000)]
Comment fix: don't mention obsolete bison.simple.
Paul Eggert [Thu, 26 Dec 2002 06:57:29 +0000 (06:57 +0000)]
Comment wording fix.
Paul Eggert [Thu, 26 Dec 2002 06:55:45 +0000 (06:55 +0000)]
(getargs) [MSDOS]: Don't assume optarg != NULL
with -g option.
Paul Eggert [Thu, 26 Dec 2002 06:51:42 +0000 (06:51 +0000)]
(declaration): Use enum "report_states" rather
than its numeric value 1.
Paul Eggert [Thu, 26 Dec 2002 05:59:06 +0000 (05:59 +0000)]
("@output ".*\n): Close any old yyout before opening a new one.
This fixes Debian bug 156349, reported by Bruce Stephens.
Paul Eggert [Tue, 24 Dec 2002 09:03:23 +0000 (09:03 +0000)]
Remove broken URL.
Paul Eggert [Tue, 24 Dec 2002 08:58:39 +0000 (08:58 +0000)]
Bump version number.
Paul Eggert [Tue, 24 Dec 2002 08:35:23 +0000 (08:35 +0000)]
Version 1.75e.
Paul Eggert [Tue, 24 Dec 2002 08:33:38 +0000 (08:33 +0000)]
Regenerate.
Paul Eggert [Tue, 24 Dec 2002 08:30:59 +0000 (08:30 +0000)]
(cvs-update): Don't assume that the shell supports $(...), as
Solaris sh doesn't.
Paul Eggert [Tue, 24 Dec 2002 08:15:17 +0000 (08:15 +0000)]
Update from gnulib.
Paul Eggert [Tue, 24 Dec 2002 08:08:18 +0000 (08:08 +0000)]
(lloc_default): Remove test for empty
nonterminals at the end, since it didn't change the result.
Paul Eggert [Tue, 24 Dec 2002 07:47:36 +0000 (07:47 +0000)]
If the user does not define YYSTYPE as a macro, Bison now declares it
using typedef instead of defining it as a macro. POSIX requires this.
For consistency, YYLTYPE is also declared instead of defined.
%union directives can now have a tag before the `{', e.g., the
directive `%union foo {...}' now generates the C code
`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
The default union tag is `YYSTYPE', for compatibility with Solaris 9
Yacc. For consistency, YYLTYPE's struct tag is now `YYLTYPE'
instead of `yyltype'.
`yystype' and `yyltype' are now obsolescent macros instead of being
typedefs or tags; they are no longer documented and will be
withdrawn in a future release.
Paul Eggert [Tue, 24 Dec 2002 07:46:49 +0000 (07:46 +0000)]
(handle_dollar, handle_at): Now takes int
token_type, not braced_code code_kind. All uses changed.
(SC_PRE_CODE): New state, for scanning after a keyword that
has (or usually has) an immediately-following braced code.
(token_type): New local var, to keep track of which token type
to return when scanning braced code.
(<INITIAL>"%destructor", <INITIAL>"%lex-param",
<INITIAL>"%parse-param", <INITIAL>"%printer,
<INITIAL>"%union"): Set token type and BEGIN SC_PRE_CODE
instead of returning a token type immediately.
(<INITIAL>"{"): Set token type.
(<SC_BRACED_CODE>"}"): Use it.
(handle_action_dollar, handle_action_at): Now returns bool
indicating success. Fail if ! current_rule; this prevents a core dump.
(handle_symbol_code_dollar, handle_symbol_code_at):
Remove; merge body into caller.
(handle_dollar, handle_at): Complain in invalid contexts.
Paul Eggert [Tue, 24 Dec 2002 07:45:22 +0000 (07:45 +0000)]
(braced_code, current_braced_code): Remove.
(token_name): New decl.
Paul Eggert [Tue, 24 Dec 2002 07:44:40 +0000 (07:44 +0000)]
(add_param): 2nd arg is now char * not char
const *, since it is now modified by stripping surrounding { }.
(current_braced_code): Remove.
(PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_UNION,
PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Change names to include
trailing " {...}". Now of type <chars>.
(grammar_declaration): Adjust to bundled tokens.
(code_content): Remove; stripping is now done by add_param.
(print_token_value): Print contents of bundled tokens.
(token_name): New function.
Paul Eggert [Tue, 24 Dec 2002 07:43:43 +0000 (07:43 +0000)]
If the user does not define YYSTYPE as a macro, Bison now declares it
using typedef instead of defining it as a macro. POSIX requires this.
For consistency, YYLTYPE is also declared instead of defined.
%union directives can now have a tag before the `{', e.g., the
directive `%union foo {...}' now generates the C code
`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
The default union tag is `YYSTYPE', for compatibility with Solaris 9
Yacc. For consistency, YYLTYPE's struct tag is now `YYLTYPE'
instead of `yyltype'.
`yystype' and `yyltype' are now obsolescent macros instead of being
typedefs or tags; they are no longer documented and will be
withdrawn in a future release.
Paul Eggert [Tue, 24 Dec 2002 07:41:47 +0000 (07:41 +0000)]
(b4_location_type): Remove.
(YYSTYPE): Renamed from yystype.
(YYSTYPE_IS_DECLARED): New macro, used to prevent double-typedef.
(struct YYLTYPE): Renamed from struct yyltype.
(YYLTYPE): Renamed from yyltype.
(yyltype, yystype): New (and obsolescent) macros,
for backward compatibility.
(YYSTYPE): Declare as union YYSTYPE if the user
does not specify a union tag. This is for compatibility with
Solaris 9 yacc.
Paul Eggert [Tue, 24 Dec 2002 07:40:58 +0000 (07:40 +0000)]
(b4_location_type): Remove.
(YYSTYPE): Renamed from yystype.
(YYSTYPE_IS_DECLARED): New macro, used to prevent double-typedef.
(struct YYLTYPE): Renamed from struct yyltype.
(YYLTYPE): Renamed from yyltype.
(yyltype, yystype): New (and obsolescent) macros,
for backward compatibility.
Paul Eggert [Tue, 24 Dec 2002 07:40:14 +0000 (07:40 +0000)]
* If the user does not define YYSTYPE as a macro, Bison now declares it
using typedef instead of defining it as a macro. POSIX requires this.
For consistency, YYLTYPE is also declared instead of defined.
* %union directives can now have a tag before the `{', e.g., the
directive `%union foo {...}' now generates the C code
`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
The default union tag is `YYSTYPE', for compatibility with Solaris 9 Yacc.
For consistency, YYLTYPE's struct tag is now `YYLTYPE' instead of `yyltype'.
* `yystype' and `yyltype' are now obsolescent macros instead of being
typedefs or tags; they are no longer documented and will be
withdrawn in a future release.
Fix copyright notice.
Paul Eggert [Sat, 21 Dec 2002 12:56:44 +0000 (12:56 +0000)]
Comment fix.
Paul Eggert [Sat, 21 Dec 2002 12:49:33 +0000 (12:49 +0000)]
(Decl Summary): yytname's first element is not always "$end", as the
user might specify a different name for the end token.
Paul Eggert [Wed, 18 Dec 2002 00:10:11 +0000 (00:10 +0000)]
Omit mentions of %lex-param and %parse-param for now.
Paul Eggert [Wed, 18 Dec 2002 00:09:33 +0000 (00:09 +0000)]
(Parser Function, Purel Calling, Error
Reporting, Table of Symbols): Omit mentions of %lex-param and
%parse-param from the documentation for now.
Paul Eggert [Wed, 18 Dec 2002 00:09:10 +0000 (00:09 +0000)]
Omit mentions of %lex-param and %parse-param from the documentation
for now.
Paul Eggert [Sun, 15 Dec 2002 09:39:12 +0000 (09:39 +0000)]
(Error Reporting): randomness -> nastiness, to fix a typo.
Paul Eggert [Sun, 15 Dec 2002 09:21:13 +0000 (09:21 +0000)]
Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke GCC 3.2.1.
Paul Eggert [Sun, 15 Dec 2002 09:20:24 +0000 (09:20 +0000)]
Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke
GCC 3.2.1 (which depends on yychar == YYEMPTY when there is no
lookahead symbol, and which sets yychar in parser actions) and it
disagreed with the Bison documentation. This should fix the bug
reported by Andrew Walrond in
<http://mail.gnu.org/pipermail/bug-bison/2002-December/001949.html>.
(YYTRANSLATE): Don't check for negative argument,
as the caller now does that.
(yyclearin, YYBACKUP, yyparse): Use yychar, not yytoken.
(YYEMPTY): Parenthesize right hand side, since others use it.
(yyparse): Don't assume that our generated code is the only code
that sets yychar.
Paul Eggert [Fri, 13 Dec 2002 13:14:11 +0000 (13:14 +0000)]
Add date to 1.75d notice.
Paul Eggert [Fri, 13 Dec 2002 12:54:54 +0000 (12:54 +0000)]
(AC_INIT): Bump version number to 1.75e.
Paul Eggert [Fri, 13 Dec 2002 12:21:57 +0000 (12:21 +0000)]
Version 1.75d.
Paul Eggert [Fri, 13 Dec 2002 12:21:13 +0000 (12:21 +0000)]
Initial revision.
Paul Eggert [Fri, 13 Dec 2002 12:20:19 +0000 (12:20 +0000)]
Regenerate.
Paul Eggert [Fri, 13 Dec 2002 12:18:31 +0000 (12:18 +0000)]
(Invocation, Bison Options): Mention yacc
as an alias for bison y.
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.