Commit Graph

228 Commits

Author SHA1 Message Date
Akim Demaille
d288047e9b regen 2018-08-18 07:42:07 +02:00
Akim Demaille
c2de9dafd1 regen 2018-08-14 06:15:42 +02:00
Akim Demaille
9502b2ab48 style: split a function in two
grammar_current_rule_action_append was used in two different places:
for actual action (`{...}`), and for predicates (`%?{...}`).  Let's
split this in two different functions.

* src/reader.h, src/reader.c (grammar_current_rule_predicate_append): New.
Extracted from...
(grammar_current_rule_action_append): here.
Remove arguments that don't apply.
Adjust dependencies.
2018-07-26 20:18:32 +02:00
Akim Demaille
4eeec4e41f regen 2018-05-27 10:46:31 +02:00
Akim Demaille
77a0e35143 regen 2018-05-19 15:14:46 +02:00
Akim Demaille
827bc59ca1 %union: fix the support for named %union
Bison supports a union tag, for obscure reasons.  But it does a poor
job at it, especially since Bison 3.0.
Reported by Stephen Cameron and Tobias Frost.

It did not ensure that the name was not given several times.  An easy
way to do this is to make the %union tag be handled as a %define
variable, as they cannot be defined several times.

Since Bison 3.0, the synclines were wrongly placed, resulting in
invalid code.  Addressing this issue, because of the way the union tag
was stored (as a code muscle), would have been tedious.  Unless we
rather define the %union tag as a %percent variable, whose synclines
are easier to manipulate.

So replace the b4_union_name muscle by the api.value.union.name
%define variable, document, and check.

* data/bison.m4: Make sure that api.value.union.name has a keyword value.
* data/c++.m4: Make sure that api.value.union.name is not defined.
* data/c.m4 (b4_union_name): No longer use it, use api.value.union.name.
* doc/bison.texi (%define Summary): Document it.
* src/parse-gram.y (union_name): No longer define b4_uion_name, but
api.value.union.name.
* tests/input.at (Redefined %union name): New.
* tests/synclines.at (%union name syncline): New.
* tests/types.at: Check named %unions.
2015-01-04 18:00:51 +01:00
Akim Demaille
3209eb1c4c package: bump to 2015
Which also requires:

* gnulib: Update.
2015-01-04 17:49:13 +01:00
Akim Demaille
a62a7b014c regen 2013-07-25 17:55:32 +02:00
Akim Demaille
c0ef22ab0b style: syntax-check fixes
* data/yacc.c, src/Sbitset.c, src/Sbitset.h, src/muscle-tab.h,
* src/output.c, src/parse-gram.y, src/reader.c, src/symtab.c,
* src/uniqstr.c, src/uniqstr.h: Fix space before parens.
* cfg.mk (_space_before_paren_exempt): Add needed exceptions.
2013-05-30 14:10:05 +02:00
Akim Demaille
e37054cf27 regen 2013-05-30 11:07:56 +02:00
Akim Demaille
332019e19a regen 2013-04-18 16:47:41 +02:00
Akim Demaille
7dbadca2d0 regen 2013-04-18 15:12:24 +02:00
Akim Demaille
ff2e3d397a regen 2013-04-16 18:06:08 +02:00
Akim Demaille
de5fb744c9 regen 2013-04-04 16:50:55 +02:00
Akim Demaille
8a9283494b regen 2013-04-04 15:48:08 +02:00
Akim Demaille
2dc8862bab regen 2013-03-06 10:31:55 +01:00
Akim Demaille
bbed3fdef6 regen 2013-02-19 10:07:37 +01:00
Akim Demaille
8ecac08f2d regen 2013-02-18 10:01:27 +01:00
Akim Demaille
246ff8c1d3 regen 2013-02-04 16:49:10 +01:00
Akim Demaille
74ce3cfbf6 regen 2013-02-01 14:26:29 +01:00
Akim Demaille
c6a731eebb regen 2013-01-27 10:41:16 +01:00
Akim Demaille
3f4bc2c1dd regen 2013-01-12 16:23:16 +01:00
Akim Demaille
0904099dd5 regen 2012-12-28 11:37:22 +01:00
Akim Demaille
258b45c86b regen 2012-12-28 11:37:21 +01:00
Akim Demaille
0a9042a652 regen 2012-12-27 10:33:46 +01:00
Akim Demaille
369342dd3a regen 2012-11-08 09:35:59 +01:00
Akim Demaille
8d9cffffed regen 2012-10-26 16:59:04 +02:00
Theophile Ranquet
25b27513d9 regen 2012-10-24 14:50:21 +00:00
Theophile Ranquet
bb8e56ff67 warnings: fusion of complain and complain_at
These functions are very similar, and keeping them seperate makes
future improvements difficult, so merge them.

This impacts 89 calls.

* src/bootstrap.conf: Adjust.
* src/complain.c (complain, complain_at): Merge into...
(complain): this.
(complain_args): Adjust.
* src/complain.h, src/conflicts.c, src/files.c, src/getargs.c,
* src/gram.c, src/location.c, src/muscle-tab.c, src/parse-gram.y,
* src/reader.c, src/reduce.c, src/scan-code.l, src/scan-gram.l,
* src/scan-skel.l, src/symlist.c, src/symtab.c:
Adjust.

Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
2012-10-01 14:15:47 +02:00
Akim Demaille
37cfa1195d regen 2012-09-26 12:20:44 +02:00
Akim Demaille
47f6a236ec regen 2012-09-04 18:53:45 +02:00
Akim Demaille
52cc1ebda2 regen 2012-08-03 11:09:22 +02:00
Akim Demaille
95dbea8103 regen 2012-08-03 10:34:04 +02:00
Akim Demaille
86027be930 regen 2012-08-02 15:32:50 +02:00
Akim Demaille
7cb40fd2b5 regen 2012-07-27 16:46:15 +02:00
Akim Demaille
9e41ba026a regen 2012-07-24 08:55:26 +02:00
Akim Demaille
007c5908b9 regen 2012-07-22 21:18:43 +02:00
Akim Demaille
0294b13074 regen. 2012-07-22 21:17:07 +02:00
Akim Demaille
a943967010 maint: regen. 2012-07-22 20:19:51 +02:00
Akim Demaille
415b88231a regen. 2012-06-28 17:18:51 +02:00
Akim Demaille
dda2c1adba regen. 2012-06-20 10:13:16 +02:00
Akim Demaille
398c298c88 build: regen. 2012-05-24 13:55:57 +02:00
Akim Demaille
6f8f253b15 regen.
* src/parse-gram.c, src/parse-gram.h: regen.
2012-02-21 16:32:01 +01:00
Akim Demaille
e7b94cc360 regen.
* src/parse-gram.c, src/parse-gram.h: Regen.
2012-02-19 12:56:14 +01:00
Akim Demaille
d9b968d8d6 maint: regen.
* src/parse-gram.c, src/parse-gram.h: regen.
2012-02-18 19:32:18 +01:00
Joel E. Denny
f9d52903f1 * src/parse-gram.c, src/parse-gram.h: Regenerate. 2011-03-13 18:03:59 -04:00
Joel E. Denny
fe3cae17a1 * data/yacc.c: Fix last apostrophe warning from xgettext.
(cherry picked from commit 448dc38bc4)

Conflicts:

	data/yacc.c
	src/parse-gram.c
	src/parse-gram.h
2011-01-24 21:46:45 -05:00
Paul Eggert
3c9b20ff5a Fix minor problems encountered by a fresh bootstrap.
* data/glr.c, data/yacc.c: Do not use apostrophes in '#' comments,
as they confuse xgettext, which tries to parse them as C character
constants in a preprocessor directive.
* data/yacc.c (yy_lac): Don't use printf %d format on *yyesp, as
that expression might not promote to int on some platforms.
* src/parse-gram.c, src/parse-gram.h: Regenerate.
2011-01-09 17:09:03 -08:00
Joel E. Denny
575619af5e maint: run "make update-copyright". 2011-01-02 10:02:43 -05:00
Joel E. Denny
107844a3ee parse.lac: implement exploratory stack reallocations.
* data/yacc.c: Rename %define variable parse.lac.es-capacity to
parse.lac.es-capacity-initial.  Accept parse.lac.memory-trace
with values of "failures" (default) or "full".
(b4_declare_parser_state_variables): Add yyesa, yyes, and
yyes_capacity variables.
(YYSTACK_USE_ALLOCA): Ignore it if LAC requested.
(YYSTACK_ALLOC, YYSTACK_FREE, YYSTACK_ALLOC_MAXIMUM): Define if
LAC requested.
(YYCOPY_NEEDED): New cpp macro.
(YYCOPY): Define if LAC requested.
(yy_lac_stack_realloc): New function implementing stack
reallocations.  Use YYMAXDEPTH for maximum stack size given that
the stack should never need to grow larger than the main state
stack needs to grow without LAC.
(YY_LAC_ESTABLISH): Update yy_lac invocation.
(yy_lac): Add arguments for exploratory stack memory data
recorded in the main parser.  Invoke yy_lac_stack_realloc when
reallocation is necessary.
(yysyntax_error): Add the same new arguments and pass them to
yy_lac.
(yypstate_delete): Free yyes if necessary.
(yyesa, yyes, yyes_capacity): #define these to yypstate members
in the case of push parsing.
(yyparse, yypush_parse): Initialize yyes and yyes_capacity.
Update yysyntax_error invocations.  At yyreturn, free yyes if
necessary.
* src/parse-gram.y: %define parse.lac full.
* tests/input.at (LAC: errors for %define): Extend for
parse.lac-memory-trace.
* tests/regression.at (LAC: Exploratory stack): Extend to check
that stack reallocs happen when expected.
(LAC: Memory exhaustion): Update to use YYMAXDEPTH and
parse.lac.es-capacity-initial.
2010-12-11 15:33:41 -05:00