Akim Demaille
9af3fbce7c
* src/reader.c (grammar_current_rule_prec_set).
...
(grammar_current_rule_check): New, eved out from...
(readgram): here.
Remove `xaction', `first_rhs': useless.
* tests/input.at (Type clashes): New.
* tests/existing.at (GNU Cim Grammar): Adjust.
2002-06-11 08:08:22 +00:00
Akim Demaille
1485e106a4
* src/reader.c (grammar_midrule_action): New, Eved out from
...
(readgram): here.
2002-06-11 08:08:06 +00:00
Akim Demaille
da4160c30a
* src/reader.c (grammar_rule_begin, previous_rule, current_rule):
...
New.
(readgram): Use them as replacement of inlined code, crule and
crule1.
2002-06-11 08:07:52 +00:00
Akim Demaille
f6d0f937fd
* src/reader.c (grammar_end, grammar_symbol_append): New.
...
(readgram): Use them.
Make the use of `p' as local as possible.
2002-06-11 08:07:36 +00:00
Akim Demaille
69078d4b3b
GCJ's parser requires the tokens to be defined before the prologue.
...
* data/bison.simple: Output the token definition before the user's
prologue.
* tests/regression.at (Braces parsing, Duplicate string)
(Mixing %token styles): Check the output from bison.
(Early token definitions): New.
2002-06-11 08:01:41 +00:00
Akim Demaille
0624954c7e
Regen.
2002-06-10 08:44:06 +00:00
Akim Demaille
5e424082ce
* src/symtab.c (symbol_user_token_number_set): Don't complain when
...
assigning twice the same user number to a token, so that we can
use it in...
* src/lex.c (lex): here.
Also use `symbol_class_set' instead of hand written code.
* src/reader.c (parse_assoc_decl): Likewise.
2002-06-10 08:38:10 +00:00
Akim Demaille
44536b35c4
* src/symtab.c, src/symtab.c (symbol_class_set)
...
(symbol_user_token_number_set): New.
* src/reader.c (parse_token_decl): Use them.
Use a switch instead of ifs.
Use a single argument.
2002-06-10 08:37:55 +00:00
Akim Demaille
8b9f2372c7
Remove `%thong' support as it is undocumented, unused, duplicates
...
`%token's job, and creates useless e-mail traffic with people who
want to know what it is, why it is undocumented, unused, and
duplicates `%token's job.
* src/reader.c (parse_thong_decl): Remove.
* src/options.c (option_table): Remove "thong".
* src/lex.h (tok_thong): Remove.
2002-06-10 08:37:30 +00:00
Akim Demaille
3ae2b51f08
* src/symtab.c, src/symtab.c (symbol_type_set)
...
(symbol_precedence_set): New.
* src/reader.c (parse_type_decl, parse_assoc_decl): Use them.
(value_components_used): Remove, unused.
2002-06-10 08:36:49 +00:00
Akim Demaille
2f1afb737f
Move symbols handling code out of the reader.
...
* src/reader.h, src/reader.c (errtoken, undeftoken, eoftoken)
(axiom): Move to...
* src/symtab.h, src/symtab.c: here.
* src/gram.c (start_symbol): Remove: use startsymbol->number.
* src/reader.c (startval): Rename as...
* src/symtab.h, src/symtab.c (startsymbol): this.
* src/reader.c: Adjust.
* src/reader.c (symbol_check_defined, symbol_make_alias)
(symbol_check_alias_consistence, symbol_pack, symbol_translation)
(token_translations_init)
Move to...
* src/symtab.c: here.
* src/reader.c (packsymbols): Move to...
* src/symtab.h, src/symtab.c (symbols_pack): here.
* src/symtab.h, src/symtab.c (symbol_make_alias): Takes SYMVAL as
argument.
2002-06-10 08:35:39 +00:00
Akim Demaille
e9bca3aded
* src/muscle_tab.c (muscle_insert, muscle_find): Declarations,
...
then statements.
2002-06-03 07:41:58 +00:00
Akim Demaille
86eff18354
* src/muscle_tab.c (muscle_find, muscle_insert): Don't initialize
...
structs with non literals.
* src/scan-skel.l: never-interactive.
* src/conflicts.c (enum conflict_resolution_e): No trailing
comma.
* src/getargs.c (usage): Split long literal strings.
Reported by Hans Aberg.
2002-06-03 07:30:03 +00:00
Akim Demaille
9411f454b0
Regen.
2002-06-03 07:29:29 +00:00
Akim Demaille
717be1971f
* data/bison.c++: Use C++ ostreams.
...
(cdebug_): New member.
2002-05-28 12:09:02 +00:00
Akim Demaille
efea623135
Update.
2002-05-28 12:03:11 +00:00
Akim Demaille
670ddffd5b
* src/output.c (output_skeleton): Be sure to allocate enough room
...
for `/' _and_ for `0' in full_skeleton.
2002-05-28 10:02:36 +00:00
Akim Demaille
769b430fce
* data/bison.c++: Catch up with bison.simple:
...
2002-05-24 Paul Hilfinger <[email protected] >
and Paul Eggert <[email protected] >: `error' handing.
2002-05-26 Akim Demaille <[email protected] >: stos_, token_number_,
and popping traces.
2002-05-28 09:53:35 +00:00
Akim Demaille
b0e5f19eab
Regen.
2002-05-27 06:29:28 +00:00
Akim Demaille
54049e5db0
Add.
2002-05-27 06:18:41 +00:00
Akim Demaille
b408954b40
* src/state.h (state_t): `solved_conflicts' is a new member.
...
* src/LR0.c (new_state): Set it to 0.
* src/conflicts.h, src/conflicts.c (print_conflicts)
(free_conflicts, solve_conflicts): Rename as...
(conflicts_print, conflicts_free, conflicts_solve): these.
Adjust callers.
* src/conflicts.c (enum conflict_resolution_e)
(solved_conflicts_obstack): New, used by...
(log_resolution): this.
Adjust to attach the conflict resolution to each state.
Complete the description with the precedence/associativity
information.
(resolve_sr_conflict): Adjust.
* src/print.c (print_state): Output its solved_conflicts.
* tests/conflicts.at (Unresolved SR Conflicts)
(Solved SR Conflicts): Exercise --report=all.
2002-05-26 20:25:52 +00:00
Akim Demaille
a49aecd528
* src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
...
* src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
* src/reader.c, src/reduce.c, src/state.h, src/symtab.h
(token_number_t, item_number_as_token_number)
(token_number_as_item_number, muscle_insert_token_number_table):
Rename as...
(symbol_number_t, item_number_as_symbol_number)
(symbol_number_as_item_number, muscle_insert_symbol_number_table):
these, since it is more appropriate.
2002-05-26 18:39:05 +00:00
Akim Demaille
5504898e82
* tests/calc.at (AT_CHECK_CALC): Adjust: there are now additional
...
`Error:' lines.
* data/bison.simple (yystos) [YYDEBUG]: New.
(yyparse) [YYDEBUG]: Display the symbols which are popped during
error recovery.
* tests/regression.at (Web2c Actions): Adjust: yystos is output now.
2002-05-26 18:38:41 +00:00
Akim Demaille
4fd2214bc6
Regen.
2002-05-26 18:38:21 +00:00
Akim Demaille
ec3bc3961d
* doc/bison.texinfo (Debugging): Split into...
...
(Tracing): this new section, its former contents, and...
(Understanding): this new section.
* src/getargs.h, src/getargs.c (verbose_flag): Remove, replaced
by...
(report_flag): this.
Adjust all dependencies.
(report_args, report_types, report_argmatch): New.
(usage, getargs): Report/support -r, --report.
* src/options.h
(struct option_table_struct): Rename as..,
(struct option_table_s): this.
Rename the `set_flag' member to `flag' to match with getopt_long's
struct.
* src/options.c (option_table): Split verbose into an entry for
%verbose, and another for --verbose.
Support --report/-r, so remove -r from the obsolete --raw.
* src/print.c: Attach full item sets and lookaheads reports to
report_flag instead of trace_flag.
* lib/argmatch.h, lib/argmatch.c: New, from Fileutils 4.1.
2002-05-25 16:12:40 +00:00
Akim Demaille
db7c8e9a72
* tests/regression.at (Token definitions): Prototype yylex and
...
yyerror.
2002-05-13 08:56:20 +00:00
Akim Demaille
308a2f7637
More.
2002-05-07 09:31:01 +00:00
Akim Demaille
a46c847244
Remove.
2002-05-07 09:20:26 +00:00
Akim Demaille
5683e9b26a
* tests/synclines.at: Be sure to prototype yylex and yyerror to
...
avoid GCC warnings.
2002-05-07 08:13:00 +00:00
Akim Demaille
0c2d3f4cba
Kill GCC warnings.
...
* src/reduce.c (nonterminals_reduce): Don't loop over RITEM: loop
over the RHS of each rule.
* src/gram.h, src/gram.c (nritems): Is `unsigned int', not int.
* src/state.h (state_t): Member `nitems' is unsigned short.
* src/LR0.c (get_state): Adjust.
* src/reader.c (packgram): Likewise.
* src/output.c (GENERATE_MUSCLE_INSERT_TABLE): `max' is of type
`Type'.
(muscle_insert_int_table): Remove, unused.
(prepare_rules): Remove `max'.
2002-05-07 08:07:32 +00:00
Akim Demaille
1565b72064
* src/closure.c (print_firsts): Display of the symbol tags.
...
(bitmatrix_print): Move to...
* lib/bitsetv-print.h, lib/bitsetv-print.c (bitsetv_matrix_dump):
here.
* tests/sets.at (Nullable, Broken Closure, Firsts): Adjust.
2002-05-06 08:42:24 +00:00
Akim Demaille
5181e40827
Regen.
2002-05-06 08:33:43 +00:00
Akim Demaille
cfaee611d8
* src/muscle_tab.c (muscle_m4_output): Must return TRUE for
...
hash_do_for_each.
2002-05-06 08:23:54 +00:00
Akim Demaille
458be8e0ed
* src/LR0.c (new_state, get_state): Instead of using the global
...
`kernel_size' and `kernel_base', have two new arguments:
`core_size' and `core'.
Adjust callers.
2002-05-06 08:23:41 +00:00
Akim Demaille
a900a6248c
* src/reader.c (packgram): No longer end `ritem' with a 0
...
sentinel: it is not used.
2002-05-06 08:23:28 +00:00
Akim Demaille
9bbd181ae0
Regen.
2002-05-06 07:45:55 +00:00
Akim Demaille
d4e7d3a191
New experimental feature: display the lookaheads in the report and
...
graph.
* src/print (print_core): When --trace-flag, display the rules
lookaheads.
* src/print_graph.c (print_core): Likewise.
Swap the arguments.
Adjust caller.
2002-05-05 11:56:49 +00:00
Akim Demaille
39ceb25bdb
* tests/torture.at (Many lookaheads): New test.
2002-05-05 11:56:37 +00:00
Akim Demaille
5372019fab
* src/output.c (GENERATE_OUTPUT_TABLE): Replace with...
...
(GENERATE_MUSCLE_INSERT_TABLE): this.
(output_int_table, output_unsigned_int_table, output_short_table)
(output_token_number_table, output_item_number_table): Replace with...
(muscle_insert_int_table, muscle_insert_unsigned_int_table)
(muscle_insert_short_table, muscle_insert_token_number_table)
(muscle_insert_item_number_table): these.
Adjust all callers.
(prepare_tokens): Don't free `translations', since...
* src/reader.h, src/reader.c (grammar_free): do it.
Move to...
* src/gram.h, src/gram.c (grammar_free): here.
* data/bison.simple, data/bison.c++: b4_token_number_max is now
b4_translate_max.
2002-05-05 11:56:27 +00:00
Akim Demaille
5df5f6d538
* src/output.c (output_unsigned_int_table): New.
...
(prepare_rules): `i' is unsigned.
`prhs', `rline', `r2' are unsigned int.
Rename muscle `rhs_number_max' as `rhs_max'.
Output muscles `prhs_max', `rline_max', and `r2_max'.
Free rline and r1.
* data/bison.simple, data/bison.c++: Adjust to use these muscles
to compute types instead of constant types.
* tests/regression.at (Web2c Actions): Adjust.
2002-05-05 11:56:06 +00:00
Akim Demaille
77714df234
update.
2002-05-05 11:55:45 +00:00
Akim Demaille
b87f8b2159
* src/symtab.h (SALIAS, SUNDEF): Rename as...
...
(USER_NUMBER_ALIAS, USER_NUMBER_UNDEFINED): these.
Adjust dependencies.
* src/output.c (token_definitions_output): Be sure not to output a
`#define 'a'' when fed with `%token 'a' "a"'.
* tests/regression.at (Token definitions): New.
2002-05-04 08:48:04 +00:00
Akim Demaille
9306c70c63
More.
2002-05-03 17:09:50 +00:00
Akim Demaille
3c9160d912
More.
2002-05-03 16:53:07 +00:00
Akim Demaille
53c71a12c8
* data/bison.simple (m4_if): Don't output empty enums.
...
And actually, output valid enum definitions :(.
2002-05-03 16:22:54 +00:00
Akim Demaille
2de3aceee7
Gettext 0.11.3 adjustments.
2002-05-03 16:11:40 +00:00
Akim Demaille
289dd0cf98
* configure.bat: Remove, completely obsolete.
...
* Makefile.am (EXTRA_DIST): Adjust.
Don't distribute config.rpath...
* config/Makefile.am (EXTRA_DIST): Do it.
2002-05-03 16:10:29 +00:00
Akim Demaille
db85e524b4
* configure.in (GETTEXT_VERSION): New.
...
Suggested by Bruno Haible for the forthcoming Gettext 0.10.3.
2002-05-03 15:52:53 +00:00
Akim Demaille
0164db681e
Warnings.
2002-05-03 15:07:35 +00:00
Akim Demaille
83ccf991a6
* data/bison.simple (b4_token_enum): New.
...
(b4_token_defines): Use it to output tokens both as #define and
enums.
Suggested by Paul Eggert.
* src/output.c (token_definitions_output): Don't output spurious
white spaces.
2002-05-03 08:42:48 +00:00
Akim Demaille
1f41899519
* data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
2002-05-03 08:26:55 +00:00
Akim Demaille
77f6f42074
Regen.
2002-05-02 16:46:05 +00:00
Akim Demaille
b2d52318fa
* data/bison.simple (yyparse): Do not implement @$ = @1.
...
(YYLLOC_DEFAULT): Adjust to do it.
* doc/bison.texinfo (Location Default Action): Fix.
2002-05-02 16:40:54 +00:00
Akim Demaille
3a8b410924
* src/reader.c (parse_braces): Merge into...
...
(parse_action): this.
2002-05-02 16:16:11 +00:00
Akim Demaille
2243f537c6
Update.
2002-05-02 16:12:35 +00:00
Akim Demaille
84614e1373
* configure.in (ALL_LINGUAS): Remove.
...
* po/LINGUAS, hr.po: New.
2002-05-02 15:13:09 +00:00
Akim Demaille
fdbcd8e289
Remove the so called hairy (semantic) parsers.
...
* src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove.
* src/gram.h, src/gram.c (semantic_parser): Remove.
(rule_t): Remove the guard and guard_line members.
* src/lex.h (token_t): remove tok_guard.
* src/options.c (option_table): Remove %guard and %semantic_parser
support.
* src/output.c, src/output.h (guards_output): Remove.
(prepare): Adjust.
(token_definitions_output): Don't output the `T'
tokens (???).
(output_skeleton): Don't output the guards.
* src/files.c, src/files.c (attrsfile): Remove.
* src/reader.c (symbol_list): Remove the guard and guard_line
members.
Adjust dependencies.
(parse_guard): Remove.
* data/bison.hairy: Remove.
* doc/bison.texinfo (Environment Variables): Remove occurrences of
BISON_HAIRY.
2002-05-02 15:06:46 +00:00
Akim Demaille
64bd62a1be
Regen.
2002-05-02 15:05:02 +00:00
Akim Demaille
900c877b41
Note: the previous patch partially drops semantic-parser' support: it always does rule_length - n', where semantic parsers ought to always use `-n'.
2002-05-02 14:36:39 +00:00
Akim Demaille
82b6cb3fb2
* src/reader.c (copy_at, copy_dollarm parse_braces, parse_action)
...
(parse_guard): Rename the formal argument `stack_offset' as
`rule_length', which is more readable.
Adjust callers.
(copy_at, copy_dollar): Instead of outputting the hard coded
values of $$, $n and so forth, output invocation to b4_lhs_value,
b4_lhs_location, b4_rhs_value, and b4_rhs_location.
* data/bison.simple, data/bison.c++ (b4_lhs_value)
(b4_lhs_location, b4_rhs_value, and b4_rhs_location: New.
2002-05-02 14:33:48 +00:00
Akim Demaille
6cbfbcc58c
* configure.in (AC_INIT): Bump to 1.49b.
...
(AM_INIT_AUTOMAKE): Short invocation.
2002-05-02 09:25:54 +00:00
Akim Demaille
b85481146a
Version 1.49a.
2002-05-02 07:49:00 +00:00
Akim Demaille
b219268ad8
Update.
2002-05-02 07:46:51 +00:00
Akim Demaille
a05fafb944
Update from TP.
2002-05-02 07:30:41 +00:00
Akim Demaille
c20cd1facb
* src/skeleton.h: Remove.
2002-05-01 10:32:39 +00:00
Akim Demaille
8a9566d401
* src/skeleton.h: Fix the #endif.
...
Reported by Magnus Fromreide.
2002-05-01 10:28:05 +00:00
Akim Demaille
34a89c5066
* tests/sets.at (AT_EXTRACT_SETS): Sed portability issue: no space
...
between `!' and the command.
Reported by Paul Eggert.
2002-04-25 10:30:27 +00:00
Akim Demaille
969e2ed98b
Don't `touch' the files gettextize modified.
2002-04-25 10:29:47 +00:00
Akim Demaille
b98ec53ee4
Remove a dead item.
2002-04-24 12:04:53 +00:00
Akim Demaille
b4cbf822eb
Language independent actions.
2002-04-24 11:23:13 +00:00
Akim Demaille
c47dc59adc
Also pass --install to the second invocation of autoreconf, to let automake install its files.
2002-04-24 09:44:31 +00:00
Akim Demaille
5c0a0514da
More.
2002-04-23 14:07:56 +00:00
Akim Demaille
1207eeacc2
* tests/sets.at (AT_EXTRACT_SETS): Don't use 8 char long sed labels.
...
* tests/synclines.at (AT_TEST_SYNCLINE): Be robust to GCC's
location with columns.
* tests/conflicts.at (%nonassoc and eof): Don't use `error.h'.
All reported by Paul Eggert.
2002-04-23 09:06:42 +00:00
Akim Demaille
8e521837dc
Use rm/mv -f.
...
Suggested by Paul Eggert.
2002-04-23 08:33:24 +00:00
Akim Demaille
e91ff6ce3d
Point to an official beta.
2002-04-22 14:35:14 +00:00
Akim Demaille
7655146399
Update.
2002-04-22 12:36:15 +00:00
Akim Demaille
216eb8c9f2
Regen.
2002-04-22 09:00:44 +00:00
Akim Demaille
78ab8f674f
* src/reduce.c (dump_grammar): Move to...
...
* src/gram.h, src/gram.c (grammar_dump): here.
Be sure to separate long item numbers.
Don't read the members of a rule's prec if its nil.
2002-04-22 08:23:07 +00:00
Akim Demaille
133c20e252
* src/output.c (table_size, table_grow): New.
...
(MAXTABLE): Remove, replace uses with table_size.
(pack_vector): Instead of dying when the table is too big, grow it.
2002-04-22 08:22:39 +00:00
Akim Demaille
9515e8a7f8
* data/bison.simple (yyr1): Its type is that of a token number.
...
* data/bison.c++ (r1_): Likewise.
* tests/regression.at (Web2c Actions): Adjust.
2002-04-22 08:22:22 +00:00
Akim Demaille
23c5a17453
* src/reader.c (token_translations_init): 256 is now the default
...
value for the error token, i.e., it will be assigned another
number if the user assigned 256 to one of her tokens.
(reader): Don't force 256 to error.
* doc/bison.texinfo (Symbols): Adjust.
* tests/torture.at (AT_DATA_HORIZONTAL_GRAMMAR)
(AT_DATA_TRIANGULAR_GRAMMAR): Number the tokens as 1, 2, 3
etc. instead of 10, 20, 30 (which was used to `jump' over error
(256) and undefined (2)).
2002-04-22 08:22:11 +00:00
Akim Demaille
5fbb0954b8
Propagate more token_number_t.
...
* src/gram.h (token_number_as_item_number)
(item_number_as_token_number): New.
* src/output.c (GENERATE_OUTPUT_TABLE): New.
Use it to create output_item_number_table and
output_token_number_table.
* src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
* src/lex.c, src/nullable.c, src/output.c, src/print.c,
* src/print_graph.c, src/reader.c, src/reduce.c, src/state.h,
* src/symtab.c, src/symtab.h: Use token_number_t instead of shorts.
2002-04-22 08:21:55 +00:00
Akim Demaille
4f940944da
* src/output.h, src/output.c (get_lines_number): Remove.
2002-04-22 08:21:19 +00:00
Akim Demaille
69991a5827
more.
2002-04-19 14:52:00 +00:00
Akim Demaille
20c37f213a
More.
2002-04-19 14:14:11 +00:00
Akim Demaille
3ded9a63e3
* doc/bison.texinfo (Actions): Make clear that `|' is not the same
...
as Lex/Flex'.
(Debugging): More details about enabling the debugging features.
(Table of Symbols): Describe $$, $n, @$, and @n.
Suggested by Tim Josling.
2002-04-19 14:04:31 +00:00
Akim Demaille
e0c471a9e6
* doc/bison.texinfo: Remove the uses of the obsolete @refill.
2002-04-19 13:35:08 +00:00
Akim Demaille
6b44f458f2
More.
2002-04-19 08:41:46 +00:00
Akim Demaille
01c56de45c
Add bootstrap.
2002-04-18 16:41:19 +00:00
Akim Demaille
8b3ba7ff05
More.
2002-04-12 10:35:07 +00:00
Akim Demaille
d1a6f01efb
New.
2002-04-11 16:59:08 +00:00
Akim Demaille
c2a6d50e58
Ignore Gettext file.
2002-04-11 16:34:43 +00:00
Akim Demaille
f294a2c217
Add copyright notice.
2002-04-11 16:31:03 +00:00
Akim Demaille
4358321afa
More.
2002-04-11 16:30:18 +00:00
Akim Demaille
45a44d49bf
Remove from repo.
2002-04-11 16:25:42 +00:00
Akim Demaille
fecc10cd95
* src/system.h: Rely on HAVE_LIMITS_H.
...
Suggested by Paul Eggert.
2002-04-10 17:13:58 +00:00
Akim Demaille
01e5c81773
Regen.
2002-04-10 17:13:15 +00:00
Akim Demaille
eaff5ee3c5
More ideas.
2002-04-10 11:03:39 +00:00
Akim Demaille
aef1ffd56f
More ideas.
2002-04-10 08:55:43 +00:00
Akim Demaille
51dec47b37
* tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the
...
full stderr, and strip it according to the bison options, instead
of composing the error message from different bits.
This makes it easier to check for several error messages.
Adjust all the invocations.
Add an invocation exercising the error token.
Add an invocation demonstrating a stupid error message.
(_AT_DATA_CALC_Y): Follow the GCS: initial column is 1, not 0.
Adjust the tests.
Error message are for stderr, not stdout.
2002-04-09 19:20:10 +00:00