mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-16 15:53:03 +00:00
yacc: reduce scope in push mode
* data/yacc.c (yypull_parse): Here.
This commit is contained in:
13
data/yacc.c
13
data/yacc.c
@@ -1275,13 +1275,10 @@ b4_function_define([[yyparse]], [[int]], b4_parse_param)[
|
|||||||
]b4_function_define([[yypull_parse]], [[int]],
|
]b4_function_define([[yypull_parse]], [[int]],
|
||||||
[[[yypstate *yyps]], [[yyps]]]m4_ifset([b4_parse_param], [,
|
[[[yypstate *yyps]], [[yyps]]]m4_ifset([b4_parse_param], [,
|
||||||
b4_parse_param]))[
|
b4_parse_param]))[
|
||||||
{
|
{]b4_pure_if([b4_locations_if([[
|
||||||
int yystatus;
|
|
||||||
yypstate *yyps_local;]b4_pure_if([[
|
|
||||||
int yychar;
|
|
||||||
YYSTYPE yylval;]b4_locations_if([[
|
|
||||||
static YYLTYPE yyloc_default][]b4_yyloc_default[;
|
static YYLTYPE yyloc_default][]b4_yyloc_default[;
|
||||||
YYLTYPE yylloc = yyloc_default;]])])[
|
YYLTYPE yylloc = yyloc_default;]])])[
|
||||||
|
yypstate *yyps_local;
|
||||||
if (yyps)
|
if (yyps)
|
||||||
yyps_local = yyps;
|
yyps_local = yyps;
|
||||||
else
|
else
|
||||||
@@ -1295,8 +1292,10 @@ b4_function_define([[yyparse]], [[int]], b4_parse_param)[
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
do {
|
int yystatus;
|
||||||
yychar = ]b4_lex[;
|
do {]b4_pure_if([[
|
||||||
|
YYSTYPE yylval;
|
||||||
|
int ]])[yychar = ]b4_lex[;
|
||||||
yystatus =
|
yystatus =
|
||||||
yypush_parse (yyps_local]b4_pure_if([[, yychar, &yylval]b4_locations_if([[, &yylloc]])])m4_ifset([b4_parse_param], [, b4_args(b4_parse_param)])[);
|
yypush_parse (yyps_local]b4_pure_if([[, yychar, &yylval]b4_locations_if([[, &yylloc]])])m4_ifset([b4_parse_param], [, b4_args(b4_parse_param)])[);
|
||||||
} while (yystatus == YYPUSH_MORE);
|
} while (yystatus == YYPUSH_MORE);
|
||||||
|
|||||||
Reference in New Issue
Block a user