Paul Eggert
3ea5f0ec81
* bootstrap: Add stdio-safer, unistd-safer modules.
...
Remove m4/glibc2.m4 (introduced by latest gnulib, but
we don't need it).
* lib/.cvsignore: Add dup-safer.c, fd-safer.c,
fopen-safer.c, stdio-safer.h, unistd-safer.h.
* lib/subpipe.c: Include "unistd-safer.h".
(create_subpipe): Make sure all the newly-created
file descriptors are > 2, so that diagnostics don't
get sent down them (which might cause Bison to hang, in theory).
* m4/.cvsignore: Add stdio-safer.m4, unistd-safer.m4.
* src/files.c (xfopen): Use fopen_safer, not fopen.
2005-05-22 08:04:06 +00:00
Paul Eggert
51c30d2144
* data/lalr1.cc (yy::]b4_parser_class_name[::parse): Port
...
yesterday's yacc.c fix.
2005-05-22 07:31:41 +00:00
Paul Eggert
ad7458633d
(yy::]b4_parser_class_name[::parse): Port
...
yesterday's yacc.c fix.
2005-05-22 07:31:24 +00:00
Paul Eggert
010f91c341
Update copyright date.
2005-05-22 06:26:13 +00:00
Paul Eggert
bd134904da
Regenerate.
2005-05-22 05:20:48 +00:00
Paul Eggert
cea1469d47
Fix a destructor bug reported by Wolfgang Spraul in
...
<http://lists.gnu.org/archive/html/bug-bison/2005-05/msg00042.html >.
* data/yacc.c (yyabortlab): Don't call destructor, and
don't set yychar to EMPTY.
(yyoverflowlab): Don't call destructor.
(yyreturn): Call destructor, if yychar is neither YYEOF nor YYEMPTY.
* tests/calc.at (AT_CHECK_CALC): Expect one fewer output lines,
since we no longer output the message "discarding lookahead token
end of input ()".
2005-05-22 05:20:01 +00:00
Paul Eggert
0fb669f9d6
Update FSF postal mail address.
2005-05-14 06:49:48 +00:00
Paul Eggert
51f4735e22
* tests/local.at (AT_COMPILE_CXX): Treat LDFLAGS like AT_COMPILE does.
...
Problem reported by Ralf Menzel.
2005-05-11 19:38:24 +00:00
Paul Eggert
7768896a25
Regenerate.
2005-05-02 04:56:45 +00:00
Paul Eggert
80ce3401e9
* tests/actions.at: Test that stack overflow invokes destructors.
...
From Marcus Holland-Moritz.
* data/yacc.c (yyerrlab): Move the code that destroys the stack
from here....
(yyreturn): to here. That way, destructors are called properly
even if the stack overflows, or the user calls YYACCEPT or
YYABORT. Stack-overflow problem reported by Marcus Holland-Moritz.
(yyoverflowlab): Destroy the lookahead.
2005-05-02 04:52:33 +00:00
Paul Eggert
b9c9f76197
(YYSTACK_ALLOC_MAXIMUM): Add more-descriptive comment.
2005-04-25 03:14:22 +00:00
Paul Eggert
9f666b5106
Regenerate.
2005-04-17 08:14:52 +00:00
Paul Eggert
c19683bb19
* tests/input.at (Torturing the Scanner): Adjust to lack of quotes
...
in diagnostics.
2005-04-17 08:13:37 +00:00
Paul Eggert
ba20a26459
(Torturing the Scanner): Adjust to lack of quotes in diagnostics.
2005-04-17 08:12:56 +00:00
Paul Eggert
72f000b088
* NEWS: Bison-generated C parsers no longer quote literal strings
...
associated with tokens.
* src/output.c (prepare_symbols): Don't escape strings,
since users don't want to see C escapes.
* tests/calc.at (AT_CHECK_CALC): Adjust to lack of quotes
in diagnostics.
* tests/regression.at (Token definitions, Web2c Actions): Likewise.
2005-04-17 08:07:15 +00:00
Paul Eggert
1094323fe4
* tests/torture.at (AT_INCREASE_DATA_SIZE): Skip the test if
...
the data size is known to be too small and we can't increase it.
2005-04-16 08:11:52 +00:00
Paul Eggert
f79b4f5ce1
(AT_INCREASE_DATA_SIZE): Skip the test if
...
the data size is known to be too small and we can't increase it.
2005-04-16 08:11:33 +00:00
Paul Eggert
2ce37586de
Regenerate.
2005-04-16 06:34:20 +00:00
Paul Eggert
ca407bdf9d
* src/parse-gram.y: Include quotearg.h.
...
(string_as_id): Quote $1 before using it as a key, since the
lexer no longer quotes it for us.
(string_content): Don't strip quotes, since lexer no longer
quotes it for us.
* src/scan-gram.l: Include quotearg.h.
("\""): Omit quote.
("'"<SC_ESCAPED_CHARACTER>): Quote symbol before using it as
a key, since the rest of the lexer doesn't quote it.
* src/symtab.c (symbol_get): Don't quote symbol; caller does it now.
* tests/regression.at (Token definitions): Check for backslashes
in token strings.
2005-04-16 06:32:51 +00:00
Paul Eggert
506ffb1f74
(YYSTACK_ALLOC_MAXIMUM): New macro.
...
(YYSIZE_T): Define to unsigned long int when using an older compiler.
(yyparse): Revamp code to generate long syntax error message, to
make it easier to translate, and to avoid problems with arithmetic
overflow. Change "virtual memory" to "memory" in diagnostic, since
we don't know whether the memory is virtual.
2005-04-16 06:25:03 +00:00
Paul Eggert
ffc9da3a52
Regenerate.
2005-04-14 00:09:11 +00:00
Paul Eggert
1ce590705a
* NEWS: Bison-generated C parsers now use the _ macro to
...
translate strings.
* data/yacc.c (_) [!defined _]: New macro.
All English strings wrapped inside this macro.
* doc/bison.texinfo (Bison Parser): Document _.
* po/POTFILES.in: Include src/parse-gram.c, since it now
includes translateable strings that parse-gram.y doesn't.
2005-04-14 00:08:56 +00:00
Paul Eggert
a749a69501
Fix aliases bug reported by Tim Van Holder.
2005-04-12 22:38:43 +00:00
Paul Eggert
e8fd72d5bb
(symbol_make_alias): Call symbol_type_set,
...
reverting the 2004-10-11 change to this function.
(symbol_check_alias_consistency): Don't call symbol_type_set
if the type name is already correct.
2005-04-12 22:38:20 +00:00
Paul Eggert
e59adf8f04
(Typed symbol aliases): New test.
2005-04-12 22:35:53 +00:00
Paul Eggert
8fb1053bfe
* tests/regression.at (Token definitions): Don't use a token named c.
2005-03-26 01:13:13 +00:00
Paul Eggert
4f136612d9
(Token definitions): Don't use a token named c, as that generates a
...
"#define c ..." that runs afoul of buggy stdlib.h that uses the
identifier c as a member of struct drand48_data.
2005-03-26 01:12:59 +00:00
Paul Eggert
ff498c4aed
* bootstrap: Change translation URL.
2005-03-21 22:36:41 +00:00
Paul Eggert
65211d70bc
* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Don't put options
...
after operands; POSIX says this isn't portable for the c99 command.
2005-03-21 06:58:31 +00:00
Paul Eggert
72d848c21d
(AT_COMPILE, AT_COMPILE_CXX): Don't put options
...
after operands; POSIX says this isn't portable for the c99 command.
2005-03-21 06:58:11 +00:00
Paul Eggert
9577fb1f47
* tests/glr-regression.at (glr-regr2a.y): Try to dump core
...
immediately if a data overrun has occurred.
2005-03-18 20:57:37 +00:00
Paul Eggert
f508a6a0d6
(glr-regr2a.y): Try to dump core
...
immediately if a data overrun has occurred; this may help us track
down what may be a spurious failure on MacOS.
2005-03-18 20:57:19 +00:00
Paul Eggert
a2599d0fc2
Respond to problems reported by [email protected] .
2005-03-17 23:42:57 +00:00
Paul Eggert
727e8b0bde
Use "trap - 0" rather than the unportable "trap 0".
2005-03-17 23:41:38 +00:00
Paul Eggert
4b3017faf2
Regenerate.
2005-03-17 19:22:00 +00:00
Paul Eggert
78b178f716
* src/vcg.h: Comment fix.
...
* src/vcg_defaults.h: Parenthesize macro bodies to make them safe.
(G_CMAX): Change to -1 instead of INT_MAX.
2005-03-17 19:20:15 +00:00
Paul Eggert
baf073c6c5
(yyparse): Omit spaces before #line.
...
Problem reported by [email protected] .
2005-03-17 19:19:44 +00:00
Paul Eggert
7296e729ce
* src/tables.c (state_number_to_vector_number): Put it inside an
...
"#if 0".
2005-03-15 23:53:47 +00:00
Paul Eggert
7cf96b1a9e
(state_number_to_vector_number): Put it inside an
...
"#if 0", since it's not currently used.
2005-03-15 23:53:27 +00:00
Paul Eggert
05ac60f348
* src/output.c (escaped_output): Renamed from
...
escaped_file_name_output, since we now use it for symbol tags as
well. All uses changed.
(symbol_destructors_output, symbol_printers_output):
Escape symbol tags too.
Problem reported by Matyas Forstner in
<http://lists.gnu.org/archive/html/bug-bison/2005-03/msg00009.html >.
* src/muscle_tab.c (muscle_code_grow): Don't quote numbers; it's
not needed.
* src/output.c (user_actions_output, token_definitions_output,
symbol_destructors_output, symbol_printers_output): Likewise.
* src/reader.c (prologue_augment): Likewise.
* src/scan-gram.l (handle_action_dollar, handle_action_at): Likewise.
2005-03-07 06:41:39 +00:00
Paul Eggert
080e734812
(output_edge): Don't quote linestyle arg.
2005-03-07 06:35:31 +00:00
Paul Eggert
7eb453acd5
* doc/bison.texinfo (Semantic Tokens): Fix scoping problem in
...
example, reported by Derek M Jones.
2005-03-01 00:41:58 +00:00
Paul Eggert
3a4f411faa
(Semantic Tokens): Fix scoping problem in
...
example, reported by Derek M Jones. Also, make the example even
more outrageous, to better illustrate how bad the problem is.
2005-03-01 00:41:33 +00:00
Paul Eggert
4c04c52a9d
* doc/bison.texinfo (Mfcalc Symtab): Correct the prototype for putsym.
2005-02-24 17:24:23 +00:00
Paul Eggert
a730d142be
(Mfcalc Symtab): Correct the prototype for putsym.
2005-02-24 17:23:57 +00:00
Paul Eggert
a61e1620e7
* doc/bison.texinfo: minor typo fixes
2005-02-23 09:15:27 +00:00
Paul Eggert
e4f85c39b2
(Language and Grammar): some -> same
...
(Epilogue): int he -> in the
2005-02-23 09:15:09 +00:00
Paul Eggert
9ec93868c1
Fix $ in test names.
2005-02-08 00:37:43 +00:00
Paul Eggert
d46c3fc694
Renamed from "Invalid \$n", to work around an Autoconf bug with dollar
...
signs in test names.
2005-02-07 23:14:55 +00:00
Paul Eggert
d6d67dbdcb
(Improper handling of embedded actions and dollar(-N) in GLR parsers):
...
Renamed from "Improper handling of embedded actions and $-N in GLR
parsers", work around an Autoconf bug with dollar signs in test names.
2005-02-07 23:14:22 +00:00
Paul Eggert
73ce7e7e63
* src/vcg.c (output_graph): G_VIEW -> normal_view.
2005-01-28 22:07:09 +00:00
Paul Eggert
f8b30d02ec
(output_graph): G_VIEW -> normal_view in case someone
...
wants to redefine G_VIEW.
2005-01-28 22:06:55 +00:00
Paul Eggert
2e72b98ed8
* src/vcg.c (get_view_str): Remove case for normal_view.
2005-01-27 22:03:21 +00:00
Paul Eggert
a8999f947d
(get_view_str): Remove case for normal_view.
2005-01-27 22:03:07 +00:00
Paul Eggert
ccf830a458
* configure.ac (O0CFLAGS, O0CXXFLAGS): Fix quoting bug.
2005-01-24 23:48:11 +00:00
Paul Eggert
9b9642fca4
(O0CFLAGS, O0CXXFLAGS): Fix quoting bug.
2005-01-24 23:47:49 +00:00
Paul Eggert
e0d634e5c3
* doc/bison.texinfo: Change @dircategory from "GNU programming
...
tools" to "Software development".
2005-01-24 23:26:33 +00:00
Paul Eggert
e62f1a8991
Change @dircategory from "GNU programming tools" to "Software development".
2005-01-24 23:26:17 +00:00
Paul Eggert
7bbc8cb035
* tests/c++.at (AT_CHECK_DOXYGEN): Don't use options after operands.
2005-01-23 08:38:33 +00:00
Paul Eggert
38989c080e
(AT_CHECK_DOXYGEN): Don't use options after operands.
2005-01-23 08:37:35 +00:00
Paul Eggert
b4fb989f02
Regenerate.
2005-01-21 19:29:25 +00:00
Paul Eggert
08b770bc1b
* data/yacc.c (YYCOPY, yystpcpy, yyparse): Remove "register".
2005-01-21 19:12:51 +00:00
Paul Eggert
cb530ce9e2
(YYCOPY, yystpcpy, yyparse): Remove "register".
2005-01-21 19:12:32 +00:00
Paul Eggert
e105489549
Regenerate.
2005-01-17 09:35:41 +00:00
Paul Eggert
95f22ad2a7
* data/glr.c (yyuserAction): Add "default: break;" case to pacify
...
gcc -Wswitch-default.
* data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
* data/yacc.c (yyparse): Likewise.
2005-01-17 09:33:57 +00:00
Paul Eggert
d229d15c76
* src/system.h (OUTPUT_EXT, TAB_EXT): Define only if not defined
...
already. Let config.h define any nonstandard values.
2005-01-13 00:13:37 +00:00
Paul Eggert
deb63d8117
(OUTPUT_EXT, TAB_EXT): Define only if not defined
...
already. Let config.h define any nonstandard values.
2005-01-13 00:13:21 +00:00
Paul Eggert
ecadd90f94
* tests/calc.at (_AT_DATA_CALC_Y): Use alarm (100), not alarm (10).
2005-01-10 18:22:30 +00:00
Paul Eggert
419ab1055e
(_AT_DATA_CALC_Y): Use alarm (100), not alarm (10).
2005-01-10 18:22:11 +00:00
Paul Eggert
213744b51e
* data/yacc.c (yyparse): Pacify non-GCC compilers about yyerrorlab
...
being defined and not used.
* data/lalr1.cc (yyparse): Likewise.
Use "if (false)" rather than "if (0)".
2005-01-08 05:22:36 +00:00
Paul Eggert
b47217154a
(yyparse): Pacify non-GCC compilers about yyerrorlab
...
being defined and not used.
Use "if (false)" rather than "if (0)".
2005-01-08 05:22:19 +00:00
Paul Eggert
c7a65b99a6
(yyparse): Pacify non-GCC compilers about yyerrorlab
...
being defined and not used.
2005-01-08 05:21:46 +00:00
Paul Eggert
249d3236d0
TODO: Mention that we should allow NUL bytes in tokens.
2005-01-05 21:35:46 +00:00
Paul Eggert
d521d95a3d
Mention that we should support NUL bytes in tokens.
2005-01-05 21:35:08 +00:00
Paul Eggert
987cc1fb28
* src/scan-skel.l (<<EOF>>): Don't close standard output.
2005-01-03 07:52:46 +00:00
Paul Eggert
7ec5ab2e48
(<<EOF>>): Don't close standard output.
...
Problem reported by Hans Aberg.
2005-01-03 07:52:31 +00:00
Paul Eggert
08fe02d9fc
Fix bug when stdout is closed. Update copyright to 2005.
2005-01-01 09:28:00 +00:00
Paul Eggert
6201a1a70f
(version): Happy new year; update overall
...
program copyright date from 2004 to 2005.
2005-01-01 09:27:38 +00:00
Paul Eggert
f1bbfccee2
(AT_CHECK_OUTPUT): New arg SHELLIO.
...
(Output file names.): Add a test for the case when standard output
is closed.
2005-01-01 09:23:41 +00:00
Paul Eggert
1821246647
("@output ".*\n): Don't close standard output.
2005-01-01 09:23:16 +00:00
Paul Eggert
010c0266ef
* doc/bison.texinfo (@copying): Update FDL version number to 1.2,
...
to fix an oversight in the Bison 2.0 manual.
2004-12-26 07:26:32 +00:00
Paul Eggert
592fde9564
Update FDL license revision to 1.2.
2004-12-26 07:25:05 +00:00
Paul Eggert
508a43be8c
Bump version number to 2.0a.
2004-12-26 06:50:35 +00:00
Paul Eggert
3a4734aa97
Fix changelog entry for configure.ac.
2004-12-26 06:22:17 +00:00
Paul Eggert
c935d93471
* tests/torture.at (Exploding the Stack Size with Alloca): Set
...
YYSTACK_USE_ALLOCA to 1 if __GNUC__ or alloca are defined;
otherwise, we're not testing alloca. Unfortunately there's no
simple way to consult HAVE_ALLOCA here.
(This made it into 2.0.)
2004-12-26 06:13:31 +00:00
Paul Eggert
577d7c33df
(Exploding the Stack Size with Alloca): Set
...
YYSTACK_USE_ALLOCA to 1 if __GNUC__ or alloca are defined;
otherwise, we're not testing alloca. Unfortunately there's no
simple way to consult HAVE_ALLOCA here.
2004-12-26 06:12:18 +00:00
Paul Eggert
da436e4383
Regenerate.
2004-12-26 05:51:10 +00:00
Paul Eggert
da12206a7c
Version 2.0.
2004-12-26 05:50:28 +00:00
Paul Eggert
82de6b0dde
Reformat news for version 2.0.
2004-12-26 05:49:52 +00:00
Paul Eggert
6c7ffa8380
(AC_INIT): Bump version to 2.0.
2004-12-26 05:49:16 +00:00
Paul Eggert
895789c673
(yydestruct_): Pacify unused variable warning for yymsg, too.
2004-12-26 05:42:27 +00:00
Paul Eggert
55a91a8242
(new_itemsets): Use memset rather than zeroing by hand. This avoids a
...
warning about comparing int to size_t when GCC warnings are enabled.
2004-12-26 05:26:30 +00:00
Paul Eggert
d7e14fc000
* NEWS: Bison-generated parsers no longer default to using the
...
alloca function (when available) to extend the parser stack, due
to widespread problems in unchecked stack-overflow detection.
* data/glr.c (YYMAXDEPTH): Remove undef when zero. It's the user's
responsibility to set it to a positive value. This lets the user
specify a value that is not a preprocessor constant.
* data/yacc.c (YYMAXDEPTH): Likewise.
(YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.
* doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs
to be a compile-time constant. However, explain the constraints on it.
Also, explain the constraints on YYINITDEPTH.
(Table of Symbols): Explain that alloca is no longer the default.
Explain the user's responsibility if they define YYSTACK_USE_ALLOCA
to 1.
2004-12-22 21:19:47 +00:00
Paul Eggert
0a2c51373a
* doc/bison.texinfo (Location Default Action): Mention that n must be zero when k is.
2004-12-22 18:28:26 +00:00
Paul Eggert
f28ac696ee
(Location Default Action): Mention that n must be zero when k is zero.
2004-12-22 18:26:37 +00:00
Paul Eggert
9bec482e39
(YYLLOC_DEFAULT): Use GNU spacing conventions.
2004-12-20 03:44:10 +00:00
Paul Eggert
f6fbd3da9d
Remove uses of 'short int' and 'unsigned short int' in the parser generators.
...
* src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):
Use size_t, not int or short int, to count objects.
* src/closure.c (nritemset, closure): Likewise.
* src/closure.h (nritemset, closure): Likewise.
* src/nullable.c (nullable_compute): Likewise.
* src/print.c (print_core): Likewise.
* src/print_graph.c (print_core): Likewise.
* src/state.c (state_compare, state_hash): Likewise.
* src/state.h (struct state): Likewise.
* src/tables.c (default_goto, goto_actions): Likewise.
* src/gram.h (rule_number, rule): Use int, not short int.
* src/output.c (prepare_rules): Likewise.
* src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,
errs, reductions): Likewise.
* src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):
Likewise.
* src/tables.c (vector_number, tally, action_number,
ACTION_NUMBER_MINIMUM): Likewise.
* src/output.c (muscle_insert_short_int_table): Remove.
2004-12-17 20:29:19 +00:00
Paul Eggert
76dcf299b7
Regenerate.
2004-12-16 20:42:40 +00:00
Paul Eggert
bc82c5a593
* data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
...
Parenthesize rhs to avoid obscure problems with mistakes like
"foo$$bar = foo$1bar;". Problem reported by twlevo at xs4all.
* data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,
b4_rhs_location): Likewise.
* data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,
b4_rhs_location): Likewise.
2004-12-16 20:41:54 +00:00
Paul Eggert
1e547e6e8c
Fix some problems reported by twlevo at xs4all.
2004-12-16 00:09:28 +00:00