mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
also support $<foo>$ in the %initial-action
scan-code.l is already passing argument to b4_dollar_dollar for the initial acton, but its definition (of b4_dollar_dollar) does not use this argument. Generalize this definition, and use it for the %initial-action too. * data/c.m4 (b4_dollar_dollar_, b4_dollar_pushdef, b4_dollar_popdef): Instead of expecting a pointer, require a value, and use ".". Since they are now generic enough, move to... * data/c-like.m4: this new file. * data/c.m4, data/java.m4: Load it. * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Use b4_dollar_pushdef for the %initial-action. * tests/actions.at: Check that. * data/Makefile.am: Adjust. * NEWS, doc/bison.texi: Document.
This commit is contained in:
10
data/glr.c
10
data/glr.c
@@ -2302,12 +2302,10 @@ yyrecoverSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
||||
#endif
|
||||
])
|
||||
m4_ifdef([b4_initial_action], [
|
||||
m4_pushdef([b4_at_dollar], [yylloc])dnl
|
||||
m4_pushdef([b4_dollar_dollar], [yylval])dnl
|
||||
/* User initialization code. */
|
||||
b4_user_initial_action
|
||||
m4_popdef([b4_dollar_dollar])dnl
|
||||
m4_popdef([b4_at_dollar])])dnl
|
||||
b4_dollar_pushdef([yylval], [], [yylloc])dnl
|
||||
/* User initialization code. */
|
||||
b4_user_initial_action
|
||||
b4_dollar_popdef])[]dnl
|
||||
[
|
||||
if (! yyinitGLRStack (yystackp, YYINITDEPTH))
|
||||
goto yyexhaustedlab;
|
||||
|
||||
Reference in New Issue
Block a user