* data/push.c: (yypvarsinit, yypvars, struct yypvars, yypushparse):

Rename to...
(yypstate_init, yypstate, struct yypstate, yypush_parse): ... these and         update all uses.
(b4_yyssa, b4_yyerror_range, yypstate_init): Rename pv to yyps.
(yypush_parse): Rename yypvars argument to yyps and remove redundant
local pv.
(yypstate_init, yypush_parse): Declare in Bison-generated header file.
* tests/calc.at (_AT_DATA_CALC_Y): Use newly named functions.
This commit is contained in:
Joel E. Denny
2006-12-08 22:36:33 +00:00
parent ea17f233e6
commit 8def5cd0c3
3 changed files with 80 additions and 64 deletions

View File

@@ -1,3 +1,15 @@
2006-12-08 Bob Rossi <bob@brasko.net>
* data/push.c: (yypvarsinit, yypvars, struct yypvars, yypushparse):
Rename to...
(yypstate_init, yypstate, struct yypstate, yypush_parse): ... these and
update all uses.
(b4_yyssa, b4_yyerror_range, yypstate_init): Rename pv to yyps.
(yypush_parse): Rename yypvars argument to yyps and remove redundant
local pv.
(yypstate_init, yypush_parse): Declare in Bison-generated header file.
* tests/calc.at (_AT_DATA_CALC_Y): Use newly named functions.
2006-12-07 Bob Rossi <bob@brasko.net> 2006-12-07 Bob Rossi <bob@brasko.net>
and Joel Denny <jdenny@ces.clemson.edu> and Joel Denny <jdenny@ces.clemson.edu>

View File

@@ -152,9 +152,9 @@ b4_copyright([Skeleton implementation for Bison's Yacc-like parsers in C],dnl '
m4_if(b4_prefix, [yy], [], m4_if(b4_prefix, [yy], [],
[/* Substitute the variable and function names. */ [/* Substitute the variable and function names. */
#define yyparse b4_prefix[]parse #define yyparse b4_prefix[]parse
]b4_push_if([#define yypushparse b4_prefix[]pushparse ]b4_push_if([#define yypush_parse b4_prefix[]push_parse
#define yypvarsinit b4_prefix[]pvarsinit #define yypstate_init b4_prefix[]pstate_init
#define yypvars b4_prefix[]pvars])[ #define yypstate b4_prefix[]pstate])[
#define yylex b4_prefix[]lex #define yylex b4_prefix[]lex
#define yyerror b4_prefix[]error #define yyerror b4_prefix[]error
#define yylval b4_prefix[]lval #define yylval b4_prefix[]lval
@@ -968,11 +968,11 @@ yysyntax_error (char *yyresult, int yystate, int yychar)
#endif /* ! YYPARSE_PARAM */ #endif /* ! YYPARSE_PARAM */
]b4_push_if([ ]b4_push_if([
struct yypvars; struct yypstate;
enum { YYPUSH_MORE = 4 }; enum { YYPUSH_MORE = 4 };
]b4_c_function_decl([yypvarsinit], [struct yypvars *], [[void], []])[ ]b4_c_function_decl([yypstate_init], [struct yypstate *], [[void], []])[
]b4_c_function_decl([yypushparse], [int], ]b4_c_function_decl([yypush_parse], [int],
[[struct yypvars *yypvars], [yypvars]], [[struct yypstate *yyps], [yyps]],
[[int yynchar], [yynchar]], [[int yynchar], [yynchar]],
[[YYSTYPE *yynlval], [yynlval]] [[YYSTYPE *yynlval], [yynlval]]
b4_locations_if([,[[YYLTYPE *yynlloc], [yynlloc]]]))[ b4_locations_if([,[[YYLTYPE *yynlloc], [yynlloc]]]))[
@@ -997,14 +997,14 @@ int yynerrs;])[b4_locations_if([
YYLTYPE yylloc;]) YYLTYPE yylloc;])
]) ])
m4_define([b4_yyssa],b4_push_if([pv->yyssa],[yyssa])) m4_define([b4_yyssa],b4_push_if([yyps->yyssa],[yyssa]))
m4_define([b4_yyerror_range],b4_push_if([pv->yyerror_range],[yyerror_range])) m4_define([b4_yyerror_range],b4_push_if([yyps->yyerror_range],[yyerror_range]))
# b4_declare_yyparse_variables # b4_declare_yyparse_variables
# ---------------------------- # ----------------------------
# Declare all the variables that are needed local to YYPARSE # Declare all the variables that are needed local to YYPARSE
m4_define([b4_declare_yyparse_variables], m4_define([b4_declare_yyparse_variables],
[[struct yypvars [[struct yypstate
{ {
int yystate; int yystate;
int yyn; int yyn;
@@ -1047,30 +1047,30 @@ m4_define([b4_declare_yyparse_variables],
}; };
/* Initialize the parser data structure. */ /* Initialize the parser data structure. */
struct yypvars* struct yypstate*
yypvarsinit (void) yypstate_init (void)
{ {
struct yypvars *pv = (struct yypvars *) malloc (sizeof *pv); struct yypstate *yyps = (struct yypstate *) malloc (sizeof *yyps);
pv->yystate = 0; yyps->yystate = 0;
pv->yyresult = -1; yyps->yyresult = -1;
pv->yyerrstatus = 0; yyps->yyerrstatus = 0;
pv->yytoken = 0; yyps->yytoken = 0;
pv->yyss = pv->yyssa; yyps->yyss = yyps->yyssa;
pv->yyvs = pv->yyvsa; yyps->yyvs = yyps->yyvsa;
]b4_locations_if([ ]b4_locations_if([
pv->yyls = pv->yylsa;])[ yyps->yyls = yyps->yylsa;])[
pv->yystacksize = YYINITDEPTH; yyps->yystacksize = YYINITDEPTH;
pv->yyssp = pv->yyss; yyps->yyssp = yyps->yyss;
pv->yyvsp = pv->yyvs; yyps->yyvsp = yyps->yyvs;
pv->yynew = 1; yyps->yynew = 1;
]b4_locations_if([ pv->yylsp = pv->yyls;])[ ]b4_locations_if([ yyps->yylsp = yyps->yyls;])[
return pv; return yyps;
}]) }])
m4_divert_pop([KILL])dnl# ====================== End of M4 code. m4_divert_pop([KILL])dnl# ====================== End of M4 code.
@@ -1080,11 +1080,11 @@ b4_push_if([],[b4_pure_if([],
b4_push_if([b4_declare_yyparse_variables]) b4_push_if([b4_declare_yyparse_variables])
/*-------------------------. /*-------------------------.
| yyparse or yypushparse. | | yyparse or yypush_parse. |
`-------------------------*/ `-------------------------*/
b4_push_if([ b4_push_if([
b4_c_function_def([yypushparse], [int], [[struct yypvars *yypvars], [yypvars]], b4_c_function_def([yypush_parse], [int], [[struct yypstate *yyps], [yyps]],
[[int yynchar], [yynchar]], [[YYSTYPE *yynlval], [yynlval]] [[int yynchar], [yynchar]], [[YYSTYPE *yynlval], [yynlval]]
b4_locations_if([,[[YYLTYPE *yynlloc], [yynlloc]]]))],[ b4_locations_if([,[[YYLTYPE *yynlloc], [yynlloc]]]))],[
#ifdef YYPARSE_PARAM #ifdef YYPARSE_PARAM
@@ -1095,7 +1095,6 @@ b4_c_function_def([yyparse], [int], b4_parse_param)
{[ {[
]b4_pure_if([b4_declare_parser_variables])[ ]b4_pure_if([b4_declare_parser_variables])[
]b4_push_if([b4_declare_parser_variables])[ ]b4_push_if([b4_declare_parser_variables])[
]b4_push_if([struct yypvars *pv;])[
int yystate; int yystate;
int yyn; int yyn;
int yyresult; int yyresult;
@@ -1155,7 +1154,6 @@ b4_c_function_def([yyparse], [int], b4_parse_param)
yystate = 0; yystate = 0;
yyerrstatus = 0; yyerrstatus = 0;
]b4_push_if([ yychar = yynchar; ]b4_push_if([ yychar = yynchar;
pv = yypvars;
if (yynlval) if (yynlval)
yylval = *yynlval; yylval = *yynlval;
]b4_locations_if([ if (yynlloc) ]b4_locations_if([ if (yynlloc)
@@ -1190,30 +1188,30 @@ m4_ifdef([b4_at_dollar_used], [[ yylsp[0] = yylloc;
]])dnl ]])dnl
[ ]b4_push_if([ [ ]b4_push_if([
/* Initialize the locals to the current context. */ /* Initialize the locals to the current context. */
yystate = pv->yystate; yystate = yyps->yystate;
yyn = pv->yyn; yyn = yyps->yyn;
yyresult = pv->yyresult; yyresult = yyps->yyresult;
yyerrstatus = pv->yyerrstatus; yyerrstatus = yyps->yyerrstatus;
yytoken = pv->yytoken; yytoken = yyps->yytoken;
yyss = pv->yyss; yyss = yyps->yyss;
yyssp = pv->yyssp; yyssp = yyps->yyssp;
yyvs = pv->yyvs; yyvs = yyps->yyvs;
yyvsp = pv->yyvsp; yyvsp = yyps->yyvsp;
]b4_locations_if([[ /* The location stack. */ ]b4_locations_if([[ /* The location stack. */
yyls = pv->yyls; yyls = yyps->yyls;
yylsp = pv->yylsp;]])[ yylsp = yyps->yylsp;]])[
yystacksize = pv->yystacksize; yystacksize = yyps->yystacksize;
yyval = pv->yyval; yyval = yyps->yyval;
]b4_locations_if([yyloc = pv->yyloc;])[ ]b4_locations_if([yyloc = yyps->yyloc;])[
if (pv->yynew == 0) if (yyps->yynew == 0)
{ {
goto gottoken; goto gottoken;
} }
pv->yynew= 0;])[ yyps->yynew= 0;])[
goto yysetstate; goto yysetstate;
/*------------------------------------------------------------. /*------------------------------------------------------------.
@@ -1321,24 +1319,24 @@ yybackup:
YYDPRINTF ((stderr, "Return for a new token:\n")); YYDPRINTF ((stderr, "Return for a new token:\n"));
yyresult = YYPUSH_MORE; yyresult = YYPUSH_MORE;
/* Initialize the locals to the current context. */ /* Initialize the locals to the current context. */
pv->yystate = yystate; yyps->yystate = yystate;
pv->yyn = yyn; yyps->yyn = yyn;
pv->yyerrstatus = yyerrstatus; yyps->yyerrstatus = yyerrstatus;
pv->yytoken = yytoken; yyps->yytoken = yytoken;
pv->yyss = yyss; yyps->yyss = yyss;
pv->yyssp = yyssp; yyps->yyssp = yyssp;
pv->yyvs = yyvs; yyps->yyvs = yyvs;
pv->yyvsp = yyvsp; yyps->yyvsp = yyvsp;
]b4_locations_if([[ /* The location stack. */ ]b4_locations_if([[ /* The location stack. */
pv->yyls = yyls; yyps->yyls = yyls;
pv->yylsp = yylsp;]])[ yyps->yylsp = yylsp;]])[
pv->yystacksize = yystacksize; yyps->yystacksize = yystacksize;
pv->yyval = yyval; yyps->yyval = yyval;
]b4_locations_if([pv->yyloc = yyloc;])[ ]b4_locations_if([yyps->yyloc = yyloc;])[
goto yypushreturn; goto yypushreturn;
gottoken:])[ gottoken:])[
YYDPRINTF ((stderr, "Reading a token: ")); YYDPRINTF ((stderr, "Reading a token: "));
@@ -1633,7 +1631,7 @@ yyreturn:
if (yymsg != yymsgbuf) if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg); YYSTACK_FREE (yymsg);
#endif #endif
]b4_push_if([pv->yyresult = YYID (yyresult);])[ ]b4_push_if([yyps->yyresult = YYID (yyresult);])[
/* Make sure YYID is used. */ /* Make sure YYID is used. */
return YYID (yyresult); return YYID (yyresult);
]} ]}
@@ -1680,7 +1678,13 @@ typedef struct YYLTYPE
# define YYLTYPE_IS_TRIVIAL 1 # define YYLTYPE_IS_TRIVIAL 1
#endif #endif
]b4_push_if([struct ]b4_prefix[pvars; ]b4_push_if([struct ]b4_prefix[pstate;
]b4_c_function_decl([]b4_prefix[pstate_init], [struct ]b4_prefix[pstate *], [[void], []])[
]b4_c_function_decl([]b4_prefix[push_parse], [int],
[[struct ]b4_prefix[pstate *]b4_prefix[pstate], []b4_prefix[pstate]],
[[int yynchar], [yynchar]],
[[YYSTYPE *yynlval], [yynlval]]
b4_locations_if([,[[YYLTYPE *yynlloc], [yynlloc]]]))[
enum { YYPUSH_MORE = 4 };])[ enum { YYPUSH_MORE = 4 };])[
]b4_pure_if([], ]b4_pure_if([],
[extern YYLTYPE b4_prefix[]lloc;]) [extern YYLTYPE b4_prefix[]lloc;])

View File

@@ -338,13 +338,13 @@ main (int argc, const char **argv)
[ yydebug = 1;])])[ [ yydebug = 1;])])[
]AT_PUSH_IF([ ]AT_PUSH_IF([
{ {
struct yypvars *ctx = yypvarsinit (); struct yypstate *pstate = yypstate_init ();
YYSTYPE my_lval; YYSTYPE my_lval;
]AT_LOCATION_IF([YYLTYPE my_lloc;])[ ]AT_LOCATION_IF([YYLTYPE my_lloc;])[
do { do {
status = yypushparse (ctx, yylex (&my_lval]AT_LOCATION_IF([[, &my_lloc]])[), &my_lval]AT_LOCATION_IF([[, &my_lloc]])[); status = yypush_parse (pstate, yylex (&my_lval]AT_LOCATION_IF([[, &my_lloc]])[), &my_lval]AT_LOCATION_IF([[, &my_lloc]])[);
} while (status == YYPUSH_MORE); } while (status == YYPUSH_MORE);
free (ctx); free (pstate);
}],[ }],[
status = yyparse (]AT_PARAM_IF([[&result, &count]])[);])[ status = yyparse (]AT_PARAM_IF([[&result, &count]])[);])[
fclose (input); fclose (input);