[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/7] skel: better aliasing of identifiers
From: |
Theophile Ranquet |
Subject: |
[PATCH 3/7] skel: better aliasing of identifiers |
Date: |
Fri, 11 Jan 2013 13:28:11 +0100 |
* data/glr.c, data/yacc.c: Avoid emitting useless defines.
* data/glr.cc: Restore prefixes for epilogue.
---
data/glr.c | 22 ++++++++++++++++++++--
data/glr.cc | 18 ++++++++++++++++++
data/yacc.c | 9 +++++----
3 files changed, 43 insertions(+), 6 deletions(-)
diff --git a/data/glr.c b/data/glr.c
index 106b95a..c2dc4c9 100644
--- a/data/glr.c
+++ b/data/glr.c
@@ -196,11 +196,12 @@ b4_percent_code_get([[top]])[
#define yyparse ]b4_prefix[parse
#define yylex ]b4_prefix[lex
#define yyerror ]b4_prefix[error
+#define yydebug ]b4_prefix[debug
+]]b4_pure_if([], [[
#define yylval ]b4_prefix[lval
#define yychar ]b4_prefix[char
-#define yydebug ]b4_prefix[debug
#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])])[
+#define yylloc ]b4_prefix[lloc]])]))[
/* First part of user declarations. */
]b4_user_pre_prologue[
@@ -2543,6 +2544,23 @@ yypdumpstack (yyGLRStack* yystackp)
YYFPRINTF (stderr, "\n");
}
#endif
+
+#undef yylval
+#undef yychar
+#undef yynerrs]b4_locations_if([
+#undef yylloc])
+
+m4_if(b4_prefix, [yy], [],
+[[/* Substitute the variable and function names. */
+#define yyparse ]b4_prefix[parse
+#define yylex ]b4_prefix[lex
+#define yyerror ]b4_prefix[error
+#define yylval ]b4_prefix[lval
+#define yychar ]b4_prefix[char
+#define yydebug ]b4_prefix[debug
+#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
+#define yylloc ]b4_prefix[lloc]])])[
+
]b4_epilogue[]dnl
b4_output_end()
diff --git a/data/glr.cc b/data/glr.cc
index 0d7e03a..5d8e481 100644
--- a/data/glr.cc
+++ b/data/glr.cc
@@ -128,10 +128,28 @@ m4_defn([b4_initial_action])]))])[
[[const char* msg], [msg]])])
+#undef yynerrs
+#undef yychar
+#undef yylval]b4_locations_if([
+#undef yylloc])
+
+m4_if(b4_prefix, [yy], [],
+[[/* Substitute the variable and function names. */
+#define yyparse ]b4_prefix[parse
+#define yylex ]b4_prefix[lex
+#define yyerror ]b4_prefix[error
+#define yydebug ]b4_prefix[debug
+]]b4_pure_if([], [[
+#define yylval ]b4_prefix[lval
+#define yychar ]b4_prefix[char
+#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
+#define yylloc ]b4_prefix[lloc]])]))
+
# Hijack the epilogue to define implementations (yyerror, parser member
# functions etc.).
m4_append([b4_epilogue],
[b4_syncline(address@hidden@], address@hidden@])[
+
/*------------------.
| Report an error. |
`------------------*/
diff --git a/data/yacc.c b/data/yacc.c
index 9b227ae..4e59024 100644
--- a/data/yacc.c
+++ b/data/yacc.c
@@ -346,11 +346,12 @@ m4_if(b4_api_prefix, [yy], [],
#define yypstate ]b4_prefix[pstate]])[
#define yylex ]b4_prefix[lex
#define yyerror ]b4_prefix[error
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char
#define yydebug ]b4_prefix[debug
-#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])])[
+#define yynerrs ]b4_prefix[nerrs
+]]b4_pure_if([], [[
+#define yylval ]b4_prefix[lval
+#define yychar ]b4_prefix[char]b4_locations_if([[
+#define yylloc ]b4_prefix[lloc]])]))[
/* Copy the first part of user declarations. */
]b4_user_pre_prologue[
--
1.8.1
- [PATCH 0/7] other skeletal changes, Theophile Ranquet, 2013/01/11
- [PATCH 1/7] skel: correctly indent switch cases, Theophile Ranquet, 2013/01/11
- [PATCH 4/7] c.m4: style fix, Theophile Ranquet, 2013/01/11
- [PATCH 6/7] glr.c: fix an unused argument issue, Theophile Ranquet, 2013/01/11
- [PATCH 5/7] glr.c: style changes, Theophile Ranquet, 2013/01/11
- [PATCH 3/7] skel: better aliasing of identifiers,
Theophile Ranquet <=
- [PATCH 2/7] glr.cc: fatal if using api.token.ctor without variants, Theophile Ranquet, 2013/01/11
- [PATCH 7/7] c++: privatize variant blind copies, Theophile Ranquet, 2013/01/11