Commit Graph

71 Commits

Author SHA1 Message Date
Akim Demaille
fb9712a962 Alexandre Duret-Lutz <adl@gnu.org>
Move the token type and YYSTYPE in the parser class.
* data/lalr1.cc (stack.hh, location.hh): Include earlier.
(parser::token): New, from the moved free definition of tokens.
(parser::semantic_value): Now a full definition instead of an
indirection to YYSTYPE.
(b4_post_prologue): No longer included in the header file, but
in the implementation file.
* doc/bison.texi (C+ Language Interface): Update.
* src/parse-gram.y: Support unary %define.
* tests/actions.at: Define global_tokens_and_yystype for backward
compatibility until we update the tests.
* tests/calc.at: Idem.
(first_line, first_column, last_line, last_column): Define for lalr1.cc
to simplify the code.
2005-09-30 17:57:05 +00:00
Paul Eggert
58b90cc2d8 Regenerate. 2005-09-21 20:08:58 +00:00
Paul Eggert
ac2434287d Regenerate. 2005-09-20 23:09:18 +00:00
Paul Eggert
2abdfeefce Regenerate. 2005-09-20 06:07:30 +00:00
Paul Eggert
f5109f5af0 Regenerate. 2005-09-16 22:55:33 +00:00
Paul Eggert
19e251af0f Regenerate. 2005-08-22 00:11:30 +00:00
Paul Eggert
5f3df3960e Regenerate. 2005-07-24 07:26:45 +00:00
Paul Eggert
9cbfdc9e01 Regenerate. 2005-07-21 20:55:33 +00:00
Paul Eggert
d11e0cfa89 Regenerate. 2005-07-19 07:10:32 +00:00
Paul Eggert
6088a2a04d Regenerate. 2005-07-19 03:38:13 +00:00
Akim Demaille
82b248ada6 * src/parse-gram.y: Use %printer instead of YYPRINT. 2005-07-12 13:54:41 +00:00
Paul Eggert
5f6da1c0f8 Regenerate. 2005-07-09 08:27:02 +00:00
Paul Eggert
0925ebb4fa * data/yacc.c (malloc, free) [defined __cplusplus]: Wrap inside extern "C" {}. 2005-06-09 20:44:28 +00:00
Paul Eggert
4b43d40257 Regenerate. 2005-05-27 23:22:19 +00:00
Paul Eggert
bd134904da Regenerate. 2005-05-22 05:20:48 +00:00
Paul Eggert
0fb669f9d6 Update FSF postal mail address. 2005-05-14 06:49:48 +00:00
Paul Eggert
7768896a25 Regenerate. 2005-05-02 04:56:45 +00:00
Paul Eggert
2ce37586de Regenerate. 2005-04-16 06:34:20 +00:00
Paul Eggert
ffc9da3a52 Regenerate. 2005-04-14 00:09:11 +00:00
Paul Eggert
e105489549 Regenerate. 2005-01-17 09:35:41 +00:00
Paul Eggert
da436e4383 Regenerate. 2004-12-26 05:51:10 +00:00
Paul Eggert
76dcf299b7 Regenerate. 2004-12-16 20:42:40 +00:00
Paul Eggert
bbd3fa0c61 Regenerate. 2004-12-12 09:29:18 +00:00
Paul Eggert
2ed24dd8c7 Regenerate. 2004-10-09 18:08:21 +00:00
Akim Demaille
8a8dc872fa Regen. 2004-10-05 08:41:44 +00:00
Paul Eggert
2ed973bf1d Regenerate. 2004-08-18 20:35:31 +00:00
Paul Eggert
329d23c5d6 Regenerate. 2004-05-27 07:40:12 +00:00
Paul Eggert
e476c87d93 Version 1.875d. 2004-05-21 21:03:41 +00:00
Paul Eggert
a76ca26309 Regenerate. 2004-05-03 07:58:53 +00:00
Paul Eggert
584bbcd839 Regenerate. 2004-03-31 00:41:30 +00:00
Paul Hilfinger
d63282419d * src/parse-gram.y: Define PERCENT_EXPECT_RR.
(declaration): Replace expected_conflicts with expected_sr_conflicts.
Add %expect-rr rule.

* src/scan-gram.l: Recognize %expect-rr.

* src/conflicts.h (expected_sr_conflicts): Rename from
expected_conflicts.
(expected_rr_conflicts): Declare.

* src/conflicts.c (expected_sr_conflicts): Rename from
expected_conflicts.
(expected_rr_conflicts): Define.
(conflicts_print): Check r/r conflicts against expected_rr_conflicts
for GLR parsers.
Use expected_sr_conflicts in place of expected_conflicts.
Warn if expected_rr_conflicts used in non-GLR parser.

* doc/bison.texinfo: Add documentation for %expect-rr.
2004-03-26 22:41:16 +00:00
Paul Eggert
66ef8b9d65 Regenerate. 2003-10-01 22:00:13 +00:00
Akim Demaille
92f5e991da Update. 2003-10-01 07:46:02 +00:00
Akim Demaille
cd3684cfa8 When reducing initial empty rules, Bison parser read an initial
location that is not defined.  This results in garbage, and that
affects Bison's own parser.  Therefore we need (i) to extend Bison
to support a means to initialize this location, and (ii) to use
this CVS Bison to fix CVS Bison's parser.
* src/reader.h, reader.c (epilogue_augment): Remove, replace
with...
* src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
* src/parse-gram.y: Adjust.
(%initial-action): New.
(%error-verbose): Since we require CVS Bison, there is no reason
not to use it.
* src/scan-gram.l: Adjust.
* src/Makefile.am (YACC): New, to make sure we use our own parser.
* data/yacc.c (yyparse): Use b4_initial_action.
2003-08-25 15:16:25 +00:00
Paul Eggert
465b4444e8 Regenerate. 2003-06-17 08:34:53 +00:00
Akim Demaille
916708d59e * src/gram.h, src/gram.c (pure_parser, glr_parser): Move to...
* src/getargs.c, src/getargs.h: here, as bool, not int.
(nondeterministic_parser): New.
* src/parse-gram.y, src/scan-gram.l: Support
%nondeterministic-parser.
* src/output.c (prepare): Use nondeterministic_parser instead
of glr_parser where appropriate.
* src/tables.c (conflict_row, action_row, save_row)
(token_actions, token_actions, pack_vector): Ditto.
2003-04-29 12:57:36 +00:00
Akim Demaille
650aa2cfbf Regen. 2003-03-03 09:00:12 +00:00
Akim Demaille
6d5aa694aa Regen. 2003-03-01 08:31:06 +00:00
Akim Demaille
1d64f0bab6 Regen. 2003-02-05 09:57:02 +00:00
Paul Eggert
8e4900ef40 Regenerate. 2003-01-01 10:09:55 +00:00
Paul Eggert
78a00b7d7f Regenerate. 2002-12-29 03:17:45 +00:00
Paul Eggert
73521d9ff8 Regenerate. 2002-12-24 08:33:38 +00:00
Paul Eggert
05d18c2493 Regenerate. 2002-12-13 12:20:19 +00:00
Akim Demaille
886b69d197 * data/c.m4 (b4_yysymprint_generate): Pass *yyvaluep to YYPRINT,
not yyvalue.
2002-11-12 09:44:41 +00:00
Akim Demaille
3e6656f9ab * src/symtab.c (symbol_free): Remove dead deactivated code:
type_name are properly removed.
Don't use XFREE to free items that cannot be NULL.
* src/struniq.h, src/struniq.c: New.
* src/main.c (main): Initialize/free struniqs.
* src/parse-gram.y (%union): Add astruniq member.
(yyprint): Adjust.
* src/scan-gram.l (<{tag}>): Return a struniq.
Free the obstack bit that used to store it.
* src/symtab.h (symbol_t): The 'type_name' member is a struniq.
2002-11-12 07:55:55 +00:00
Paul Eggert
62ddaef6a7 Regenerate. 2002-11-12 07:44:22 +00:00
Paul Eggert
5c16c6b13a Version 1.75a. 2002-10-25 06:05:50 +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
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
3d38c03a86 * src/parse-gram.y: Associate a human readable string to each
token type.
* tests/regression.at (Invalid inputs): Adjust.
2002-09-10 13:52:33 +00:00