mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-19 09:13: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:
@@ -1,3 +1,8 @@
|
|||||||
|
2002-10-20 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
|
||||||
|
* data/c.m4: here.
|
||||||
|
|
||||||
2002-10-20 Akim Demaille <akim@epita.fr>
|
2002-10-20 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* src/output.c (prepare): Use MUSCLE_INSERT_STRING.
|
* src/output.c (prepare): Use MUSCLE_INSERT_STRING.
|
||||||
|
|||||||
26
data/c.m4
26
data/c.m4
@@ -20,7 +20,7 @@ m4_divert(-1) -*- Autoconf -*-
|
|||||||
|
|
||||||
|
|
||||||
## ----------- ##
|
## ----------- ##
|
||||||
## Copuright. ##
|
## Copyright. ##
|
||||||
## ----------- ##
|
## ----------- ##
|
||||||
|
|
||||||
# b4_copyright(TITLE, YEARS)
|
# b4_copyright(TITLE, YEARS)
|
||||||
@@ -195,3 +195,27 @@ m4_define([b4_c_knr_arg_decls],
|
|||||||
|
|
||||||
m4_define([b4_c_knr_arg_decl],
|
m4_define([b4_c_knr_arg_decl],
|
||||||
[ $1 $2;])
|
[ $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.
|
# Location type.
|
||||||
m4_define_default([b4_location_type], [yyltype])
|
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. ##
|
## 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()
|
# b4_lhs_location()
|
||||||
# -----------------
|
# -----------------
|
||||||
# Expansion of @$.
|
# 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. ##
|
## Output file names. ##
|
||||||
## ------------------- ##
|
## ------------------- ##
|
||||||
@@ -428,18 +414,10 @@ int yyparse (void);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* YYLEX -- calling `yylex' with the right arguments. */
|
/* YYLEX -- calling `yylex' with the right arguments. */
|
||||||
|
#define YYLEX ]b4_c_function_call([yylex], [int], b4_lex_param)[
|
||||||
|
|
||||||
]b4_pure_if(
|
]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
|
#undef yynerrs
|
||||||
#define yynerrs (yystack->yyerrcnt)
|
#define yynerrs (yystack->yyerrcnt)
|
||||||
#undef yychar
|
#undef yychar
|
||||||
@@ -1712,9 +1690,9 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
|
|
||||||
while (yytrue)
|
while (yytrue)
|
||||||
{
|
{
|
||||||
/* For efficiency, we have two loops, of which the first of which
|
/* For efficiency, we have two loops, the first of which is
|
||||||
* is specialized to deterministic operation (single stack, no
|
specialized to deterministic operation (single stack, no
|
||||||
* potential ambiguity). */
|
potential ambiguity). */
|
||||||
|
|
||||||
/* Standard mode */
|
/* Standard mode */
|
||||||
while (yytrue)
|
while (yytrue)
|
||||||
|
|||||||
34
data/yacc.c
34
data/yacc.c
@@ -33,7 +33,12 @@ m4_define_default([b4_stack_depth_init], [200])
|
|||||||
# Location type.
|
# Location type.
|
||||||
m4_define_default([b4_location_type], [yyltype])
|
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. ##
|
## 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()
|
# b4_lhs_location()
|
||||||
# -----------------
|
# -----------------
|
||||||
# Expansion of @$.
|
# 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. ##
|
## Output file names. ##
|
||||||
## ------------------- ##
|
## ------------------- ##
|
||||||
@@ -530,10 +513,7 @@ while (0)
|
|||||||
#ifdef YYLEX_PARAM
|
#ifdef YYLEX_PARAM
|
||||||
# define YYLEX yylex (b4_pure_if([&yylval[]b4_location_if([, &yylloc]), ])YYLEX_PARAM)
|
# define YYLEX yylex (b4_pure_if([&yylval[]b4_location_if([, &yylloc]), ])YYLEX_PARAM)
|
||||||
#else
|
#else
|
||||||
# define YYLEX b4_c_function_call([yylex], [int],
|
# define YYLEX b4_c_function_call([yylex], [int], b4_lex_param)
|
||||||
b4_pure_if([[[[]], [[&yylval]]],
|
|
||||||
b4_location_if([[[], [&yylloc]],])])
|
|
||||||
m4_fst(b4_lex_param))
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Enable debugging if requested. */
|
/* Enable debugging if requested. */
|
||||||
|
|||||||
@@ -237,8 +237,8 @@ yylex (LEX_FORMALS)
|
|||||||
{
|
{
|
||||||
init = 0;
|
init = 0;
|
||||||
#if YYLSP_NEEDED
|
#if YYLSP_NEEDED
|
||||||
yylloc.last_column = 1;
|
LOC.last_column = 1;
|
||||||
yylloc.last_line = 1;
|
LOC.last_line = 1;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -536,3 +536,5 @@ AT_CHECK_CALC_GLR([%error-verbose %locations --defines --name-prefix=calc --verb
|
|||||||
|
|
||||||
AT_CHECK_CALC_GLR([%debug])
|
AT_CHECK_CALC_GLR([%debug])
|
||||||
AT_CHECK_CALC_GLR([%error-verbose %debug %locations --defines --name-prefix=calc --verbose --yacc])
|
AT_CHECK_CALC_GLR([%error-verbose %debug %locations --defines --name-prefix=calc --verbose --yacc])
|
||||||
|
|
||||||
|
# AT_CHECK_CALC_GLR([%pure-parser %error-verbose %debug %locations --defines --name-prefix=calc --verbose --yacc])
|
||||||
|
|||||||
Reference in New Issue
Block a user