Akim Demaille [Sun, 2 Feb 2003 10:55:20 +0000 (10:55 +0000)]
* src/scan-skel.l: Scan more than one inert character per yylex
invocation.
Paul Eggert [Sat, 1 Feb 2003 20:10:45 +0000 (20:10 +0000)]
%expect-count violations will be errors again in the future.
Paul Eggert [Sat, 1 Feb 2003 09:02:57 +0000 (09:02 +0000)]
Update version number to 1.875b.
Update Autoconf requirement to 2.56.
Paul Eggert [Sat, 1 Feb 2003 08:43:41 +0000 (08:43 +0000)]
Added ms translation.
Paul Eggert [Sat, 1 Feb 2003 08:35:07 +0000 (08:35 +0000)]
po/LINGUAS: Add ms.
Paul Eggert [Sat, 1 Feb 2003 08:34:33 +0000 (08:34 +0000)]
Add ms.
Paul Eggert [Sat, 1 Feb 2003 08:23:32 +0000 (08:23 +0000)]
Version 1.875a, dated today.
Paul Eggert [Sat, 1 Feb 2003 08:18:42 +0000 (08:18 +0000)]
Regenerate.
Paul Eggert [Sat, 1 Feb 2003 08:16:17 +0000 (08:16 +0000)]
Update copyright date to 2003.
Akim Demaille [Thu, 30 Jan 2003 08:03:10 +0000 (08:03 +0000)]
* doc/Makefile.am (CLEANFILES): Add bison.fns for distcheck.
Changes in response to error report by S. Eken: GLR mode does not
(yyfill): New function to copy from stack tree into array
(yyuserAction): Modify to allow incremental move of semantic values
to rhs array when in GLR mode.
Define YYFILL to use in user-defined actions to fill semantic array
(yyresolveStates): Use X == NULL for pointers, not !X.
Paul Hilfinger [Wed, 29 Jan 2003 23:39:59 +0000 (23:39 +0000)]
Modifications to fix GLR bug reported by S. Eken.
Paul Hilfinger [Wed, 29 Jan 2003 23:39:11 +0000 (23:39 +0000)]
Rename tests/glr-regr1.at to tests/glr-regression.at.
tests/glr-regression.at: Add new regression test for the problems
reported by S. Eken with semantic values for embedded rules.
Update copyright notice.
tests/testsuite.at, tests/Makefile.am: Rename glr-regr1.at to
glr-regression.at.
Paul Hilfinger [Wed, 29 Jan 2003 23:37:15 +0000 (23:37 +0000)]
Changes in response to error report by S. Eken: GLR mode does not
handle negative $ indices or $ indices in embedded rules correctly.
See <http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00076.html>.
(b4_rhs_value): Change to use YYFILL macro.
(b4_rhs_location): Ditto.
(yyfill): New function to copy from stack tree into array
incrementally.
(yyuserAction): Modify to allow incremental move of semantic values
to rhs array when in GLR mode.
Define YYFILL to use in user-defined actions to fill semantic array
as needed.
Remove dummy use of yystack, as there is now a guaranteed use.
(yydoAction): Modify to allow incremental move of semantic values
to rhs array when in GLR mode.
(yyresolveAction): Ditto.
(yyglrShiftDefer): Update comment.
(yyresolveStates): Use X == NULL for pointers, not !X.
(yyglrReduce): Ditto.
(yydoAction): Ditto
Paul Eggert [Wed, 29 Jan 2003 06:31:41 +0000 (06:31 +0000)]
* data/lalr1.cc: Do not use @output_header_name@ unless
b4_defines_flag is set.
Paul Eggert [Wed, 29 Jan 2003 06:31:02 +0000 (06:31 +0000)]
Do not use @output_header_name@ unless
b4_defines_flag is set. This fixes two bugs reported by
Tim Van Holder in
<http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00071.html>
and <http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00073.html>.
Paul Eggert [Wed, 22 Jan 2003 06:39:16 +0000 (06:39 +0000)]
* data/yacc.c (YYERROR): Move code from yyerrlab1 to here, so that
we don't need to worry about yyerrlab1 being reported as an
"unused label" by non-GCC C compilers.
Paul Eggert [Wed, 22 Jan 2003 06:38:32 +0000 (06:38 +0000)]
(YYERROR): Move code from yyerrlab1 to here, so that
we don't need to worry about yyerrlab1 being reported as an
"unused label" by non-GCC C compilers. The downside is that if
locations are used then a couple of statements are duplicated each
time YYERROR is invoked, but the upside is that the warnings
should vanish.
(yyerrlab1): Move code to YERROR.
(yyerrlab2): Remove. Change uses back to yyerrlab1.
This reverts some of the 2002-12-27 change.
Paul Eggert [Fri, 17 Jan 2003 08:43:31 +0000 (08:43 +0000)]
* src/output.c (symbol_printers_output): Fix typo that led
to core dump.
Paul Eggert [Fri, 17 Jan 2003 08:43:08 +0000 (08:43 +0000)]
(symbol_printers_output): Fix typo that led
to core dump. Problem reported by Antonio Rus in
<http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00058.html>.
Akim Demaille [Mon, 13 Jan 2003 15:42:31 +0000 (15:42 +0000)]
Quoc Peyrot <chojin@lrde.epita.fr>,
Robert Anisko <anisko_r@lrde.epita.fr>
* data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop
when the stacks contain one element, as the loop would otherwise
free the last state, and then use the top state (the one we just
popped). This means that the initial elements will not be freed
explicitly, as is the case in yacc.c; it is not a problem, as
these elements have fake values.
Akim Demaille [Mon, 13 Jan 2003 15:40:18 +0000 (15:40 +0000)]
Regen.
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.