Paul Eggert [Wed, 27 Nov 2002 18:33:18 +0000 (18:33 +0000)]
(print_token_value): Renamed from yyprint.
All uses changed.
(YYPARSE_PARAM, YYLEX_PARAM, yycontrol): Remove. All uses changed.
The name "yycontrol" violates the name space rules, and this stuff
wasn't being used anyway.
(input): Remove action; this stuff wasn't being used.
(gram_error): Rename local variable yylloc -> loc.
Paul Eggert [Wed, 27 Nov 2002 18:32:12 +0000 (18:32 +0000)]
yyprint -> print_token_value
Paul Eggert [Wed, 27 Nov 2002 18:31:27 +0000 (18:31 +0000)]
(_AT_CHECK_PRINTER_AND_DESTRUCTOR): yyout -> yyoutput,
to avoid collision with lex macro described by Bruce Lilly in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001929.html>.
Paul Eggert [Wed, 27 Nov 2002 18:30:50 +0000 (18:30 +0000)]
(b4_yysymprint_generate): yyout -> yyoutput,
to avoid collision with lex macro described by Bruce Lilly in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001929.html>.
Paul Eggert [Mon, 25 Nov 2002 08:21:40 +0000 (08:21 +0000)]
Update version to 1.75d.
Paul Eggert [Mon, 25 Nov 2002 08:05:09 +0000 (08:05 +0000)]
Regenerate.
Paul Eggert [Mon, 25 Nov 2002 07:56:44 +0000 (07:56 +0000)]
Version 1.75c.
Paul Eggert [Mon, 25 Nov 2002 07:50:25 +0000 (07:50 +0000)]
Sync with gnulib.
Paul Eggert [Mon, 25 Nov 2002 07:36:54 +0000 (07:36 +0000)]
(Actions after errors): Use an output format
more similar to that of the Printers and Destructors test.
Test the position of the ';' token too.
(Printers and Destructors): Likewise.
(Printers and Destructors: %glr-parser): Remove for now, to avoid
unnecessarily alarming people when the test fails.
Paul Eggert [Mon, 25 Nov 2002 06:42:10 +0000 (06:42 +0000)]
(yyerrlab1): Move this label down, so that the
parser does not discard the lookahead token if the user code
invokes YYERROR. This change is required for POSIX conformance.
Paul Eggert [Sat, 23 Nov 2002 07:25:41 +0000 (07:25 +0000)]
Sync with gnulib.
Paul Eggert [Fri, 22 Nov 2002 00:30:58 +0000 (00:30 +0000)]
Sync with gnulib again.
Paul Eggert [Thu, 21 Nov 2002 19:14:24 +0000 (19:14 +0000)]
Sync with gnulib.
Paul Eggert [Thu, 21 Nov 2002 07:37:24 +0000 (07:37 +0000)]
* lib/argmatch.c, lib/argmatch.h: Sync with gnulib.
Avoid use of <assert.h>, as the GNU Coding Standards hint that one
should use `if (! x) abort ();' rather than `assert (x);', and
anyway it's one less thing to worry about configuring.
Paul Eggert [Thu, 21 Nov 2002 07:35:58 +0000 (07:35 +0000)]
Sync with gnulib.
Paul Eggert [Thu, 21 Nov 2002 05:28:44 +0000 (05:28 +0000)]
(_AT_TEST_GLR_CXXTYPES): Do not include <assert.h>.
Replace all instances of assert with abort.
Paul Eggert [Thu, 21 Nov 2002 05:28:09 +0000 (05:28 +0000)]
(_AT_DATA_CALC_Y): Do not include <assert.h>.
Replace all instances of assert with abort.
Paul Eggert [Thu, 21 Nov 2002 05:27:28 +0000 (05:27 +0000)]
(_AT_CHECK_PRINTER_AND_DESTRUCTOR): Do not include <assert.h>.
Paul Eggert [Thu, 21 Nov 2002 05:26:41 +0000 (05:26 +0000)]
(get_color_str, get_textmode_str, get_shape_str,
get_layoutalgorithm_str, get_decision_str, get_orientation_str,
get_node_alignement_str, get_arrow_mode_str, get_crossing_type_str,
get_view_str, get_linestyle_str, get_arrowstyle_str): Use abort rather
than assert.
Paul Eggert [Thu, 21 Nov 2002 05:25:55 +0000 (05:25 +0000)]
(conflict_row, pack_vector): Use abort rather than assert.
(tables_generate): Use verify rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:24:53 +0000 (05:24 +0000)]
Do not include <assert.h>.
(verify): New macro.
Paul Eggert [Thu, 21 Nov 2002 05:23:46 +0000 (05:23 +0000)]
(symbol_user_token_number_set, symbol_make_alias, symbol_pack):
Use abort rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:22:29 +0000 (05:22 +0000)]
(struniq_assert): Now returns void, and aborts if the assertion is false.
Paul Eggert [Thu, 21 Nov 2002 05:21:35 +0000 (05:21 +0000)]
(state_new, state_free, state_transitions_set, state_reduction_find):
Use abort rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:20:49 +0000 (05:20 +0000)]
(packgram, reader): Use abort rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:20:05 +0000 (05:20 +0000)]
(prepare_rules, token_definitions_output): Use abort rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:18:57 +0000 (05:18 +0000)]
(nullable_compute): Use abort rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:18:08 +0000 (05:18 +0000)]
(set_goto_map, map_goto): Use abort rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:17:21 +0000 (05:17 +0000)]
(trace_argmatch, report_argmatch): Use verify rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:16:36 +0000 (05:16 +0000)]
(resolve_sr_conflict): Use abort rather than assert.
Paul Eggert [Thu, 21 Nov 2002 05:15:52 +0000 (05:15 +0000)]
Do not include <assert.h>.
(hash_lookup, hash_get_first, hash_get_next,
hash_find_entry, hash_rehash, hash_insert): Likewise.
Paul Eggert [Thu, 21 Nov 2002 05:12:27 +0000 (05:12 +0000)]
(ARRAY_CARDINALITY): Do not bother to #undef.
(ARGMATCH_CONSTRAINT): New macro.
(ARGMATCH_ASSERT): Use it.
Paul Eggert [Thu, 21 Nov 2002 05:11:29 +0000 (05:11 +0000)]
Do not include <assert.h>.
(yydoAction, yyglrReduce, yysplitStack, yyresolveStates,
yyresolveAction, yyprocessOneStack): Use abort rather than assert.
Paul Eggert [Tue, 19 Nov 2002 09:33:21 +0000 (09:33 +0000)]
* data/glr.c (yygetLRActions): Replace `yyindex' with
`yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
This fixes the regression with Sun ONE Studio 7 cc that I reported in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001892.html>.
Paul Eggert [Tue, 19 Nov 2002 07:35:29 +0000 (07:35 +0000)]
(yygetLRActions): Replace `yyindex' with
`yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
This fixes the regression with Sun ONE Studio 7 cc that I reported in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001892.html>.
Paul Eggert [Mon, 18 Nov 2002 20:08:57 +0000 (20:08 +0000)]
Pacify Sun ONE Studio 7 lint. Also, rename "ParseError"
to "SyntaxError" for consistency with my 2002-11-15 change.
Akim Demaille [Mon, 18 Nov 2002 09:33:22 +0000 (09:33 +0000)]
* doc/bison.texinfo (Tracing): `yyprint' shouldn't prepend a
space.
From Tim Van Holder.
Paul Eggert [Mon, 18 Nov 2002 07:52:13 +0000 (07:52 +0000)]
(_AT_DATA_CALC_Y): Make vars static instead of
extern when possible. Remove unused initializations.
Paul Eggert [Mon, 18 Nov 2002 07:51:47 +0000 (07:51 +0000)]
(YYDPRINTF, YYDSYMPRINT, YYDSYMPRINTF) [!YYDEBUG]: Do not define to
{}, since this breaks the common use of `YYDPRINTF ((...));' if a
single statement is desired (e.g. before `else'). Work around GCC
warnings by surrounding corresponding calls with {} if needed.
(yyhasResolvedValue): Remove unused function.
(yymergeOptionSets, yyresolvStack): Use `continue;' for empty
loop body.
(yyreportSyntaxError): Renamed from yyreportParseError.
(yyrecoverSyntaxError): Renamed from yyrecoverParseError.
All uses changed.
Akim Demaille [Sat, 16 Nov 2002 12:36:30 +0000 (12:36 +0000)]
Really remove it.
Akim Demaille [Sat, 16 Nov 2002 12:32:27 +0000 (12:32 +0000)]
Augment the similarity between GLR and LALR traces.
* data/yacc.c (yy_stack_print, YY_STACK_PRINT, yy_reduce_print)
(YY_REDUCE_PRINT): New.
(yyparse): Use them.
* data/glr.c (yy_reduce_print): Use YYFPRINTF, no need for
YYDPRINT here.
(yyglrReduce, yyrecoverParseError, yyparse): Don't report the
state reached after the reduction/recovery, since...
(yyparse, yyprocessOneStack): Report the state we are entering in.
Akim Demaille [Sat, 16 Nov 2002 12:31:36 +0000 (12:31 +0000)]
* src/getargs.h, src/getargs.c (trace_e, trace_args, trace_types):
Add support for --trace=skeleton.
* src/scan-skel.l: %option debug.
Scan strings of non-@ or n instead of character by character.
(scan_skel): Handle trace_skeleton.
(QPUTS): New.
(@output_parser_name@, @output_header_name@): ``Restore'' their
support (used to be M4 macros).
* data/yacc.c: Quote larger chunks, a la glr.c.
* data/lalr1.cc: Likewise.
The header guards are no longer available, so use some other
string than `YYLSP_NEEDED'.
Akim Demaille [Sat, 16 Nov 2002 12:30:23 +0000 (12:30 +0000)]
Make the ``Printers and Destructors'' test more verbose, taking
`yacc.c''s behavior as (possibly wrong) reference.
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use printf
instead of fprint on stdout.
Set and report the last_line of the symbols.
Consistently display values and locations.
Paul Eggert [Sat, 16 Nov 2002 08:14:23 +0000 (08:14 +0000)]
* data/yacc.c: Avoid over-quoting of __line__ and __file__.
Paul Eggert [Sat, 16 Nov 2002 08:13:40 +0000 (08:13 +0000)]
Avoid over-quoting of __line__ and __file.
Paul Eggert [Sat, 16 Nov 2002 07:32:09 +0000 (07:32 +0000)]
* tests/actions.at (Actions after errors): New test case.
Paul Eggert [Sat, 16 Nov 2002 07:31:35 +0000 (07:31 +0000)]
(Actions after errors): New test case.
Paul Eggert [Fri, 15 Nov 2002 20:58:07 +0000 (20:58 +0000)]
Regenerate.
Paul Eggert [Fri, 15 Nov 2002 20:32:21 +0000 (20:32 +0000)]
* data/glr.c, data/lalr1.cc, data/yacc.cc, doc/bison.texinfo,
src/conflicts.c, src/parse-gram.y, src/tables.c, src/tables.h,
tests/action.at, tests/calc.at, tests/conflicts.at,
tests/cxx-type.at, tests/regression.at:
"parse error" -> "syntax error" for POSIX compatibility.
"parsing stack overflow..." -> "parser stack overflow" so
that code matches Bison documentation.
Akim Demaille [Fri, 15 Nov 2002 16:42:16 +0000 (16:42 +0000)]
* src/parse-gram.y (declaration): Have %parse-param and %lex-param
take two BRACED_CODE, not two string_content.
Free the scanner's obstack when we are done.
(code_content): New.
* tests/calc.at: Adjust.
* doc/bison.texinfo: Adjust.
Also, make sure to include the `,' for these declarations.
Akim Demaille [Fri, 15 Nov 2002 16:30:37 +0000 (16:30 +0000)]
* m4/prereq.m4: Removed the commented jm_PREREQ_HASH
definition; avoids potential autoreconf problems.
Akim Demaille [Fri, 15 Nov 2002 09:04:37 +0000 (09:04 +0000)]
2002-11-15 Tim Van Holder <tim.van.holder@pandora.be>
* src/.cvsignore: Add src-gram.c.
* tests/.cvsignore: Add atlocal.
* config/.cvsignore, m4/.cvsignore, po/.cvsignore:
Add several files that autoreconf may bring in during
bootstrap.
Akim Demaille [Fri, 15 Nov 2002 08:56:40 +0000 (08:56 +0000)]
Always check the value returned by yyparse.
* tests/calc.at (_AT_DATA_CALC_Y): Have `main' exit with the value
returned by yyparse.
(_AT_CHECK_CALC_ERROR): Take the expected exit value as argument.
Adjust calls.
* tests/glr-regr1.at (glr-regr1.y): Have `main' exit with the value
returned by yyparse.
Paul Eggert [Fri, 15 Nov 2002 01:57:23 +0000 (01:57 +0000)]
(AT_TEST_CPP_GUARD_H): Compile with -I., as Forte 7 C requires it,
and it shouldn't hurt on other compilers.
Paul Eggert [Fri, 15 Nov 2002 01:29:53 +0000 (01:29 +0000)]
* src/output.c (output_skeleton): Call xfopen instead of
duplicating xfopen's body.
Paul Eggert [Fri, 15 Nov 2002 01:28:40 +0000 (01:28 +0000)]
(output_skeleton): Call xfopen instead of duplicating xfopen's body.
Paul Hilfinger [Thu, 14 Nov 2002 23:18:55 +0000 (23:18 +0000)]
* data/glr.c (yyFail): Always set yyerrflag. Corrects regression
on input.at test.
Paul Eggert [Thu, 14 Nov 2002 23:11:11 +0000 (23:11 +0000)]
Mention the bugs fixed by the latest change.
Paul Eggert [Thu, 14 Nov 2002 23:08:27 +0000 (23:08 +0000)]
* tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that
"$CC -E foo.h" is allowed, as this doesn't work with the Portland
Group compiler. Instead, use "$CC -E bar.c". Include the .h
file twice in the grammar, as an extra check.
* tests/input.at (Torturing the Scanner): Surround the
backslash-newline tests with "#if 0", to make it less likely that
we'll run into compiler bugs. Bring back solitary \ inside
comment, but add a closing comment to work around HP C bug. Don't
test backslash-newline in C character constant. This should fix
the input.at bug reported by Nelson H. F. Beebe in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001893.html>.
Paul Eggert [Thu, 14 Nov 2002 23:08:01 +0000 (23:08 +0000)]
(AT_TEST_CPP_GUARD_H): Don't assume that "$CC -E foo.h" is allowed, as
this doesn't work with the Portland Group compiler. Instead, use "$CC
-E bar.c". Include the .h file twice in the grammar, as an extra
check.
Paul Eggert [Thu, 14 Nov 2002 22:53:47 +0000 (22:53 +0000)]
(Torturing the Scanner): Surround the backslash-newline tests with
"#if 0", to make it less likely that we'll run into compiler bugs.
Bring back solitary \ inside comment, but add a closing comment to
work around HP C bug. Don't test backslash-newline in C character
constant. This should fix the input.at bug reported by Nelson
H. F. Beebe in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001893.html>.
Akim Demaille [Thu, 14 Nov 2002 11:09:51 +0000 (11:09 +0000)]
* tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore the exit
status of the compiler.
Calling `exit 1' is no longer needed.
Reported by Nelson H. F. Beebe.
Akim Demaille [Thu, 14 Nov 2002 11:07:00 +0000 (11:07 +0000)]
* tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore the exit
status of the compiler.
Reported by Nelson H. F. Beebe.
Akim Demaille [Thu, 14 Nov 2002 09:58:01 +0000 (09:58 +0000)]
* tests/atlocal.in (CPPFLAGS): We have config.h.
* tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR):
New.
* tests/actions.at, tests/calc.at, tests/conflicts.at,
* tests/cxx-type.at, tests/glr-regr1.at, tests/headers.at,
* tests/regression.at, tests/torture.at: Use them for all the
grammars that are to be compiled.
* tests/cxx-type.at (_AT_TEST_GLR_CALC): Rename as...
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): this.
* doc/bison.texinfo (GLR Parsers): Document `inline'.
Akim Demaille [Thu, 14 Nov 2002 08:32:10 +0000 (08:32 +0000)]
* doc/bison.texinfo: Various formatting changes (alignments in
samples, additional @group/@end group, GCS in samples.
Use @deffn instead of simple @table to define the directives,
macros, variables etc.
Paul Eggert [Thu, 14 Nov 2002 01:24:12 +0000 (01:24 +0000)]
Fix some bugs reported by Albert Chin-A-Young in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001881.html>.
Paul Eggert [Thu, 14 Nov 2002 00:36:03 +0000 (00:36 +0000)]
(export YYLTYPE): Don't invoke "cc a.c b.c -o c"; the HP-UX 11i C
compiler chatters during compilation. Instead, invoke "cc -c a.c -o
a.o; cc -c b.c -o b.o; cc a.o b.o -o c".
Paul Eggert [Thu, 14 Nov 2002 00:35:27 +0000 (00:35 +0000)]
(Torturing the Scanner): Don't invoke "cc a.c b.c
-o c"; the HP-UX 11i C compiler chatters during compilation.
Instead, invoke "cc -c a.c -o a.o; cc -c b.c -o b.o; cc a.o b.o -o c".
Paul Eggert [Thu, 14 Nov 2002 00:26:45 +0000 (00:26 +0000)]
(Torturing the Scanner): Remove lines containing
solitary backslashes, as they tickle a bug in the HP-UX 11i C
compiler.
Paul Eggert [Thu, 14 Nov 2002 00:04:57 +0000 (00:04 +0000)]
* tests/glr-regr1.at (Badly Collapsed GLR States): Avoid //
comments, since they're not portable. Use GNU coding style.
Paul Eggert [Wed, 13 Nov 2002 23:20:52 +0000 (23:20 +0000)]
(Badly Collapsed GLR States): Avoid //
comments, since they're not portable. Use GNU coding style.
Akim Demaille [Wed, 13 Nov 2002 15:17:35 +0000 (15:17 +0000)]
Bump to 1.75c.
Akim Demaille [Wed, 13 Nov 2002 09:49:49 +0000 (09:49 +0000)]
* data/yacc.c: Leave bigger chunks of quoted text.
(YYDSYMPRINTF): New.
Use it to report symbol activities.
* data/glr.c (YYDSYMPRINTF): New.
Use it.
Paul Eggert [Wed, 13 Nov 2002 09:06:47 +0000 (09:06 +0000)]
(AC_INIT): Bump version to 1.75c.
Paul Eggert [Wed, 13 Nov 2002 08:34:23 +0000 (08:34 +0000)]
Regenerate.
Paul Eggert [Wed, 13 Nov 2002 08:32:08 +0000 (08:32 +0000)]
Version 1.75b.
Paul Eggert [Wed, 13 Nov 2002 07:46:19 +0000 (07:46 +0000)]
(yydoAction): Return YYRESULTTAG, not int.
(yyglrReduce): Return yyok, not 0.
This should avoid the enumerated-type warnings reported
by Nelson H. F. Beebe in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001872.html>.
Paul Eggert [Wed, 13 Nov 2002 07:02:51 +0000 (07:02 +0000)]
[! BITSET_INLINE]: Remove.
(bitset_set, bitset_reset, bitset_test): Rename local vars
to avoid shadowing warnings by GCC.
Paul Eggert [Wed, 13 Nov 2002 07:02:13 +0000 (07:02 +0000)]
(BITSET_INLINE): Remove.
Paul Eggert [Wed, 13 Nov 2002 06:48:18 +0000 (06:48 +0000)]
(inline): Remove #define. It's the user's responsibility to #define
it away, just like 'const'. This fixes one of the bugs reported by
Nelson H.F. Beebe in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001873.html>.
Paul Eggert [Wed, 13 Nov 2002 06:40:35 +0000 (06:40 +0000)]
Revamp regular expressions so that " and '
do not confuse xgettext.
Paul Eggert [Wed, 13 Nov 2002 06:40:06 +0000 (06:40 +0000)]
Remove src/parse-gram.c, src/scan-gram.c,
src/system.h. Add src/parsegram.y, src/scan-gram.l.
Paul Eggert [Wed, 13 Nov 2002 06:39:26 +0000 (06:39 +0000)]
(po-check): Scan .l and .y files instead
of the .c and the .h files that they generate. Look for N_
as well as for _. Try to avoid matching #define for N_ and _.
Paul Eggert [Wed, 13 Nov 2002 06:27:18 +0000 (06:27 +0000)]
(struniq_new): Do not declare the return type
to be 'const'; this violates the C standard.
Akim Demaille [Tue, 12 Nov 2002 17:51:38 +0000 (17:51 +0000)]
* src/Makefile.am (LDADD): Link $(LIBINTL) last to avoid the
duplicate definition of optind on Tru64 UNIX 4.0D with the Compaq
linker.
Akim Demaille [Tue, 12 Nov 2002 17:50:21 +0000 (17:50 +0000)]
* Makefile.maint: Sync with Autoconf:
(local_updates): New.
Akim Demaille [Tue, 12 Nov 2002 16:11:49 +0000 (16:11 +0000)]
* Makefile.maint: Sync with Autoconf:
(local_updates): New.
Akim Demaille [Tue, 12 Nov 2002 16:09:38 +0000 (16:09 +0000)]
* po/POTFILES.in (src/lalr.c, src/state.c): Remove
Akim Demaille [Tue, 12 Nov 2002 15:15:21 +0000 (15:15 +0000)]
com.compilers.
Akim Demaille [Tue, 12 Nov 2002 10:18:05 +0000 (10:18 +0000)]
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Display the
locations.
Akim Demaille [Tue, 12 Nov 2002 09:44:41 +0000 (09:44 +0000)]
* data/c.m4 (b4_yysymprint_generate): Pass *yyvaluep to YYPRINT,
not yyvalue.
Akim Demaille [Tue, 12 Nov 2002 09:07:38 +0000 (09:07 +0000)]
* tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): New.
Use it to test the GLR parser.
Akim Demaille [Tue, 12 Nov 2002 09:03:13 +0000 (09:03 +0000)]
* tests/regression.at (input.y): s/YYEOF/MYEOF/, as the skeleton
defines it.
* data/glr.c (yystos): New.
(b4_yysymprint_generate, b4_yydestruct_generate): Invoke.
(YYDSYMPRINT): New.
(yyval): Don't define it, it is handled via M4.
(yyrecoverParseError): Free verbosely the discarded symbols.
* data/yacc.c (yysymprint): Remove, rather...
(b4_yysymprint_generate): invoke.
* data/c.m4 (b4_yysymprint_generate): New.
Accept pointers as arguments, as opposed to the version from
yacc.c.
(b4_yydestruct_generate): Likewise.
* tests/cations.at (Printers and Destructors): Use Bison directives
instead of CPP macros.
Don't rely on internal details.
Akim Demaille [Tue, 12 Nov 2002 08:45:40 +0000 (08:45 +0000)]
* data/c.m4 (b4_yydestruct_generate, b4_symbol_actions): New.
* data/yacc.c: Rename yychar1 as yytoken, as in glr.c.
Don't work on yychar (i.e., do set it to YYEMPTY, don't match
it against YYEMPTY and so forth), work on yytoken (i.e., set
it to YYEMPTY etc.).
(yydestruct): Replace with a b4_yydestruct_generate invocation.
(b4_symbol_actions): Remove.
* data/glr.c (YYTRANSLATE): As for yacc.c, if negative, it stands
for 0, end-of-input.
Akim Demaille [Tue, 12 Nov 2002 08:35:00 +0000 (08:35 +0000)]
* doc/bison.texinfo (Destructor Decl): New.
Akim Demaille [Tue, 12 Nov 2002 08:30:47 +0000 (08:30 +0000)]
* src/tables.c (tables_generate): Use free for pointers that
cannot be NULL, not XFREE.
(pack_vector): Use assert, not fatal, for bound violations.
* src/state.c (state_new): Likewise.
* src/reader.c (reader): Likewise.
* src/lalr.c (set_goto_map): Likewise.
* src/location.h (LOCATION_PRINT): If first_line is 0, just issue
the file name.
Akim Demaille [Tue, 12 Nov 2002 08:26:38 +0000 (08:26 +0000)]
* src/scan-gram.l, src/reader.h (scanner_last_string_free):
Restore.
* src/scan-gram.l (last_string): Is global to the file, not to
yylex.
* src/parse-gram.y (input): Don't append the epilogue here,
(epilogue.opt): do it here, and free the scanner's obstack.
* src/reader.c (epilogue_set): Rename as...
(epilogue_augment): this.
* data/c.m4 (b4_epilogue): Defaults to empty.
Akim Demaille [Tue, 12 Nov 2002 08:13:10 +0000 (08:13 +0000)]
* src/getargs.c (long_options): Remove duplicates.
* src/vmsgetargs.c, src/build.com, src/bison.cld, src/vmshlp.mar:
Remove.
* doc/bison.rnh: Remove.
* doc/bison.texinfo (VMS Invocation): Remove.
Akim Demaille [Tue, 12 Nov 2002 08:05:59 +0000 (08:05 +0000)]
* src/struniq.h, src/struniq.c (struniq_t): Is const.
(STRUNIQ_EQ, struniq_assert, struniq_assert_p): New.
Use struniq for symbols.
* src/symtab.h (symbol_t): The tag member is a struniq.
(symbol_type_set): Adjust.
* src/symtab.c (symbol_new): Takes a struniq.
(symbol_free): Don't free the tag member.
(hash_compare_symbol_t, hash_symbol_t): Rename as...
(hash_compare_symbol, hash_symbol): these.
Use the fact that tags as struniqs.
(symbol_get): Use struniq_new.
* src/symlist.h, src/symlist.c (symbol_list_n_type_name_get):
Returns a strniq.
* src/reader.h (merger_list, grammar_currentmerge_set): The name
and type members are struniqs.
* src/reader.c (get_merge_function)
(grammar_current_rule_merge_set): Adjust.
(TYPE, current_type): Are struniq.
Use struniq for file names.
* src/files.h, src/files.c (infile): Split into...
(grammar_file, current_file): these.
* src/scan-gram.c (YY_USER_INIT, handle_syncline): Adjust.
* src/reduce.c (reduce_print): Likewise.
* src/getargs.c (getargs): Likewise.
* src/complain.h, src/complain.c: Likewise.
* src/main.c (main): Call struniqs_new early enough to use it for
file names.
Don't free the input file name.
Akim Demaille [Tue, 12 Nov 2002 07:55:55 +0000 (07:55 +0000)]
* src/symtab.c (symbol_free): Remove dead deactivated code:
type_name are properly removed.
Don't use XFREE to free items that cannot be NULL.
* src/struniq.h, src/struniq.c: New.
* src/main.c (main): Initialize/free struniqs.
* src/parse-gram.y (%union): Add astruniq member.
(yyprint): Adjust.
* src/scan-gram.l (<{tag}>): Return a struniq.
Free the obstack bit that used to store it.
* src/symtab.h (symbol_t): The 'type_name' member is a struniq.