mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
* data/c.m4: here.
This commit is contained in:
26
data/c.m4
26
data/c.m4
@@ -20,7 +20,7 @@ m4_divert(-1) -*- Autoconf -*-
|
||||
|
||||
|
||||
## ----------- ##
|
||||
## Copuright. ##
|
||||
## Copyright. ##
|
||||
## ----------- ##
|
||||
|
||||
# b4_copyright(TITLE, YEARS)
|
||||
@@ -195,3 +195,27 @@ m4_define([b4_c_knr_arg_decls],
|
||||
|
||||
m4_define([b4_c_knr_arg_decl],
|
||||
[ $1 $2;])
|
||||
|
||||
|
||||
|
||||
## ------------------ ##
|
||||
## Decoding options. ##
|
||||
## ------------------ ##
|
||||
|
||||
|
||||
# b4_location_if(IF-TRUE, IF-FALSE)
|
||||
# ---------------------------------
|
||||
# Expand IF-TRUE, if locations are used, IF-FALSE otherwise.
|
||||
m4_define([b4_location_if],
|
||||
[m4_if(b4_locations_flag, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
|
||||
# b4_pure_if(IF-TRUE, IF-FALSE)
|
||||
# -----------------------------
|
||||
# Expand IF-TRUE, if %pure-parser, IF-FALSE otherwise.
|
||||
m4_define([b4_pure_if],
|
||||
[m4_if(b4_pure, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
46
data/glr.c
46
data/glr.c
@@ -31,6 +31,14 @@ m4_define_default([b4_stack_depth_init], [200])
|
||||
# Location type.
|
||||
m4_define_default([b4_location_type], [yyltype])
|
||||
|
||||
# Accumule in b4_lex_param all the yylex arguments.
|
||||
# Yes, this is quite ugly...
|
||||
m4_define([b4_lex_param],
|
||||
m4_dquote(b4_pure_if([[[[YYSTYPE *]], [[yylvalp]]][]dnl
|
||||
b4_location_if([, [[YYLTYPE *], [yyllocp]]])])dnl
|
||||
m4_ifdef([b4_lex_param], [, ]b4_lex_param)))
|
||||
|
||||
m4_define_default([b4_parse_param])
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
@@ -58,15 +66,6 @@ m4_define([b4_rhs_value],
|
||||
## Locations. ##
|
||||
## ----------- ##
|
||||
|
||||
# b4_location_if(IF-TRUE, IF-FALSE)
|
||||
# ---------------------------------
|
||||
# Expand IF-TRUE, if locations are used, IF-FALSE otherwise.
|
||||
m4_define([b4_location_if],
|
||||
[m4_if(b4_locations_flag, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
|
||||
# b4_lhs_location()
|
||||
# -----------------
|
||||
# Expansion of @$.
|
||||
@@ -83,19 +82,6 @@ m4_define([b4_rhs_location],
|
||||
|
||||
|
||||
|
||||
## -------------- ##
|
||||
## %pure-parser. ##
|
||||
## -------------- ##
|
||||
|
||||
# b4_pure_if(IF-TRUE, IF-FALSE)
|
||||
# -----------------------------
|
||||
# Expand IF-TRUE, if %pure-parser, IF-FALSE otherwise.
|
||||
m4_define([b4_pure_if],
|
||||
[m4_if(b4_pure, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
|
||||
## ------------------- ##
|
||||
## Output file names. ##
|
||||
## ------------------- ##
|
||||
@@ -428,18 +414,10 @@ int yyparse (void);
|
||||
#endif
|
||||
|
||||
/* YYLEX -- calling `yylex' with the right arguments. */
|
||||
#define YYLEX ]b4_c_function_call([yylex], [int], b4_lex_param)[
|
||||
|
||||
]b4_pure_if(
|
||||
[
|
||||
#ifdef YYLEX_PARAM
|
||||
# define YYLEX yylex (yylvalp, b4_location_if([yyllocp, ])YYLEX_PARAM)
|
||||
#else
|
||||
# define YYLEX yylex (yylvalp[]b4_location_if([, yyllocp]))
|
||||
#endif],
|
||||
[#define YYLEX yylex ()])
|
||||
|
||||
b4_pure_if(
|
||||
[
|
||||
#undef yynerrs
|
||||
#define yynerrs (yystack->yyerrcnt)
|
||||
#undef yychar
|
||||
@@ -1712,9 +1690,9 @@ yyparse (YYPARSE_PARAM_ARG)
|
||||
|
||||
while (yytrue)
|
||||
{
|
||||
/* For efficiency, we have two loops, of which the first of which
|
||||
* is specialized to deterministic operation (single stack, no
|
||||
* potential ambiguity). */
|
||||
/* For efficiency, we have two loops, the first of which is
|
||||
specialized to deterministic operation (single stack, no
|
||||
potential ambiguity). */
|
||||
|
||||
/* Standard mode */
|
||||
while (yytrue)
|
||||
|
||||
34
data/yacc.c
34
data/yacc.c
@@ -33,7 +33,12 @@ m4_define_default([b4_stack_depth_init], [200])
|
||||
# Location type.
|
||||
m4_define_default([b4_location_type], [yyltype])
|
||||
|
||||
|
||||
# Accumule in b4_lex_param all the yylex arguments.
|
||||
# Yes, this is quite ugly...
|
||||
m4_define([b4_lex_param],
|
||||
m4_dquote(b4_pure_if([[[[YYSTYPE *]], [[&yylval]]][]dnl
|
||||
b4_location_if([, [[YYLTYPE *], [&yylloc]]])])dnl
|
||||
m4_ifdef([b4_lex_param], [, ]b4_lex_param)))
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
@@ -61,15 +66,6 @@ m4_define([b4_rhs_value],
|
||||
## Locations. ##
|
||||
## ----------- ##
|
||||
|
||||
# b4_location_if(IF-TRUE, IF-FALSE)
|
||||
# ---------------------------------
|
||||
# Expand IF-TRUE, if locations are used, IF-FALSE otherwise.
|
||||
m4_define([b4_location_if],
|
||||
[m4_if(b4_locations_flag, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
|
||||
# b4_lhs_location()
|
||||
# -----------------
|
||||
# Expansion of @$.
|
||||
@@ -86,19 +82,6 @@ m4_define([b4_rhs_location],
|
||||
|
||||
|
||||
|
||||
## -------------- ##
|
||||
## %pure-parser. ##
|
||||
## -------------- ##
|
||||
|
||||
# b4_pure_if(IF-TRUE, IF-FALSE)
|
||||
# -----------------------------
|
||||
# Expand IF-TRUE, if %pure-parser, IF-FALSE otherwise.
|
||||
m4_define([b4_pure_if],
|
||||
[m4_if(b4_pure, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
|
||||
## ------------------- ##
|
||||
## Output file names. ##
|
||||
## ------------------- ##
|
||||
@@ -530,10 +513,7 @@ while (0)
|
||||
#ifdef YYLEX_PARAM
|
||||
# define YYLEX yylex (b4_pure_if([&yylval[]b4_location_if([, &yylloc]), ])YYLEX_PARAM)
|
||||
#else
|
||||
# define YYLEX b4_c_function_call([yylex], [int],
|
||||
b4_pure_if([[[[]], [[&yylval]]],
|
||||
b4_location_if([[[], [&yylloc]],])])
|
||||
m4_fst(b4_lex_param))
|
||||
# define YYLEX b4_c_function_call([yylex], [int], b4_lex_param)
|
||||
#endif
|
||||
|
||||
/* Enable debugging if requested. */
|
||||
|
||||
Reference in New Issue
Block a user