Commit Graph

976 Commits

Author SHA1 Message Date
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 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 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
Paul Eggert 8bb936e4f7 * data/bison.simple (b4_token_defines): Also define YYTOKENTYPE
for K&R C.
2002-05-03 17:55:00 +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 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 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
Robert Anisko 45119f0446 * data/bison.c++: Adapt expansion of $s and @s to the C++ parser.
Update the stack class, give a try to deque as the default container.
2002-05-02 16:43:00 +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 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 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 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
Paul Eggert b756bb754c * data/bison.simple (YYCOPY): Fix [] quoting problem in the non-GCC case. 2002-04-27 01:21:14 +00:00
Paul Eggert 8c6d399ada * data/bison.simple (YYSTYPE_IS_TRIVIAL, YYLTYPE_IS_TRIVIAL):
Define if we define YYSTYPE and YYLTYPE, respectively.
2002-04-27 01:10:28 +00:00
Robert Anisko 2b7ed18a60 * src/scan-skel.l: Postprocess quadrigraphs.
* src/reader.c (copy_character): New function, used to output
single characters while replacing `[' and `]' with quadrigraphs, to
avoid troubles with M4 quotes.
(copy_comment): Output characters with copy_character.
(read_additionnal_code): Likewise.
(copy_string2): Likewise.
(copy_definition): Likewise.
* tests/calc.at: Exercise M4 quoting.
2002-04-25 14:36:38 +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
Robert Anisko 0dd1580afc * tests/calc.at: Exercise prologue splitting.
* data/bison.simple, data/bison.c++: Use `b4_pre_prologue' and
`b4_post_prologue' instead of `b4_prologue'.
* src/output.c (prepare): Add the `pre_prologue' and `post_prologue'
muscles.
(output): Free pre_prologue_obstack and post_prologue_obstack.
* src/files.h, src/files.c (attrs_obstack): Remove.
(pre_prologue_obstack, post_prologue_obstack): New.
* src/reader.c (copy_definition): Add a parameter to specify the
obstack to fill, instead of using attrs_obstack unconditionally.
(read_declarations): Pass pre_prologue_obstack to copy_definition if
`%union' has not yet been seen, pass post_prologue_obstack otherwise.
2002-04-24 16:22:57 +00:00
Paul Eggert 83c1796f41 * data/bison.simple: Remove unnecessary commentary and white
space differences from 1_29-branch.
Depend on YYERROR_VERBOSE, not defined (YYERROR_VERBOSE).

(union yyalloc, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYCOPY,
YYSTACK_RELOCATE): Do not define if yyoverflow is defined, or
if this is a C++ parser and YYSTYPE or YYLTYPE has nontrivial
constructors or destructors.

(yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack.
2002-04-24 05:56:13 +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 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 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 f294a2c217 Add copyright notice. 2002-04-11 16:31:03 +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 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
Akim Demaille 007a50a493 * src/gram.h, src/gram.c (error_token_number): Remove, use
errtoken->number.
* src/reader.c (reader): Don't specify the user token number (2)
for $undefined, as it uselessly prevents using it.
* src/gram.h (token_number_t): Move to...
* src/symtab.h: here.
(state_t.number): Is a token_number_t.
* src/print.c, src/reader.c: Use undeftoken->number instead of
hard coded 2.
(Even though this 2 is not the same as above: the number of the
undeftoken remains being 2, it is its user token number which
might not be 2).
* src/output.c (prepare_tokens): Rename the `maxtok' muscle with
`user_token_number_max'.
Output `undef_token_number'.
* data/bison.simple, data/bison.c++: Use them.
Be sure to map invalid yylex return values to
`undef_token_number'.  This saves us from gratuitous SEGV.
* tests/conflicts.at (Solved SR Conflicts)
(Unresolved SR Conflicts): Adjust.
* tests/regression.at (Web2c Actions): Adjust.
2002-04-09 19:19:59 +00:00
Akim Demaille 73b0698996 Fix. 2002-04-08 12:33:13 +00:00
Akim Demaille 06446ccf94 * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
Adding #line.
Remove the duplicate `typedefs'.
(RhsNumberType): Fix the declaration and various other typos.
Use __ofile__.
* data/bison.simple: Use __ofile__.
* src/scan-skel.l: Handle __ofile__.
2002-04-08 12:31:15 +00:00