Commit Graph
100 Commits
Author SHA1 Message Date
Paul Eggert f4ca512cc8 Add ms. 2003-02-01 08:34:33 +00:00
Paul Eggert 9289898605 Version 1.875a, dated today. 2003-02-01 08:23:32 +00:00
Paul Eggert 9e10007658 Regenerate. 2003-02-01 08:18:42 +00:00
Paul Eggert 9a2b42a3ff Update copyright date to 2003. 2003-02-01 08:16:17 +00:00
Paul Eggert 6cee62971e * data/lalr1.cc: Do not use @output_header_name@ unless
b4_defines_flag is set.
2003-01-29 06:31:41 +00:00
Paul Eggert b61c697827 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>.
2003-01-29 06:31:02 +00:00
Paul Eggert b2a836b51e * 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.
2003-01-22 06:39:16 +00:00
Paul Eggert 8a3eb3c8ba (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.
2003-01-22 06:38:32 +00:00
Paul Eggert 4196b9316c * src/output.c (symbol_printers_output): Fix typo that led
to core dump.
2003-01-17 08:43:31 +00:00
Paul Eggert 34e1d16097 (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>.
2003-01-17 08:43:08 +00:00
Paul Eggert e3aa65c502 %expect-violations are now just warnings, reverting to old behavior.
Update copyright year.
2003-01-13 07:19:17 +00:00
Paul Eggert 69363a9e4d * 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).
2003-01-13 06:41:29 +00:00
Paul Eggert 8522c9ed2a (version): Update copyright year. 2003-01-11 08:11:32 +00:00
Paul Eggert 1ee6d2a02e Invoke wget with -C off, to disable proxy caches. 2003-01-09 07:44:26 +00:00
Paul Eggert a1a44c02ab (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.
2003-01-09 07:44:05 +00:00
Paul Eggert 3add7b9cb1 Update copyright. 2003-01-07 06:39:17 +00:00
Paul Eggert d4fd77c450 Add a reference to the GLR paper of Scott, Johnstone and Hussain. 2003-01-07 06:38:40 +00:00
Paul Eggert f6481e2fdc (Generalized LR Parsing): Add a reference to the GLR paper of Scott,
Johnstone and Hussain.
2003-01-07 06:38:02 +00:00
Paul Eggert d600ee67ee Add --disable-yacc. 2003-01-05 06:32:12 +00:00
Paul Eggert a504e06dd7 (bin_SCRIPTS): yacc -> @YACC_SCRIPT@.
(EXTRA_SCRIPTS): New var, for yacc.
2003-01-05 06:26:52 +00:00
Paul Eggert 66abff154f (lib_LIBRARIES): liby.a -> @YACC_LIBRARY@.
(EXTRA_LIBRARIES): New var, for liby.a.
2003-01-05 06:26:25 +00:00
Paul Eggert 4beda9accf (AC_ARG_ENABLE): Add --disable-yacc.
(YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST.
2003-01-05 06:25:35 +00:00
Paul Eggert 93b716f4aa Update copyright date. 2003-01-05 01:11:03 +00:00
Paul Eggert 464c692789 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.
2003-01-05 01:07:13 +00:00
Paul Eggert 49b6b48b99 (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.
2003-01-05 00:48:16 +00:00
Paul Eggert 2f10a596a7 (__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.
2003-01-04 01:37:48 +00:00
Paul Eggert 0fff129c7c ([^@\n]): Renamed from [^@\n]+ so that the token buffer does not
grow to a huge size with typical invocation.
2003-01-04 00:31:28 +00:00
Paul Eggert fd520abff8 (QPUTS): Omit redundant `;' from macro definition. 2003-01-03 21:56:01 +00:00
Paul Eggert 547734f14d (bitset_stats_list): Remove unused var.
Reported by Nelson H. F. Beebe.
2003-01-03 14:52:53 +00:00
Paul Eggert c1a0d7e076 Update copyright. 2003-01-03 14:33:17 +00:00
Paul Eggert b14ec5333b ("@oline@"): Output lineno+1, not lineno. 2003-01-03 14:28:35 +00:00
Paul Eggert f7c398aaff (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).
2003-01-03 14:22:53 +00:00
Paul Eggert 45aa0550a1 (_Bool, bool, false, true, __bool_true_false_are_defined):
Use the pattern recommended by Autoconf 2.57, except also protect
against double-definition.
2003-01-03 14:15:16 +00:00
Paul Eggert 1029ea6d02 (_Bool, bool, false, true, __bool_true_false_are_defined):
Use the pattern recommended by Autoconf 2.57, except also protect
against double-inclusion.
2003-01-03 14:14:24 +00:00
Paul Eggert 0f42c7d501 Pacify the buggy "smart preprocessor" in MacOS 10.2.3. 2003-01-02 23:59:12 +00:00
Paul Eggert f96e75a64e (yyerrlab1): Append `;' after attribute, to
pacify the buggy "smart preprocessor" in MacOS 10.2.3.
Bug reported by Nelson H. F. Beebe.
2003-01-02 23:58:42 +00:00
Paul Eggert 14c0cf3c88 Update copyright date. 2003-01-02 20:28:12 +00:00
Paul Eggert d891bc49ac Comment fixes. 2003-01-02 20:27:54 +00:00
Paul Eggert 597ba9e333 Correct the address of info-gnu. 2003-01-02 20:25:13 +00:00
Paul Eggert 2efa0406e3 Update version number to 1.875a. 2003-01-01 10:10:41 +00:00
Paul Eggert 8e4900ef40 Regenerate. 2003-01-01 10:09:55 +00:00
Paul Eggert dc546b0f6e Bison 1.875. 2003-01-01 09:04:56 +00:00
Paul Eggert 1deb9bdcad src/scan-gram.l (<SC_BRACED_CODE>"}"): Append ";" only in braced code,
not in unions etc.
2002-12-31 02:26:51 +00:00
Paul Eggert 2c09b6a7ea Treat stray "," more uniformly.
Append ";" before last brace in braced code.
Don't use "yystype", which is deprecated.
2002-12-30 23:47:56 +00:00
Paul Eggert 83adb046bf (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","):
Moved here from...
(<INITIAL>","): Here.  This causes stray "," to be treated
more uniformly.
2002-12-30 23:38:20 +00:00
Paul Eggert 255227393f (<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.
2002-12-30 22:40:52 +00:00
Paul Eggert 5b25cd7cd8 (YYDECL): Use YYSTYPE, not its deprecated alias yystype. This follows
up the 2002-12-24 YYSTYPE bug fix.
2002-12-30 22:35:56 +00:00
Paul Eggert 535c0f6328 * 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.
2002-12-29 04:31:58 +00:00
Paul Eggert 527203e98e (symbol_make_alias): Set type of SYMVAL to be that of SYM's type.
This fixes Debian bug 168069, reported by Thomas Olsson.
2002-12-29 04:30:18 +00:00
Paul Eggert 7b56c4bc0e Update version number to 1.75g. 2002-12-29 04:18:09 +00:00
Paul Eggert 78a00b7d7f Regenerate. 2002-12-29 03:17:45 +00:00
Paul Eggert 963fcc1705 Version 1.75f. 2002-12-29 03:17:12 +00:00
Paul Eggert 00c378a21f (Badly Collapsed GLR States): Switch to Yacc-style conflict reports. 2002-12-29 02:00:20 +00:00
Paul Eggert a4b746ea04 (GNU Cim Grammar): Switch to Yacc-style reports. 2002-12-29 01:59:40 +00:00
Paul Eggert 2c8ba4cd59 (Unresolved SR Conflicts, Defaulted
Conflicted Reduction, %expect not enough, %expect too much,
%expect with reduce conflicts): Switch to Yacc-style reports.
2002-12-29 01:59:13 +00:00
Paul Eggert be7280480c (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.
2002-12-29 01:58:49 +00:00
Paul Eggert 5a99098d0b (Understanding): Use Yacc style for conflict reports. Also, use new
way of locating rules.
2002-12-29 01:58:11 +00:00
Paul Eggert fb8ccdcd35 (reduce_print): Don't invoke fflush; it's not needed. 2002-12-29 01:23:02 +00:00
Paul Eggert 8ca1967ea2 (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.
2002-12-29 01:22:30 +00:00
Paul Eggert b1efe548af 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.
2002-12-28 09:02:18 +00:00
Paul Eggert 120f129d67 (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
Error locations include the locations of all the tokens that were
discarded, not just the last token.
2002-12-28 08:38:14 +00:00
Paul Eggert 96b93a3da4 Mention that YYLLOC_DEFAULT is also invoked for syntax errors. 2002-12-28 08:37:17 +00:00
Paul Eggert d42f69cdf7 (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.
2002-12-28 08:36:02 +00:00
Paul Eggert 04877eec24 Remove this file, since we
can't use m4_include on relative file names.
2002-12-28 08:00:56 +00:00
Paul Eggert 053658d584 Include quote.h.
(compute_output_file_names): Warn if we detect conflicting outputs to
the same file.
2002-12-26 22:30:10 +00:00
Paul Eggert 6876ecd36e (%expect with reduce conflicts): New test. 2002-12-26 22:21:23 +00:00
Paul Eggert 76be9271f2 (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.
2002-12-26 22:10:52 +00:00
Paul Eggert 983c5c2c2a 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.
2002-12-26 09:12:05 +00:00
Paul Eggert 5b66ea8b80 (dist_m4sugar_DATA): Remove m4sugar/version.m4. 2002-12-26 08:29:56 +00:00
Paul Eggert 70b4c070cc Don't include m4sugar/version.m4. 2002-12-26 08:28:09 +00:00
Paul Eggert cce7a5f423 Don't include c.m4, as "include" doesn't do what we want. 2002-12-26 08:27:09 +00:00
Paul Eggert 2fd4e13193 (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.
2002-12-26 08:25:56 +00:00
Paul Eggert 7eab453e1b Mention the "yacc" command in the synopsis.
Don't mention bison.simple and bison.hairy, which are obsolete.
2002-12-26 06:59:42 +00:00
Paul Eggert f6abc26e38 Comment fix: don't mention obsolete bison.simple. 2002-12-26 06:58:35 +00:00
Paul Eggert ea03c24f05 Comment wording fix. 2002-12-26 06:57:29 +00:00
Paul Eggert fcbfa6b01c (getargs) [MSDOS]: Don't assume optarg != NULL
with -g option.
2002-12-26 06:55:45 +00:00
Paul Eggert 9dd5b37815 (declaration): Use enum "report_states" rather
than its numeric value 1.
2002-12-26 06:51:42 +00:00
Paul Eggert 88015bf06b ("@output ".*\n): Close any old yyout before opening a new one.
This fixes Debian bug 156349, reported by Bruce Stephens.
2002-12-26 05:59:06 +00:00
Paul Eggert 7ea9026a59 Remove broken URL. 2002-12-24 09:03:23 +00:00
Paul Eggert ebec3740c2 Bump version number. 2002-12-24 08:58:39 +00:00
Paul Eggert 23f2d9dc0f Version 1.75e. 2002-12-24 08:35:23 +00:00
Paul Eggert 73521d9ff8 Regenerate. 2002-12-24 08:33:38 +00:00
Paul Eggert 366041f014 (cvs-update): Don't assume that the shell supports $(...), as
Solaris sh doesn't.
2002-12-24 08:30:59 +00:00
Paul Eggert 80483e8e0d Update from gnulib. 2002-12-24 08:15:17 +00:00
Paul Eggert 5320ca4d6f (lloc_default): Remove test for empty
nonterminals at the end, since it didn't change the result.
2002-12-24 08:08:18 +00:00
Paul Eggert 33167b8b05 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.
2002-12-24 07:47:36 +00:00
Paul Eggert 624a35e20b (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.
2002-12-24 07:46:49 +00:00
Paul Eggert ef4479de37 (braced_code, current_braced_code): Remove.
(token_name): New decl.
2002-12-24 07:45:22 +00:00
Paul Eggert e9ce56889c (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.
2002-12-24 07:44:40 +00:00
Paul Eggert 6273355b36 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.
2002-12-24 07:43:43 +00:00
Paul Eggert 050c471b8e (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.
2002-12-24 07:41:47 +00:00
Paul Eggert fa8c3ebca3 (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.
2002-12-24 07:40:58 +00:00
Paul Eggert 75eb3bc4e7 * 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.
2002-12-24 07:40:14 +00:00
Paul Eggert 52328c6e99 Comment fix. 2002-12-21 12:56:44 +00:00
Paul Eggert f67ad422a4 (Decl Summary): yytname's first element is not always "$end", as the
user might specify a different name for the end token.
2002-12-21 12:49:33 +00:00
Paul Eggert 879ca4f81b Omit mentions of %lex-param and %parse-param for now. 2002-12-18 00:10:11 +00:00
Paul Eggert 9417597809 (Parser Function, Purel Calling, Error
Reporting, Table of Symbols): Omit mentions of %lex-param and
%parse-param from the documentation for now.
2002-12-18 00:09:33 +00:00
Paul Eggert 20daca0631 Omit mentions of %lex-param and %parse-param from the documentation
for now.
2002-12-18 00:09:10 +00:00
Paul Eggert b317297e4d (Error Reporting): randomness -> nastiness, to fix a typo. 2002-12-15 09:39:12 +00:00
Paul Eggert 1c5fe69d46 Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke GCC 3.2.1. 2002-12-15 09:21:13 +00:00