platform/upstream/bison.git
22 years ago* src/output.c (prepare): Move the definition of `tokens_number',
Akim Demaille [Sun, 20 Oct 2002 11:20:15 +0000 (11:20 +0000)]
* src/output.c (prepare): Move the definition of `tokens_number',
`nterms_number', `undef_token_number', `user_token_number_max'
to...
(prepare_tokens): Here.
(prepare_tokens): Rename as...
(prepare_symbols): this.
(prepare): Move the definition of `rules_number' to...
(prepare_rules): here.
(prepare): Move the definition of `last', `final_state_number',
`states_number' to...
(prepare_states): here.
* data/yacc.c, data/lalr1.cc, data/glr.c: Normalize `>' into `<'.

22 years ago* src/tables.h, src/tables.c, src/output.c: Comment changes.
Akim Demaille [Sun, 20 Oct 2002 11:18:14 +0000 (11:18 +0000)]
* src/tables.h, src/tables.c, src/output.c: Comment changes.

22 years ago* data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
Akim Demaille [Sun, 20 Oct 2002 11:17:20 +0000 (11:17 +0000)]
* data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
* data/c.m4: here.

22 years ago* src/output.c (prepare): Use MUSCLE_INSERT_STRING.
Akim Demaille [Sun, 20 Oct 2002 11:16:01 +0000 (11:16 +0000)]
* src/output.c (prepare): Use MUSCLE_INSERT_STRING.
* src/muscle_tab.c (muscle_pair_list_grow): Rename `val as
`pair'.
(muscle_init): Move the `b4_ltype', `b4_maxdepth', `b4_initdepth',
`name' to...
* data/glr.c, data/lalr1.cc, data/yacc.c (b4_location_type)
(b4_stack_depth_init, b4_stack_depth_max, b4_parser_class_name):
These.

22 years agoDo not create a temporary file, as that involves security and
Paul Eggert [Sun, 20 Oct 2002 06:37:08 +0000 (06:37 +0000)]
Do not create a temporary file, as that involves security and
cleanup headaches.  Instead, use a pair of pipes.
Derived from a suggestion by Florian Krohm.

Also, some other minor changes to avoid GCC warnings.

22 years agoDo not create a temporary file, as that involves security and
Paul Eggert [Sun, 20 Oct 2002 06:35:41 +0000 (06:35 +0000)]
Do not create a temporary file, as that involves security and
cleanup headaches.  Instead, use a pair of pipes.  Derived from
a suggestion by Florian Krohm.

22 years ago(readpipe): Remove decl.
Paul Eggert [Sun, 20 Oct 2002 06:32:04 +0000 (06:32 +0000)]
(readpipe): Remove decl.
(scan_skel): New function, to be used in place of m4_invoke.
Read from stream rather than file.

22 years agoInclude "subpipe.h".
Paul Eggert [Sun, 20 Oct 2002 06:31:23 +0000 (06:31 +0000)]
Include "subpipe.h".
(m4_invoke): Remove decl.
(scan_skel): New decl.
(output_skeleton): Use pipe rather than temporary file for m4 input.
Check that m4sugar.m4 is readable, to avoid deadlock.
Check for pipe I/O error.

22 years agoAdd lib/subpipe.c.
Paul Eggert [Sun, 20 Oct 2002 06:30:43 +0000 (06:30 +0000)]
Add lib/subpipe.c.

22 years ago(EXTRA_DIST): Remove mkstemp.m4. Add subpipe.m4.
Paul Eggert [Sun, 20 Oct 2002 06:30:15 +0000 (06:30 +0000)]
(EXTRA_DIST): Remove mkstemp.m4.  Add subpipe.m4.

22 years ago(libbison_a_SOURCES): Remove readpipe.c.
Paul Eggert [Sun, 20 Oct 2002 06:29:41 +0000 (06:29 +0000)]
(libbison_a_SOURCES): Remove readpipe.c.
Add subpipe.h, subpipe.c.

22 years ago(UTILS_FUNC_MKSTEMP, jm_PREREQ_TEMPNAME): Remove.
Paul Eggert [Sun, 20 Oct 2002 06:29:09 +0000 (06:29 +0000)]
(UTILS_FUNC_MKSTEMP, jm_PREREQ_TEMPNAME): Remove.
(BISON_PREREQ_SUBPIPE): Add.

22 years agoInitial version.
Paul Eggert [Sun, 20 Oct 2002 06:28:23 +0000 (06:28 +0000)]
Initial version.

22 years ago(prepare): Use xstrdup to convert char const * to char *, to avoid GCC
Paul Eggert [Sun, 20 Oct 2002 06:01:07 +0000 (06:01 +0000)]
(prepare): Use xstrdup to convert char const * to char *, to avoid GCC
warning.

22 years ago(muscle_pair_list_grow): Rename local to avoid confusion with
Paul Eggert [Sun, 20 Oct 2002 05:47:09 +0000 (05:47 +0000)]
(muscle_pair_list_grow): Rename local to avoid confusion with
similarly-named more-global.

22 years ago(TICKS_TO_MSEC, CLOCKS_TO_MSEC): Do not cast to
Paul Eggert [Sun, 20 Oct 2002 05:34:55 +0000 (05:34 +0000)]
(TICKS_TO_MSEC, CLOCKS_TO_MSEC): Do not cast to
float, as this generates a warning on Solaris 8 + GCC 3.2 with
--enable-gcc-warnings.  Instead, divide into 1.0 rather than 1;
this generates a more-accurate value anyway.
(timervar_accumulate): Rename local variables to avoid confusion
with similarly-named global 'start_time'.

22 years agoSpell `-*- Autoconf -*-' properly; the leading `-' was missing.
Paul Eggert [Sun, 20 Oct 2002 05:23:11 +0000 (05:23 +0000)]
Spell `-*- Autoconf -*-' properly; the leading `-' was missing.

22 years ago* tests/calc.at (_AT_DATA_CALC_Y): Define VAL, LOC, LEX_FORMALS,
Akim Demaille [Sat, 19 Oct 2002 14:39:07 +0000 (14:39 +0000)]
* tests/calc.at (_AT_DATA_CALC_Y): Define VAL, LOC, LEX_FORMALS,
LEX_PRE_FORMALS, LEX_ARGS, LEX_PRE_ARGS, USE_LEX_ARGS.
Use them to have `calc.y' ready for %pure-parser.
* data/yacc.c (YYLEX): Pass a yylex return type to
b4_c_function_call.

22 years agoPrototype support of %lex-param and %parse-param.
Akim Demaille [Sat, 19 Oct 2002 14:38:06 +0000 (14:38 +0000)]
Prototype support of %lex-param and %parse-param.
* src/parse-gram.y: Add the definition of the %lex-param and
%parse-param tokens, plus their rules.
Drop the `_' version of %glr-parser.
Add the "," token.
* src/scan-gram.l (INITIAL): Scan them.
* src/muscle_tab.c: Comment changes.
(muscle_insert, muscle_find): Rename `pair' as `probe'.
* src/muscle_tab.h (MUSCLE_INSERT_PREFIX): Remove unused.
(muscle_entry_s): The `value' member is no longer const.
Adjust all dependencies.
* src/muscle_tab.c (muscle_init): Adjust: use
MUSCLE_INSERT_STRING.
Initialize the obstack earlier.
* src/muscle_tab.h, src/muscle_tab.c (muscle_grow)
(muscle_pair_list_grow): New.
* data/c.m4 (b4_c_function_call, b4_c_args): New.
* data/yacc.c (YYLEX): Use b4_c_function_call to honor %lex-param.
* tests/calc.at: Use %locations, not --locations.
(AT_CHECK_CALC_GLR): Use %glr-parser, not %glr_parser.

22 years ago* src/getargs.c (usage): Take status as argument and exit
Akim Demaille [Sat, 19 Oct 2002 14:36:40 +0000 (14:36 +0000)]
* src/getargs.c (usage): Take status as argument and exit
accordingly.
Report the traditional `Try ... --help' message when status != 0.
(usage, version): Don't take a FILE * as arg, it is pointless.
(getargs): When there is an incorrect number of arguments, make it
an error, and report it GNUlically thanks to `usage ()'.

22 years ago* data/glr.c (yyreportParseError): Don't assume that sprintf
Paul Eggert [Sat, 19 Oct 2002 01:33:39 +0000 (01:33 +0000)]
* data/glr.c (yyreportParseError): Don't assume that sprintf
yields the length of the printed string, as this is not true
on SunOS 4.1.4.  Reported by Peter Klein.

22 years ago(yyreportParseError): Don't assume that sprintf
Paul Eggert [Sat, 19 Oct 2002 01:33:20 +0000 (01:33 +0000)]
(yyreportParseError): Don't assume that sprintf
yields the length of the printed string, as this is not true
on SunOS 4.1.4.  Reported by Peter Klein.

22 years ago* tests/calc.at (_AT_DATA_CALC_Y): #undef memcmp and realloc.
Paul Eggert [Sat, 19 Oct 2002 01:10:26 +0000 (01:10 +0000)]
* tests/calc.at (_AT_DATA_CALC_Y): #undef memcmp and realloc.
* tests/conflicts.at (%nonassoc and eof): Likewise.
Fixes SunOS 4.1.4 test failure reported by Peter Klein.

22 years ago(%nonassoc and eof): #undef memcmp and realloc.
Paul Eggert [Sat, 19 Oct 2002 01:09:36 +0000 (01:09 +0000)]
(%nonassoc and eof): #undef memcmp and realloc.

22 years ago(_AT_DATA_CALC_Y): #undef memcmp and realloc.
Paul Eggert [Sat, 19 Oct 2002 01:09:13 +0000 (01:09 +0000)]
(_AT_DATA_CALC_Y): #undef memcmp and realloc.

22 years ago* src/getargs.h (trace_e): Add trace_scan, and trace_parse.
Akim Demaille [Thu, 17 Oct 2002 17:47:33 +0000 (17:47 +0000)]
* src/getargs.h (trace_e): Add trace_scan, and trace_parse.
* src/getargs.c (trace_types, trace_args): Adjust.
* src/reader.c (grammar_current_rule_prec_set)
(grammar_current_rule_dprec_set, grammar_current_rule_merge_set):
Standardize error messages.
And s/@prec/%prec/!
(reader): Use trace_flag to enable scanner/parser debugging,
instead of an adhoc scheme.
* src/scan-gram.l: Remove trailing debugging code.

22 years ago* src/muscle_tab.h (MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H.
Paul Eggert [Thu, 17 Oct 2002 06:31:51 +0000 (06:31 +0000)]
* src/muscle_tab.h (MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H.

22 years ago(MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H_.
Paul Eggert [Thu, 17 Oct 2002 06:27:41 +0000 (06:27 +0000)]
(MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H_.

22 years ago* NEWS: Officially drop support for building Bison with K&R C,
Paul Eggert [Thu, 17 Oct 2002 01:29:58 +0000 (01:29 +0000)]
* NEWS: Officially drop support for building Bison with K&R C,
since it didn't work anyway and it's not worth worrying about.
* Makefile.maint (wget_files): Remove ansi2knr.c.
(ansi2knr.c-url_prefix): Remove.
* lib/.cvsignore: Remove ansi2knr, ansi2knr.*.
* lib/Makefile.am (AUTOMAKE_OPTIONS): Remove.
* src/Makefile.am (AUTOMAKE_OPTIONS): Remove.

22 years ago(AUTOMAKE_OPTIONS): Remove.
Paul Eggert [Thu, 17 Oct 2002 01:29:01 +0000 (01:29 +0000)]
(AUTOMAKE_OPTIONS): Remove.

22 years agoRemove ansi2knr, ansi2knr.*.
Paul Eggert [Thu, 17 Oct 2002 01:26:33 +0000 (01:26 +0000)]
Remove ansi2knr, ansi2knr.*.

22 years agoOfficially drop support for building Bison with K&R C,
Paul Eggert [Thu, 17 Oct 2002 01:24:46 +0000 (01:24 +0000)]
Officially drop support for building Bison with K&R C,
since it didn't work anyway and it's not worth worrying about.

22 years ago(wget_files): Remove ansi2knr.c.
Paul Eggert [Thu, 17 Oct 2002 00:14:32 +0000 (00:14 +0000)]
(wget_files): Remove ansi2knr.c.
(ansi2knr.c-url_prefix): Remove.

22 years agoBump to 1.75a.
Akim Demaille [Wed, 16 Oct 2002 06:32:07 +0000 (06:32 +0000)]
Bump to 1.75a.

22 years agoStop using the "enum_" trick for K&R-style function definitions;
Paul Eggert [Wed, 16 Oct 2002 06:29:12 +0000 (06:29 +0000)]
Stop using the "enum_" trick for K&R-style function definitions;
it confused me, and I was the author!  Instead, assume that people
who want to use K&R C compilers (when using these modules in GCC,
perhaps?) will run ansi2knr.

22 years ago(enum_lbitset_find_mode): Remove. All uses of "enum_" changed to "enum ".
Paul Eggert [Wed, 16 Oct 2002 06:27:59 +0000 (06:27 +0000)]
(enum_lbitset_find_mode): Remove.  All uses of "enum_" changed to "enum ".

(debug_lbitset, lbitset_and, lbitset_and_cmp, lbitset_andn,
lbitset_andn_cmp, lbitset_bytes, lbitset_copy, lbitset_copy_cmp,
lbitset_disjoint_p, lbitset_elt_alloc, lbitset_elt_calloc,
lbitset_elt_find, lbitset_elt_free, lbitset_elt_link,
lbitset_elt_unlink, lbitset_elt_zero_p, lbitset_empty_p,
lbitset_equal_p, lbitset_free, lbitset_init, lbitset_list,
lbitset_list_reverse, lbitset_not, lbitset_ones, lbitset_op3_cmp,
lbitset_or, lbitset_or_cmp, lbitset_prune, lbitset_release_memory,
lbitset_reset, lbitset_set, lbitset_size, lbitset_subset_p,
lbitset_test, lbitset_weed, lbitset_xor, lbitset_xor_cmp,
lbitset_zero): Use function prototypes; this removes the need for
declaring static functions simply to provide their prototypes.

22 years ago(enum_ebitset_find_mode): Remove. All uses of "enum_" changed to "enum ".
Paul Eggert [Wed, 16 Oct 2002 06:26:31 +0000 (06:26 +0000)]
(enum_ebitset_find_mode): Remove.  All uses of "enum_" changed to "enum ".
(ebitset_and, ebitset_and_cmp, ebitset_andn, ebitset_andn_cmp,
ebitset_bytes, ebitset_copy, ebitset_copy_, ebitset_copy_cmp,
ebitset_disjoint_p, ebitset_elt_add, ebitset_elt_alloc,
ebitset_elt_calloc, ebitset_elt_find, ebitset_elt_free,
ebitset_elt_last, ebitset_elt_remove, ebitset_elt_zero_p,
ebitset_elts_grow, ebitset_empty_p, ebitset_equal_p, ebitset_free,
ebitset_init, ebitset_list, ebitset_list_reverse, ebitset_not,
ebitset_ones, ebitset_op3_cmp, ebitset_or, ebitset_or_cmp,
ebitset_release_memory, ebitset_reset, ebitset_set, ebitset_size,
ebitset_subset_p, ebitset_test, ebitset_weed, ebitset_xor,
ebitset_xor_cmp, ebitset_zero): Use function prototypes; this removes
the need for declaring static functions simply to provide their
prototypes.

22 years ago(bitsetv_alloc): enum_bitset_type -> enum bitset_type
Paul Eggert [Wed, 16 Oct 2002 06:24:26 +0000 (06:24 +0000)]
(bitsetv_alloc): enum_bitset_type -> enum bitset_type

22 years ago(bitsetv_alloc, bitsetv_create, bitsetv_free, bitsetv_zero,
Paul Eggert [Wed, 16 Oct 2002 06:23:21 +0000 (06:23 +0000)]
(bitsetv_alloc, bitsetv_create, bitsetv_free, bitsetv_zero,
bitsetv_ones, bitsetv_transitive_closure, bitsetv_dump,
debug_bitsetv): Use function prototypes; this removes the need for
declaring static functions simply to provide their prototypes.

22 years ago(bitset_stats_init): enum_bitset_type -> enum bitset_type.
Paul Eggert [Wed, 16 Oct 2002 06:22:04 +0000 (06:22 +0000)]
(bitset_stats_init): enum_bitset_type -> enum bitset_type.

22 years ago(bitset_log_histogram_print, bitset_percent_histogram_print,
Paul Eggert [Wed, 16 Oct 2002 06:20:44 +0000 (06:20 +0000)]
(bitset_log_histogram_print, bitset_percent_histogram_print,
bitset_stats_and, bitset_stats_and_cmp, bitset_stats_and_or,
bitset_stats_and_or_cmp, bitset_stats_andn, bitset_stats_andn_cmp,
bitset_stats_andn_or, bitset_stats_andn_or_cmp, bitset_stats_copy,
bitset_stats_count, bitset_stats_disable, bitset_stats_disjoint_p,
bitset_stats_dump, bitset_stats_empty_p, bitset_stats_enable,
bitset_stats_equal_p, bitset_stats_free, bitset_stats_init,
bitset_stats_list, bitset_stats_list_reverse, bitset_stats_not,
bitset_stats_ones, bitset_stats_or, bitset_stats_or_and,
bitset_stats_or_and_cmp, bitset_stats_or_cmp, bitset_stats_print,
bitset_stats_print_1, bitset_stats_read, bitset_stats_reset,
bitset_stats_set, bitset_stats_size, bitset_stats_subset_p,
bitset_stats_test, bitset_stats_toggle, bitset_stats_type_get,
bitset_stats_write, bitset_stats_xor, bitset_stats_xor_cmp,
bitset_stats_zero): Use function prototypes; this removes the need for
declaring static functions simply to provide their prototypes.

22 years ago(bitset_set, bitset_reset, bitset_test): Use function prototypes; this
Paul Eggert [Wed, 16 Oct 2002 06:19:22 +0000 (06:19 +0000)]
(bitset_set, bitset_reset, bitset_test): Use function prototypes; this
removes the need for declaring static functions simply to provide
their prototypes.

22 years ago(bitset_alloc, bitset_and_or_, bitset_and_or_cmp_, bitset_andn_or_,
Paul Eggert [Wed, 16 Oct 2002 06:18:00 +0000 (06:18 +0000)]
(bitset_alloc, bitset_and_or_, bitset_and_or_cmp_, bitset_andn_or_,
bitset_andn_or_cmp_, bitset_bytes, bitset_copy_, bitset_count_,
bitset_create, bitset_dump, bitset_first, bitset_free, bitset_init,
bitset_last, bitset_next, bitset_obstack_alloc, bitset_obstack_free,
bitset_only_set_p, bitset_op4_cmp, bitset_or_and_, bitset_or_and_cmp_,
bitset_prev, bitset_print, bitset_release_memory, bitset_toggle_,
bitset_type_choose, bitset_type_get, bitset_type_name_get,
debug_bitset): Use function prototypes; this removes the need for
declaring static functions simply to provide their prototypes.

22 years ago(enum_bitset_ops, enum_bitset_type): Remove.
Paul Eggert [Wed, 16 Oct 2002 06:16:29 +0000 (06:16 +0000)]
(enum_bitset_ops, enum_bitset_type): Remove.
All uses of "enum_" changed to "enum ".

22 years ago(abitset_and, abitset_and_cmp, abitset_and_or,
Paul Eggert [Wed, 16 Oct 2002 06:15:02 +0000 (06:15 +0000)]
(abitset_and, abitset_and_cmp, abitset_and_or,
abitset_and_or_cmp, abitset_andn, abitset_andn_cmp,
abitset_andn_or, abitset_andn_or_cmp, abitset_bytes, abitset_copy,
abitset_copy1, abitset_disjoint_p, abitset_empty_p,
abitset_equal_p, abitset_init, abitset_list, abitset_list_reverse,
abitset_not, abitset_ones, abitset_or, abitset_or_and,
abitset_or_and_cmp, abitset_or_cmp, abitset_reset, abitset_set,
abitset_size, abitset_small_list, abitset_subset_p, abitset_test,
abitset_unused_clear, abitset_xor, abitset_xor_cmp, abitset_zero):
Use function prototypes; this removes the need for declaring
static functions simply to provide their prototypes.

22 years ago.
Akim Demaille [Mon, 14 Oct 2002 18:15:05 +0000 (18:15 +0000)]
.

22 years agoVersion 1.75. BISON-1_75
Akim Demaille [Mon, 14 Oct 2002 16:29:41 +0000 (16:29 +0000)]
Version 1.75.

22 years ago* tests/Makefile.am (maintainer-check-posix): New.
Akim Demaille [Mon, 14 Oct 2002 15:09:15 +0000 (15:09 +0000)]
* tests/Makefile.am (maintainer-check-posix): New.

22 years ago* data/glr.c [YYDEBUG] (YYLEFTMOST_STATE): Initialize the yyloc
Akim Demaille [Mon, 14 Oct 2002 13:00:48 +0000 (13:00 +0000)]
* data/glr.c [YYDEBUG] (YYLEFTMOST_STATE): Initialize the yyloc
member.

22 years agoRegen.
Akim Demaille [Mon, 14 Oct 2002 12:49:24 +0000 (12:49 +0000)]
Regen.

22 years agoUpdate.
Akim Demaille [Mon, 14 Oct 2002 12:32:48 +0000 (12:32 +0000)]
Update.

22 years ago* src/tables.c (table_ninf_remap): base -> tab.
Akim Demaille [Mon, 14 Oct 2002 11:38:21 +0000 (11:38 +0000)]
* src/tables.c (table_ninf_remap): base -> tab.
Reported by Matt Rosing.

22 years ago* tests/action.at, tests/calc.at, tests/conflicts.at,
Paul Eggert [Mon, 14 Oct 2002 08:44:02 +0000 (08:44 +0000)]
* tests/action.at, tests/calc.at, tests/conflicts.at,
tests/cxx-type.at, tests/headers.at, tests/input.at,
tests/regression.at, tests/synclines.at, tests/torture.at:
Say "bison -o foo.c foo.y", not "bison foo.y -o foo.c",
so that the tests still work even if POSIXLY_CORRECT is set.
* doc/bison.texinfo (Rpcalc Compile, Invocation): Likewise.

22 years agoSay "bison -o foo.c foo.y", not "bison foo.y -o foo.c",
Paul Eggert [Mon, 14 Oct 2002 08:43:36 +0000 (08:43 +0000)]
Say "bison -o foo.c foo.y", not "bison foo.y -o foo.c",
so that the commands still work even if POSIXLY_CORRECT is set.

22 years ago* data/c.m4 (b4_int_type): Use yysigned_char instead of signed char,
Paul Eggert [Mon, 14 Oct 2002 08:07:01 +0000 (08:07 +0000)]
* data/c.m4 (b4_int_type): Use yysigned_char instead of signed char,
for portability to K&R hosts.  Fix typo: signed char is guaranteed
only to 127, not to 128.
* data/glr.c (yysigned_char): New type.
* data/yacc.c (yysigned_char): Likewise.
* tests/regression.at (Web2c Actions): signed char -> yysigned_char.

22 years ago(b4_int_type): Use yysigned_char instead of signed char,
Paul Eggert [Mon, 14 Oct 2002 08:06:33 +0000 (08:06 +0000)]
(b4_int_type): Use yysigned_char instead of signed char,
for portability to K&R hosts.  Fix typo: signed char is guaranteed
only to 127, not to 128.

22 years ago(yysigned_char): New type.
Paul Eggert [Mon, 14 Oct 2002 08:06:06 +0000 (08:06 +0000)]
(yysigned_char): New type.

22 years ago(Web2c Actions): signed char -> yysigned_char.
Paul Eggert [Mon, 14 Oct 2002 08:05:20 +0000 (08:05 +0000)]
(Web2c Actions): signed char -> yysigned_char.

22 years ago* data/yacc.c (yyparse): Rewrite to avoid "comparison is always
Paul Eggert [Mon, 14 Oct 2002 06:55:10 +0000 (06:55 +0000)]
* data/yacc.c (yyparse): Rewrite to avoid "comparison is always
true due to limited range of data type" warning from GCC.

22 years ago(yyparse): Rewrite to avoid "comparison is always true due to limited
Paul Eggert [Mon, 14 Oct 2002 06:54:41 +0000 (06:54 +0000)]
(yyparse): Rewrite to avoid "comparison is always true due to limited
range of data type" warning from GCC in synclines.at test.

22 years ago* data/c.m4 (b4_token_defines): Protect against double-inclusion
Paul Eggert [Sun, 13 Oct 2002 20:36:45 +0000 (20:36 +0000)]
* data/c.m4 (b4_token_defines): Protect against double-inclusion
by wrapping enum yytokentype's definition inside #ifndef
YYTOKENTYPE.  This undoes a bug I introduced on 2002-10-12.

22 years ago(b4_token_defines): Protect against double-inclusion
Paul Eggert [Sun, 13 Oct 2002 20:35:06 +0000 (20:35 +0000)]
(b4_token_defines): Protect against double-inclusion
by wrapping enum yytokentype's definition inside #ifndef
YYTOKENTYPE.  This undoes a bug I introduced on 2002-10-12.

22 years ago* data/glr.c (yyglrShiftDefer, yyaddDeferredAction, yydoAction):
Akim Demaille [Sun, 13 Oct 2002 19:40:30 +0000 (19:40 +0000)]
* data/glr.c (yyglrShiftDefer, yyaddDeferredAction, yydoAction):
Un yy- yyrhs to avoid the name clash with the global YYRHS.

22 years ago* Makefile.maint: Update from Autoconf 2.54.
Akim Demaille [Sun, 13 Oct 2002 19:39:29 +0000 (19:39 +0000)]
* Makefile.maint: Update from Autoconf 2.54.
* m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Remove, shipped with 2.54.

22 years ago* src/print.c (print_state): Separate the list of solved conflicts
Akim Demaille [Sun, 13 Oct 2002 19:35:59 +0000 (19:35 +0000)]
* src/print.c (print_state): Separate the list of solved conflicts
from the other items.
* tests/conflicts.at (Resolved SR Conflicts): Adjust.

22 years agoLet nondeterministic skeletons be usable with deterministic
Akim Demaille [Sun, 13 Oct 2002 18:50:40 +0000 (18:50 +0000)]
Let nondeterministic skeletons be usable with deterministic
tables.
With the patch, GAWK compiled by GCC without -O2 passes its test
suite using a GLR parser driven by LALR tables.  It fails with -O2
because `struct stat' gives two different answers on my machine:
88 (definition of an auto var) and later 96 (memset on this var).
Hence the stack is badly corrumpted.  The headers inclusion is to
blame: if I move the awk.h inclusion before GLR's system header
inclusion, the two struct stat have the same size.
* src/tables.c (pack_table): Always create conflict_table.
(token_actions): Always create conflict_list.
* data/glr.c (YYFLAG): Remove, unused.

22 years ago* configure.ac (AC_GNU_SOURCE): Use it instead of hand written code.
Akim Demaille [Sun, 13 Oct 2002 18:49:44 +0000 (18:49 +0000)]
* configure.ac (AC_GNU_SOURCE): Use it instead of hand written code.
(O0FLAGS): New.
(VALGRIND, GXX): New.
* tests/atlocal.in (CFLAGS): Use O0FLAGS.
* tests/bison.in: Run $PREBISON a pre-command.
* tests/Makefile.am (maintainer-check, maintainer-check-valgrind)
(maintainer-check-g++): New.
* Makefile.am (maintainer-check): New.

22 years ago* data/glr.c: Formatting changes.
Akim Demaille [Sun, 13 Oct 2002 14:25:55 +0000 (14:25 +0000)]
* data/glr.c: Formatting changes.
Tweak some trace messages to match yacc.c's.

22 years agoGLR parsers sometimes raise parse errors instead of performing the
Akim Demaille [Sun, 13 Oct 2002 14:25:14 +0000 (14:25 +0000)]
GLR parsers sometimes raise parse errors instead of performing the
default reduction.
Reported by Charles-Henry de Boysson.
* tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
check the length of the traces when %glr.
(_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
GLR's traces.
(AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
Test GLR parsers.
* data/glr.c (YYLEFTMOST_STATE): Fix its value.
(yyltype): Remove the yy prefix from the member names.
(yytable): Complete its comment.
(yygetLRActions): Map error action number from YYTABLE from
YYTABLE_NINF to 0.
(yyisErrorAction): No longer compare YYACTION to YYPACT_NINF
(which was a bug: it should have been YYTABEL_NINF, and yet it was
not satisfying as we could compare an YYACTION computed from
YYDEFACT to YYTABLE_NINF although they are unrelated): 0 is the
only value for error actions.
(yyreportParseError): In verbose parse error messages, don't issue
`error' in the list of expected tokens.
* data/yacc.c (yyparse) <yybackup>: Rewrite the decoding of the
next action to perform to match glr.c's decoding.
(yytable): Complete its comment.

22 years agoRegenerate.
Paul Eggert [Sun, 13 Oct 2002 09:09:49 +0000 (09:09 +0000)]
Regenerate.

22 years ago Fix problem reported by Henrik Grubbstroem in
Paul Eggert [Sun, 13 Oct 2002 08:40:10 +0000 (08:40 +0000)]
 Fix problem reported by Henrik Grubbstroem in
 <http://mail.gnu.org/pipermail/bug-bison/2002-October/001670.html>:
 "nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected,
 because the Bison parser reads the second action before reducing
 the first one.
 * src/scan-gram.l (rule_length): New static var.
 Use it to keep track of the rule length in the scanner, since
 we can't expect the parser to be in lock-step sync with the scanner.
 (handle_action_dollar, handle_action_at): Use this var.
 * tests/actions.at (Exotic Dollars): Test for the problem.

22 years ago(Exotic Dollars): Test for "nonterm: { $$ = 123; } { $$ = $1; };" bug.
Paul Eggert [Sun, 13 Oct 2002 08:39:31 +0000 (08:39 +0000)]
(Exotic Dollars): Test for "nonterm: { $$ = 123; } { $$ = $1; };" bug.

22 years ago(rule_length): New static var.
Paul Eggert [Sun, 13 Oct 2002 08:38:39 +0000 (08:38 +0000)]
(rule_length): New static var.
Use it to keep track of the rule length in the scanner, since
we can't expect the parser to be in lock-step sync with the scanner.
(handle_action_dollar, handle_action_at): Use this var.

22 years agoAttempt to fix SunOS 4.1.4 porting bug reported by Peter Klein in
Paul Eggert [Sun, 13 Oct 2002 06:00:24 +0000 (06:00 +0000)]
Attempt to fix SunOS 4.1.4 porting bug reported by Peter Klein in
<http://mail.gnu.org/pipermail/bug-bison/2002-October/001674.html>.

22 years ago(BISON_PREREQ_TIMEVAR): Check for <sys/time.h>.
Paul Eggert [Sun, 13 Oct 2002 05:59:40 +0000 (05:59 +0000)]
(BISON_PREREQ_TIMEVAR): Check for <sys/time.h>.
Include <sys/time.h> when checking for clock_t and struct tms.
Use same include order as source.

22 years agoImport GCC version as of today, then merge Bison's changes.
Paul Eggert [Sun, 13 Oct 2002 05:58:38 +0000 (05:58 +0000)]
Import GCC version as of today, then merge Bison's changes.
Change "GCC" to "Bison" in copyright notice.

22 years agoFix copyright and authorship notice to point to Bison, not GCC.
Paul Eggert [Sun, 13 Oct 2002 05:57:10 +0000 (05:57 +0000)]
Fix copyright and authorship notice to point to Bison, not GCC.

22 years ago[! IN_GCC && HAVE_SYS_TIME_H]: Include <sys/time.h>.
Paul Eggert [Sun, 13 Oct 2002 05:56:20 +0000 (05:56 +0000)]
[! IN_GCC && HAVE_SYS_TIME_H]: Include <sys/time.h>.
Update copyright date and clarify comments.
(get_time) [IN_GCC]: Keep the GCC version for reference.

Merge GCC changes.  Change "GCC" to "Bison" in the copyright notice.

22 years agoImport of GCC head 2002-10-11
Paul Eggert [Sun, 13 Oct 2002 04:42:59 +0000 (04:42 +0000)]
Import of GCC head 2002-10-11

22 years ago* src/reader.c (grammar_current_rule_check):
Paul Eggert [Sun, 13 Oct 2002 03:53:18 +0000 (03:53 +0000)]
* src/reader.c (grammar_current_rule_check):
Don't worry about the default action if $$ is untyped.
Prevents bogus warnings reported by Jim Gifford in
<http://mail.gnu.org/pipermail/bug-bison/2002-October/001673.html>.

22 years ago(grammar_current_rule_check):
Paul Eggert [Sun, 13 Oct 2002 03:52:53 +0000 (03:52 +0000)]
(grammar_current_rule_check):
Don't worry about the default action if $$ is untyped.
Prevents bogus warnings reported by Jim Gifford in
<http://mail.gnu.org/pipermail/bug-bison/2002-October/001673.html>.

22 years ago* data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE.
Paul Eggert [Sat, 12 Oct 2002 23:21:00 +0000 (23:21 +0000)]
* data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE.
* data/glr.c, data/lalr1.cc, data/yacc.c:
Output token definitions before the first part of user declarations.
Fixes compatibility problem reported by Jim Gifford for kbd in
<http://mail.gnu.org/pipermail/bug-bison/2002-October/001672.html>.

22 years agoOutput token definitions before the first part of user declarations.
Paul Eggert [Sat, 12 Oct 2002 23:20:23 +0000 (23:20 +0000)]
Output token definitions before the first part of user declarations.

22 years ago(b4_token_enum): Do not define YYTOKENTYPE.
Paul Eggert [Sat, 12 Oct 2002 23:18:52 +0000 (23:18 +0000)]
(b4_token_enum): Do not define YYTOKENTYPE.

22 years ago(Calling Convention): Fix strncmp typo.
Paul Eggert [Fri, 11 Oct 2002 21:19:27 +0000 (21:19 +0000)]
(Calling Convention): Fix strncmp typo.

22 years ago* data/yacc.c (yyreport_parse_error): Remove, putting its body into...
Paul Eggert [Fri, 11 Oct 2002 20:54:17 +0000 (20:54 +0000)]
* data/yacc.c (yyreport_parse_error): Remove, putting its body into...
(yyparse): here.  This undoes some of the 2002-07-25 change.
Compatibility problem reported by Ralf S. Engelschall with
OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.

22 years ago(yyreport_parse_error): Remove, putting its body into...
Paul Eggert [Fri, 11 Oct 2002 20:53:39 +0000 (20:53 +0000)]
(yyreport_parse_error): Remove, putting its body into...
(yyparse): here.  This undoes some of the 2002-07-25 change.
Compatibility problem reported by Ralf S. Engelschall with
OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.

22 years ago* tests/regression.at Characters Escapes): New.
Akim Demaille [Fri, 11 Oct 2002 11:23:19 +0000 (11:23 +0000)]
* tests/regression.at Characters Escapes): New.
* src/scan-gram.l (SC_ESCAPED_CHARACTER): Accept ' in strings and
characters.
Reported by Jan Nieuwenhuizen.

22 years ago* po/id.po: New.
Akim Demaille [Fri, 11 Oct 2002 10:14:32 +0000 (10:14 +0000)]
* po/id.po: New.

22 years agoPortability fixes for bitsets; this also avoids several GCC warnings.
Paul Eggert [Thu, 10 Oct 2002 07:38:40 +0000 (07:38 +0000)]
Portability fixes for bitsets; this also avoids several GCC warnings.

22 years agoInclude bitset.h, not bbitset.h.
Paul Eggert [Thu, 10 Oct 2002 07:35:19 +0000 (07:35 +0000)]
Include bitset.h, not bbitset.h.

22 years agoInclude <stddef.h>, for offsetof.
Paul Eggert [Thu, 10 Oct 2002 07:33:59 +0000 (07:33 +0000)]
Include <stddef.h>, for offsetof.
(lbitset_bytes): Adjust to new, unique names for structures.

(lbitset_and, lbitset_and_cmp, lbitset_andn, lbitset_andn_cmp,
lbitset_or, lbitset_or_cmp, lbitset_xor, lbitset_xor_cmp,
lbitset_empty_p, lbitset_ones, lbitset_not, lbitset_subset_p,
lbitset_disjoint_p, debug_lbitset): Supply prototype decls.

(enum_lbitset_find_mode): New type.  All instances of parameters of
type enum FOO are now of type enum_FOO, to conform to the C Standard.

(struct lbitset_struct, lbitset, bitset_struct, PFV): Remove.

(lbitset_and, lbitset_andn, lbitset_or, lbitset_xor): New functions.

22 years ago(ebitset_bytes): Adjust to new, unique names for structures.
Paul Eggert [Thu, 10 Oct 2002 07:28:53 +0000 (07:28 +0000)]
(ebitset_bytes): Adjust to new, unique names for structures.
(enum_ebitset_find_mode): New type.
(struct ebitset_struct, ebitset, struct bitset_struct, PFV): Remove.
(ebitset_and, ebitset_andn, ebitset_or,
ebitset_xor, ebitset_copy, ebitset_ones, ebitset_empty_p): New decls.

22 years agoenum -> enum_
Paul Eggert [Thu, 10 Oct 2002 07:26:15 +0000 (07:26 +0000)]
enum -> enum_

22 years ago(bitsetv_alloc): Return a size that is aligned properly for vectors of
Paul Eggert [Thu, 10 Oct 2002 07:25:21 +0000 (07:25 +0000)]
(bitsetv_alloc): Return a size that is aligned properly for vectors of
objects.  Do not assume that adding a header size to a multiple of a
word size yields a value that is properly aligned for the whole union.

(bitsetv_alloc): Add a cast to (void *) to avoid a GCC warning.

22 years ago(bitset_stats_bytes): Adjust to new, unique names for structures.
Paul Eggert [Thu, 10 Oct 2002 07:23:15 +0000 (07:23 +0000)]
(bitset_stats_bytes): Adjust to new, unique names for structures.

(bitset_stats_count, bitset_stats_empty_p, bitset_stats_ones,
bitset_stats_zero, bitset_stats_copy, bitset_stats_disjoint_p,
bitset_stats_equal_p, bitset_stats_not, bitset_stats_subset_p,
bitset_stats_and, bitset_stats_and_cmp, bitset_stats_andn,
bitset_stats_andn_cmp, bitset_stats_or, bitset_stats_or_cmp,
bitset_stats_xor, bitset_stats_xor_cmp, bitset_stats_and_or,
bitset_stats_and_or_cmp, bitset_stats_andn_or,
bitset_stats_andn_or_cmp, bitset_stats_or_and,
bitset_stats_or_and_cmp): Supply prototype decls, to improve the
type-checking that GCC can do.

(struct bitset_stats_struct, bitset_stats, struct bitset_struct): Remove.

22 years ago(struct bitset_struct): Remove, replacing with....
Paul Eggert [Thu, 10 Oct 2002 07:20:24 +0000 (07:20 +0000)]
(struct bitset_struct): Remove, replacing with....
(union bitset_union, struct abitset_struct, struct ebitset_struct,
struct lbitset_struct, struct bitset_stats_struct): New types.
All uses of struct bitset_struct changed to union bitset_union,
etc.
(bitset_next, bitset_prev, bitset_only_set_p): Declare.

22 years ago(bitset_op4_cmp): Supply prototype decls,
Paul Eggert [Thu, 10 Oct 2002 07:18:47 +0000 (07:18 +0000)]
(bitset_op4_cmp): Supply prototype decls,
to improve the type-checking that GCC can do.

(bitset_and_or_, bitset_andn_or_, bitset_or_and_): New functions.

22 years ago(enum_bitset_ops, enum_bitset_type): New types.
Paul Eggert [Thu, 10 Oct 2002 07:15:56 +0000 (07:15 +0000)]
(enum_bitset_ops, enum_bitset_type): New types.
All instances of parameters of type enum bitset_opts are now of
type enum_bitset_opts, to conform to the C Standard, and similarly
for enum_bitset_type.

(bitset): Now points to a union, not to a struct.
All instances of "struct bitset_struct *" replaced with "bitset".

(bitset_and_or_, bitset_andn_or_, bitset_or_and_): New decls.

22 years agoInclude <stddef.h>, for offsetof.
Paul Eggert [Thu, 10 Oct 2002 07:13:58 +0000 (07:13 +0000)]
Include <stddef.h>, for offsetof.

(abitset_bytes): Return a size that is aligned
properly for vectors of objects.  Do not assume that adding a
header size to a multiple of a word size yields a value that is
properly aligned for the whole union.

(abitset_ones, abitset_zero, abitset_empty_p, abitset_copy1,
abitset_not, abitset_equal_p, abitset_subset_p, abitset_disjoint_p,
abitset_and, abitset_and_cmp, abitset_andn, abitset_andn_cmp,
abitset_or, abitset_or_cmp, abitset_xor, abitset_xor_cmp,
abitset_and_or, abitset_and_or_cmp, abitset_andn_or,
abitset_andn_or_cmp, abitset_or_and, abitset_or_and_cmp,
abitset_copy): Supply prototype decls, to improve the type-checking
that GCC can do.

(struct abitset_struct, abitset, struct bitset_struct): Remove.