Commit Graph

1495 Commits

Author SHA1 Message Date
Paul Eggert
92a060fd6a Remove K&R vestiges.
* configure.ac (AC_C_CONST, AM_C_PROTOTYPES): Remove.
* src/complain.c (VA_START): Remove.  Assume prototypes.
(vfprintf) [! (HAVE_VPRINTF || defined vfprintf)]: New macro.
(private_strerror, warn_at, warn, complain_at, complain, fatal_at,
fatal): Assume prototypes.
* src/complain.h: Assume prototypes.
* src/system.h (PARAMS): Remove.
Include <limits.h> unconditionally, since it's guaranteeed even
for a freestanding C89 compiler.
(SHRT_MIN, SHRT_MAX): Remove, since C89 guarantees them.
* src/vmsgetargs.c (getargs, cli_present, cli_get_value): Prototype.
2002-10-21 05:31:34 +00:00
Paul Eggert
d33cb3ae09 Remove all uses of PARAMS, since we now assume C89 or better. 2002-10-21 05:30:50 +00:00
Paul Eggert
b8452344de (getargs, cli_present, cli_get_value): Prototype. 2002-10-21 05:29:50 +00:00
Paul Eggert
930393cf02 (PARAMS): Remove.
Include <limits.h> unconditionally, since it's guaranteeed even
for a freestanding C89 compiler.
(SHRT_MIN, SHRT_MAX): Remove, since C89 guarantees them.
2002-10-21 05:29:07 +00:00
Paul Eggert
49f801e6fe Assume prototypes. 2002-10-21 05:28:34 +00:00
Paul Eggert
2118414023 (VA_START): Remove. Assume prototypes.
(vfprintf) [! (HAVE_VPRINTF || defined vfprintf)]: New macro.
(private_strerror, warn_at, warn, complain_at, complain, fatal_at,
fatal): Assume prototypes.
2002-10-21 05:28:16 +00:00
Paul Eggert
87004b05f7 (AC_C_CONST, AM_C_PROTOTYPES): Remove. 2002-10-21 05:27:45 +00:00
Akim Demaille
e7cb57c0b8 * src/muscle_tab.c (muscle_grow): Remove trailing debugging code.
* data/glr.c (YY_USER_FORMALS, YY_USER_ARGS): New.
(yyuserAction, yydoAction, yyglrReduce, yyresolveValue)
(yyresolveStates, yyresolveAction, yyresolveStack)
(yyprocessOneStack): Use them.
(yy_reduce_print): New.
* tests/calc.at (_AT_DATA_CALC_Y): Exercise %parse-param.
2002-10-20 16:09:47 +00:00
Akim Demaille
0245f82d31 * data/c.m4 (b4_c_ansi_args): Recognize functions with no
arguments and output `void'.
(b4_c_function): Rename as...
(b4_c_function_def): this.
(b4_c_function_decl, b4_c_ansi_function_def)
(b4_c_ansi_function_decl): New.
Change the interpretation of the arguments: before `int, foo', now
`int foo, foo'.
* data/yacc.c (yyparse): Prototype and define thanks to these.
Adjust b4_c_function_def uses.
* data/glr.c (yyparse): Likewise, but ANSI only.
2002-10-20 12:51:10 +00:00
Akim Demaille
39912f5263 * 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 `<'.
2002-10-20 11:20:15 +00:00
Akim Demaille
20c1e2ad98 * src/tables.h, src/tables.c, src/output.c: Comment changes. 2002-10-20 11:18:14 +00:00
Akim Demaille
21964f4394 * data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
* data/c.m4: here.
2002-10-20 11:17:20 +00:00
Akim Demaille
66d30cd4eb * 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.
2002-10-20 11:16:01 +00:00
Paul Eggert
95f2c9fe7d 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.
2002-10-20 06:37:08 +00:00
Paul Eggert
975553805c 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.
2002-10-20 06:35:41 +00:00
Paul Eggert
2cdb2a7b05 (readpipe): Remove decl.
(scan_skel): New function, to be used in place of m4_invoke.
Read from stream rather than file.
2002-10-20 06:32:04 +00:00
Paul Eggert
573312acb6 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.
2002-10-20 06:31:23 +00:00
Paul Eggert
f7aed66054 Add lib/subpipe.c. 2002-10-20 06:30:43 +00:00
Paul Eggert
82f9f11f39 (EXTRA_DIST): Remove mkstemp.m4. Add subpipe.m4. 2002-10-20 06:30:15 +00:00
Paul Eggert
6d55632cb7 (libbison_a_SOURCES): Remove readpipe.c.
Add subpipe.h, subpipe.c.
2002-10-20 06:29:41 +00:00
Paul Eggert
2593afab81 (UTILS_FUNC_MKSTEMP, jm_PREREQ_TEMPNAME): Remove.
(BISON_PREREQ_SUBPIPE): Add.
2002-10-20 06:29:09 +00:00
Paul Eggert
5b2d69cc5b Initial version. 2002-10-20 06:28:23 +00:00
Paul Eggert
bb33f19a4b (prepare): Use xstrdup to convert char const * to char *, to avoid GCC
warning.
2002-10-20 06:01:07 +00:00
Paul Eggert
d9d363b172 (muscle_pair_list_grow): Rename local to avoid confusion with
similarly-named more-global.
2002-10-20 05:47:09 +00:00
Paul Eggert
9e2c5ef112 (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'.
2002-10-20 05:34:55 +00:00
Paul Eggert
55b929cab2 Spell -*- Autoconf -*-' properly; the leading -' was missing. 2002-10-20 05:23:11 +00:00
Akim Demaille
c19988b766 * 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.
2002-10-19 14:39:07 +00:00
Akim Demaille
ae7453f2ba 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.
2002-10-19 14:38:06 +00:00
Akim Demaille
0e57572183 * 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 ()'.
2002-10-19 14:36:40 +00:00
Paul Eggert
3a781eb26b * 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.
2002-10-19 01:33:39 +00:00
Paul Eggert
3eb4916379 (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.
2002-10-19 01:33:20 +00:00
Paul Eggert
724ce7f524 * 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.
2002-10-19 01:10:26 +00:00
Paul Eggert
ac5dd84c25 (%nonassoc and eof): #undef memcmp and realloc. 2002-10-19 01:09:36 +00:00
Paul Eggert
d968424300 (_AT_DATA_CALC_Y): #undef memcmp and realloc. 2002-10-19 01:09:13 +00:00
Akim Demaille
473d0a7567 * 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.
2002-10-17 17:47:33 +00:00
Paul Eggert
93e2236a6d * src/muscle_tab.h (MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H. 2002-10-17 06:31:51 +00:00
Paul Eggert
f7737e2e16 (MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H_. 2002-10-17 06:27:41 +00:00
Paul Eggert
e76d2469e5 * 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.
2002-10-17 01:29:58 +00:00
Paul Eggert
24c7b92b25 (AUTOMAKE_OPTIONS): Remove. 2002-10-17 01:29:01 +00:00
Paul Eggert
dddb8b6121 Remove ansi2knr, ansi2knr.*. 2002-10-17 01:26:33 +00:00
Paul Eggert
71d1d25c7a Officially drop support for building Bison with K&R C,
since it didn't work anyway and it's not worth worrying about.
2002-10-17 01:24:46 +00:00
Paul Eggert
da2292e5c7 (wget_files): Remove ansi2knr.c.
(ansi2knr.c-url_prefix): Remove.
2002-10-17 00:14:32 +00:00
Akim Demaille
b37e55423b Bump to 1.75a. 2002-10-16 06:32:07 +00:00
Paul Eggert
5bd1c41900 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.
2002-10-16 06:29:12 +00:00
Paul Eggert
829f74d293 (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.
2002-10-16 06:27:59 +00:00
Paul Eggert
75f10004fe (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.
2002-10-16 06:26:31 +00:00
Paul Eggert
24f4e18b77 (bitsetv_alloc): enum_bitset_type -> enum bitset_type 2002-10-16 06:24:26 +00:00
Paul Eggert
a182371d69 (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.
2002-10-16 06:23:21 +00:00
Paul Eggert
bba392ec8a (bitset_stats_init): enum_bitset_type -> enum bitset_type. 2002-10-16 06:22:04 +00:00
Paul Eggert
d65ec44e3b (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.
2002-10-16 06:20:44 +00:00