Commit Graph

675 Commits

Author SHA1 Message Date
Akim Demaille
24b1e65f04 * src/reduce.c: Various comment/formatting changes.
(nonterminals_reduce): New, extracted from...
(reduce_grammar_tables): here.
(reduce_grammar): Call nonterminals_reduce.
2001-11-30 10:45:14 +00:00
Paul Eggert
7ad28769d6 (YYSTACK_REALLOC): Remove.
(YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
(YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
New macros.
(union yyalloc): New type.
(__yy_memcpy): Last arg is size_t, not unsigned int, to remove
an arbitrary restriction on hosts where size_t is wider than int.

(yyparse): Don't dump core if alloca or malloc fails; instead, report
a parser stack overflow.  Allocate just one block of memory for all
three stacks, instead of allocating three blocks; this typically is
faster and reduces fragmentation.

Do not limit the number of items in the stack to a value that fits
in 'int', as this is an arbitrary limit on hosts with 64-bit
size_t and 32-bit int.
2001-11-30 02:47:56 +00:00
Paul Eggert
57d4ee2b82 * src/bison.simple (YYSTACK_REALLOC): Remove.
(YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
(YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
New macros.
(union yyalloc): New type.
(__yy_memcpy): Last arg is size_t, not unsigned int, to remove
an arbitrary restriction on hosts where size_t is wider than int.

(yyparse): Don't dump core if alloca or malloc fails; instead, report
a parser stack overflow.  Allocate just one block of memory for all
three stacks, instead of allocating three blocks; this typically is
faster and reduces fragmentation.

Do not limit the number of items in the stack to a value that fits
in 'int', as this is an arbitrary limit on hosts with 64-bit
size_t and 32-bit int.
2001-11-30 02:45:34 +00:00
Akim Demaille
d8a9ec00b8 Regen. 2001-11-28 14:59:32 +00:00
Akim Demaille
872e1b86c4 Typo. 2001-11-28 14:58:05 +00:00
Akim Demaille
ad4c2c7a57 * src/LR0.c (shifts_new): New.
(save_shifts, insert_start_shift, augment_automaton): Use it.
2001-11-28 14:57:44 +00:00
Akim Demaille
0785dec2c8 * src/closure.c (closure): b' and ruleno' denote the same value:
keep ruleno only.
2001-11-28 14:57:30 +00:00
Akim Demaille
e1828f4f07 * src/closure.c (closure): Instead of looping over word in array
then bits in words, loop over bits in array.
2001-11-28 14:57:16 +00:00
Akim Demaille
a816bf3eac * src/closure.c (closure): No longer optimize the special case
where all the bits of `ruleset[r]' are set to 0, to make the code
clearer.
2001-11-28 14:57:02 +00:00
Akim Demaille
2ce6476804 * src/closure.c (closure): r' and c' are new variables, used to
de-obfuscate accesses to RULESET and CORE.
2001-11-28 14:55:38 +00:00
Akim Demaille
457b6d1e72 * src/reduce.c (reduce_print): Use ngettext.
(dump_grammar): Improve the trace accuracy.
2001-11-28 13:38:15 +00:00
Akim Demaille
79ebbdb36a * src/reduce.c (dump_grammar): Don't translate trace messages. 2001-11-28 11:58:00 +00:00
Akim Demaille
0aa2ac9063 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
* src/reduce.c (reduce_grammar_tables): Do not free useless tags,
as all tags are free'ed afterwards.
From Enrico Scholz.
2001-11-28 11:42:56 +00:00
Akim Demaille
e7d79012ae * src/system.h: Use intl/libgettext.h.
* src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
2001-11-28 10:32:48 +00:00
Paul Eggert
eb4a4d73bc * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
use alloca when we didn't want to, and vice versa.
2001-11-27 23:31:47 +00:00
Akim Demaille
dee96b5a07 * tests/torture.at (Exploding the Stack Size with Malloc):
s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
2001-11-27 18:57:02 +00:00
Akim Demaille
4bfeeafb00 * src/files.c: Include error.h.
From Hans Aberg.
2001-11-27 18:42:32 +00:00
Marc Autret
c18cf8cb26 Revert doc patch. 2001-11-26 19:19:21 +00:00
Akim Demaille
54b982ae70 Bump to 1.30f. 2001-11-26 17:13:05 +00:00
Akim Demaille
cf2e198269 Version 1.30e. 2001-11-26 16:47:53 +00:00
Akim Demaille
af4483a0ab Typo. 2001-11-26 15:25:10 +00:00
Akim Demaille
674fd9acbc * src/reader.c (readgram): Make sure rules for mid-rule actions
have a lineno equal to that of their host rule.
Reported by Hans Aberg.
* tests/regression.at (Rule Line Numbers): New.
2001-11-26 15:24:06 +00:00
Akim Demaille
6fedd4d1d6 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
size_ts.
Reported by Hans Aberg.
2001-11-26 13:01:10 +00:00
Akim Demaille
abe1baa044 * src/complain.c, src/complain.h (error): Remove, provided by
lib/error.[ch].
2001-11-26 11:26:35 +00:00
Akim Demaille
33285af04d * src/reader.c (read_declarations): Don't abort on tok_illegal,
issue an error message.
* tests/regression.at (Invalid %directive): New.
Reported by Hans Aberg.
2001-11-26 09:49:58 +00:00
Akim Demaille
cd7f95831e * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
* lib/Makefile.am (libbison_a_SOURCES): Adjust.
2001-11-26 09:19:56 +00:00
Akim Demaille
1b9a8440cd * src/conflicts.c (conflicts_print): Don't complain at all when
there are no reduce/reduce conflicts, and as many shift/reduce
conflicts as expected.
* tests/regression.at (%expect right): Adjust.
2001-11-26 09:18:40 +00:00
Marc Autret
aead559e00 * doc/bison.texinfo (Mystery Conflicts): Hint '-v' use.
From Golubev I. N.
2001-11-25 12:57:33 +00:00
Akim Demaille
92b69b7f09 * lib/alloca.c: Update, from fileutils. 2001-11-23 14:55:36 +00:00
Akim Demaille
6e303f08d6 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@. 2001-11-23 14:18:36 +00:00
Akim Demaille
3dfc01e247 Regen. 2001-11-23 14:17:53 +00:00
Akim Demaille
1503820f54 1.30e. 2001-11-23 14:15:42 +00:00
Akim Demaille
bc9bb28004 Update. 2001-11-23 14:15:08 +00:00
Akim Demaille
16c4a35041 * src/system.h: Include alloca.h.
* src/main.c (main) [C_ALLOCA]: Call alloca (0).
2001-11-23 14:13:19 +00:00
Akim Demaille
f0451dba71 * src/print_graph.c (print_actions): Remove `rule', unused.
* src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
pacify GCC's signed < unsigned warnings.
* src/closure.c (itemsetsize): Likewise.
* src/reader.c (symbol_list_new): Static.
2001-11-23 14:04:08 +00:00
Akim Demaille
a9f37dee0c Attaching lineno to buckets is stupid, since only one copy of each
symbol is kept, only the line of the first occurrence is kept too.
* src/symtab.h, src/symtab.c (bucket): Remove the line member.
* src/reader.c (rline_allocated): Remove, unused.
(symbol_list): Have a `line' member.
(symbol_list_new): New.
(readgram): Use it.
* src/print.c (print_grammar): Output the rule line numbers.
* tests/regression.at (Solved SR Conflicts)
(Unresolved SR Conflicts): Adjust.
Reported by Hans Aberg.
2001-11-23 14:03:43 +00:00
Akim Demaille
4b0979fcf3 Englishoes reported by Jim. 2001-11-21 11:45:51 +00:00
Akim Demaille
cc35239e1b Remove all po/ generated files from repository. 2001-11-20 13:30:31 +00:00
Akim Demaille
2e2cbb3fad Remove doc/ generated files from the repository. 2001-11-20 13:29:40 +00:00
Akim Demaille
adb4edee47 Version 1.30d. 2001-11-20 13:26:58 +00:00
Akim Demaille
65490badba . 2001-11-20 13:21:23 +00:00
Akim Demaille
8b044b8540 Adjust. 2001-11-20 13:14:13 +00:00
Akim Demaille
0704bc9b8e * po/sv.po: New.
* configure.in (ALL_LINGUAS): Adjust.
* po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
longer contains strings to translate.
2001-11-20 13:10:12 +00:00
Akim Demaille
2b7c2ef124 * src/conflicts.c (conflicts_print): Add a missing n. 2001-11-19 11:07:50 +00:00
Akim Demaille
48e38d301e Formatting changes. 2001-11-19 10:28:25 +00:00
Akim Demaille
560757768c * src/nullable.c (nullable_print): New.
(set_nullable): Call it when tracing.
Better locality of variables.
2001-11-19 09:27:37 +00:00
Akim Demaille
238b8134ec * src/print.c (print_actions): Better locality of variables. 2001-11-19 09:27:24 +00:00
Akim Demaille
483642486d * src/derives.c (print_derives): Fix and enrich.
* src/closure.c (print_fderives): Likewise.
2001-11-19 09:27:11 +00:00
Akim Demaille
146ad4c8d0 * src/closure.c (itemsetend): Remove, replaced with...
(itemsetsize): new.
2001-11-19 09:26:57 +00:00
Akim Demaille
f2a4c94506 * src/LR0.c (kernel_end): Remove, replaced with...
(kernel_size): new.
2001-11-19 09:26:43 +00:00