[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/7] glr.cc: don't "leak" yyparse
From: |
Akim Demaille |
Subject: |
[PATCH 1/7] glr.cc: don't "leak" yyparse |
Date: |
Sat, 5 Dec 2020 11:30:51 +0100 |
When using glr.cc, the C function yyparse is an internal detail that
should not be exposed. Users might call it by accident (I did).
* data/skeletons/glr.c (yyparse): When used for glr.cc, rename as yy_parse_impl.
* data/skeletons/glr.cc: Adjust.
---
data/skeletons/glr.c | 4 ++--
data/skeletons/glr.cc | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/data/skeletons/glr.c b/data/skeletons/glr.c
index f1594b2f..f54d25c7 100644
--- a/data/skeletons/glr.c
+++ b/data/skeletons/glr.c
@@ -217,7 +217,7 @@ b4_copyright([Skeleton implementation for Bison GLR parsers
in C],
#define YYLTYPE ]b4_api_PREFIX[LTYPE]])])[
]m4_if(b4_prefix, [yy], [],
[[/* Substitute the variable and function names. */
-#define yyparse ]b4_prefix[parse
+#define ]b4_glr_cc_if([yy_parse_impl], [yyparse])[
]b4_prefix[]b4_glr_cc_if([_parse_impl], [parse])[
#define yylex ]b4_prefix[lex
#define yyerror ]b4_prefix[error
#define yydebug ]b4_prefix[debug]]b4_pure_if([], [[
@@ -2422,7 +2422,7 @@ yyrecoverSyntaxError (yyGLRStack*
yystackp]b4_user_formals[)
`----------*/
int
-yyparse (]m4_ifset([b4_parse_param], [b4_formals(b4_parse_param)], [void])[)
+]b4_glr_cc_if([yy_parse_impl], [yyparse])[ (]m4_ifset([b4_parse_param],
[b4_formals(b4_parse_param)], [void])[)
{
int yyresult;
yyGLRStack yystack;
diff --git a/data/skeletons/glr.cc b/data/skeletons/glr.cc
index 9677ea57..2dcff7e5 100644
--- a/data/skeletons/glr.cc
+++ b/data/skeletons/glr.cc
@@ -144,7 +144,7 @@ m4_pushdef([b4_parse_param],
m4_defn([b4_parse_param_orig]))dnl
int
]b4_parser_class[::parse ()
{
- return ::yyparse (*this]b4_user_args[);
+ return ::yy_parse_impl (*this]b4_user_args[);
}
#if ]b4_api_PREFIX[DEBUG
--
2.29.2
- [PATCH 0/7] tests: glr: run the glr regression tests with glr.cc, Akim Demaille, 2020/12/05
- [PATCH 1/7] glr.cc: don't "leak" yyparse,
Akim Demaille <=
- [PATCH 2/7] tests: formatting changes, Akim Demaille, 2020/12/05
- [PATCH 3/7] tests: factor the access to token kinds, Akim Demaille, 2020/12/05
- [PATCH 4/7] tests: glr: prefer directives to warnings, Akim Demaille, 2020/12/05
- [PATCH 5/7] tests: glr: use AT_FULL_COMPILE, Akim Demaille, 2020/12/05
- [PATCH 6/7] tests: glr: prepare for more languages, Akim Demaille, 2020/12/05
- [PATCH 7/7] tests: glr: run the glr regression tests with glr.cc, Akim Demaille, 2020/12/05