Paul Eggert
5c16c6b13a
Version 1.75a.
2002-10-25 06:05:50 +00:00
Akim Demaille
b526ee6116
* src/output.c (output_skeleton): Don't disable M4sugar comments
...
too soon: it results in comments being expanded.
* data/yacc.c, data/glr.c, data/lalr1.cc: Do it right before the
first output.
2002-10-24 11:40:27 +00:00
Paul Eggert
f6d0c2394c
(main): With --trace=time, report times even if a non-fatal error
...
occurs. Formerly, the times were reported in some such cases but not
in others.
2002-10-23 18:41:43 +00:00
Paul Eggert
f956c304c5
(reader): Just return if a complaint has been issued,
...
instead of exiting, so that 'main' can report times.
2002-10-23 18:41:04 +00:00
Akim Demaille
27b0ffea3e
* src/system.h: Include sys/types.
...
Reported by Bert Deknuydt.
2002-10-23 16:30:50 +00:00
Paul Eggert
e0c74f0d34
(exit) [! (STDC_HEADERS || _LIBC)]: Remove exit decl; not needed any more.
2002-10-23 07:35:48 +00:00
Paul Eggert
e95aed631d
(main): Use return to exit, undoing yesterday's change.
...
The last OS that we could find where this wouldn't work is
SunOS 3.5, and that's too old to worry about now.
2002-10-23 07:00:19 +00:00
Paul Eggert
ec88357a8c
(fatal, fatal_at): Add __attribute__((__noreturn__)).
...
(warning_issued): Renamed from warn_message_count. Now bool.
(complaint_issued): Renamed from complain_message_count. Now bool.
2002-10-22 05:12:08 +00:00
Paul Eggert
5ca3209b44
(main): Use exit to exit with failure.
...
Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
2002-10-22 05:07:12 +00:00
Paul Eggert
0df27e8b2d
(getargs): Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
...
Remove duplicate code for "Try `bison --help'".
(usage): Add __attribute__((__noreturn__)).
2002-10-22 05:06:21 +00:00
Paul Eggert
901ec1537a
(xfopen, xfclose): Use EXIT_FAILURE rathern than 2.
...
What was that "2" for?
2002-10-22 05:01:46 +00:00
Paul Eggert
0ae6073a18
(warning_issued): Renamed from warn_message_count,
...
so that we needn't worry about integer overflow (!).
Now of type bool. All uses changed.
(complaint_issued): Renamed from complain_message_count; likewise.
(fatal_at, fatal): Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
2002-10-22 04:53:49 +00:00
Paul Eggert
8307162d58
Use C99-style bool instead of our own style.
2002-10-22 04:46:28 +00:00
Paul Eggert
738c69de37
Use C99-style bool instead of our own style.
...
(comment change only)
2002-10-22 04:45:51 +00:00
Paul Eggert
b4afb6bbe5
Use C99-style bool instead of our own style.
...
(reader): Use EXIT_FAILURE and EXIT_SUCCESS rather than 1 and 0.
2002-10-22 04:43:50 +00:00
Paul Eggert
637c4b283c
se C99-style bool instead of our own style.
2002-10-22 04:41:25 +00:00
Paul Eggert
78b8881659
(bool, false, true): Use a definition consistent with ../lib/hash.c.
2002-10-22 04:40:09 +00:00
Paul Eggert
a3714bcedf
(hash_compare_symbol_t): (a ? FALSE : TRUE) -> (! a)
2002-10-22 04:39:44 +00:00
Paul Eggert
5dd5fd4a56
(hash_compare_muscles): (a ? FALSE : TRUE) -> (! a)
2002-10-22 04:39:05 +00:00
Paul Eggert
a4b6efd473
(getargs): When there are too few operands, report the last one. When
...
there are too many, report the first extra one. This is how diffutils
does it.
2002-10-21 18:15:13 +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
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
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
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
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
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
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
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
f7737e2e16
(MUSCLE_TAB_H_): Was misspelled as MUSCLE_TAB_H_.
2002-10-17 06:27:41 +00:00
Paul Eggert
24c7b92b25
(AUTOMAKE_OPTIONS): Remove.
2002-10-17 01:29:01 +00:00
Akim Demaille
05846dae07
* src/tables.c (table_ninf_remap): base -> tab.
...
Reported by Matt Rosing.
2002-10-14 11:38:21 +00:00
Akim Demaille
7ea9a33f3b
* src/print.c (print_state): Separate the list of solved conflicts
...
from the other items.
* tests/conflicts.at (Resolved SR Conflicts): Adjust.
2002-10-13 19:35:59 +00:00
Akim Demaille
ea99527d23
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.
2002-10-13 18:50:40 +00:00
Paul Eggert
3b7d4eb2cd
Regenerate.
2002-10-13 09:09:49 +00:00
Paul Eggert
efcb44dd47
(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.
2002-10-13 08:38:39 +00:00
Paul Eggert
3f4c0f8017
(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 >.
2002-10-13 03:52:53 +00:00
Akim Demaille
eb71459201
* tests/regression.at Characters Escapes): New.
...
* src/scan-gram.l (SC_ESCAPED_CHARACTER): Accept ' in strings and
characters.
Reported by Jan Nieuwenhuizen.
2002-10-11 11:23:19 +00:00
Paul Eggert
242a6e484e
(reader): SHRT_MAX -> SYMBOL_NUMBER_MAX.
2002-10-05 05:47:51 +00:00
Paul Eggert
01eb033cf5
(SYMBOL_NUMBER_MAX): New macro.
2002-10-05 05:47:14 +00:00
Paul Eggert
1c303b00fe
(GOTO_NUMBER_MAX): INT_MAX -> SHRT_MAX.
2002-10-05 05:46:42 +00:00
Paul Eggert
f704e33362
(ITEM_NUMBER_MIN): MIN_MAX -> INT_MIN.
2002-10-05 05:46:08 +00:00
Paul Eggert
9abb46d527
(AM_CFLAGS): Renamed from CFLAGS.
...
(AM_YFLAGS): Renamed from YFLAGS.
2002-10-05 04:54:54 +00:00