c: rename yyexpected_tokens as yypcontext_expected_tokens

The user should think of yypcontext fields as accessible only via
yypcontext_* functions.  So let's rename yyexpected_tokens to reflect
that.

Let's _not_ rename yyreport_syntax_error, as the user may define this
function, and is not allowed to access directly the fields of
yypcontext_t: she *must* use the "accessors".  This is comparable to
the case of C++/Java where the user defines
parser::report_syntax_error, not parser::context::report_syntax_error.

* data/skeletons/glr.c, data/skeletons/yacc.c (yyexpected_tokens):
Rename as...
(yypcontext_expected_tokens): this.
Adjust dependencies.
This commit is contained in:
Akim Demaille
2020-04-12 16:46:51 +02:00
parent ffa46e6516
commit 5839f4d289
7 changed files with 19 additions and 17 deletions

2
NEWS
View File

@@ -46,7 +46,7 @@ GNU Bison NEWS
{ {
enum { TOKENMAX = 10 }; enum { TOKENMAX = 10 };
yysymbol_kind_t expected[TOKENMAX]; yysymbol_kind_t expected[TOKENMAX];
int n = yyexpected_tokens (ctx, expected, TOKENMAX); int n = yypcontext_expected_tokens (ctx, expected, TOKENMAX);
if (n < 0) if (n < 0)
// Forward errors to yyparse. // Forward errors to yyparse.
res = n; res = n;

View File

@@ -2088,8 +2088,8 @@ yyprocessOneStack (yyGLRStack* yystackp, ptrdiff_t yyk,
YYARG is null, return the number of expected tokens (guaranteed to YYARG is null, return the number of expected tokens (guaranteed to
be less than YYNTOKENS). */ be less than YYNTOKENS). */
static int static int
yyexpected_tokens (const yyGLRStack* yystackp, yypcontext_expected_tokens (const yyGLRStack* yystackp,
yysymbol_kind_t yyarg[], int yyargn) yysymbol_kind_t yyarg[], int yyargn)
{ {
/* Actual size of YYARG. */ /* Actual size of YYARG. */
int yycount = 0; int yycount = 0;
@@ -2190,7 +2190,8 @@ yy_syntax_error_arguments (const yyGLRStack* yystackp,
if (yyarg) if (yyarg)
yyarg[yycount] = yytoken; yyarg[yycount] = yytoken;
++yycount; ++yycount;
yyn = yyexpected_tokens (yystackp, yyarg ? yyarg + 1 : yyarg, yyargn - 1); yyn = yypcontext_expected_tokens (yystackp,
yyarg ? yyarg + 1 : yyarg, yyargn - 1);
if (yyn == YYENOMEM) if (yyn == YYENOMEM)
return YYENOMEM; return YYENOMEM;
else else

View File

@@ -1140,8 +1140,8 @@ static int
yypstate_expected_tokens (yypstate *yyps, yypstate_expected_tokens (yypstate *yyps,
yysymbol_kind_t yyarg[], int yyargn)]], [[ yysymbol_kind_t yyarg[], int yyargn)]], [[
static int static int
yyexpected_tokens (const yypcontext_t *yyctx, yypcontext_expected_tokens (const yypcontext_t *yyctx,
yysymbol_kind_t yyarg[], int yyargn)]])[ yysymbol_kind_t yyarg[], int yyargn)]])[
{ {
/* Actual size of YYARG. */ /* Actual size of YYARG. */
int yycount = 0; int yycount = 0;
@@ -1196,8 +1196,8 @@ yyexpected_tokens (const yypcontext_t *yyctx,
]b4_push_if([[ ]b4_push_if([[
/* Similar to the previous function. */ /* Similar to the previous function. */
static int static int
yyexpected_tokens (const yypcontext_t *yyctx, yypcontext_expected_tokens (const yypcontext_t *yyctx,
yysymbol_kind_t yyarg[], int yyargn) yysymbol_kind_t yyarg[], int yyargn)
{ {
return yypstate_expected_tokens (yyctx->yyps, yyarg, yyargn); return yypstate_expected_tokens (yyctx->yyps, yyarg, yyargn);
}]])[ }]])[
@@ -1359,7 +1359,8 @@ yy_syntax_error_arguments (const yypcontext_t *yyctx,
if (yyarg) if (yyarg)
yyarg[yycount] = yyctx->yytoken; yyarg[yycount] = yyctx->yytoken;
++yycount; ++yycount;
yyn = yyexpected_tokens (yyctx, yyarg ? yyarg + 1 : yyarg, yyargn - 1); yyn = yypcontext_expected_tokens (yyctx,
yyarg ? yyarg + 1 : yyarg, yyargn - 1);
if (yyn == YYENOMEM) if (yyn == YYENOMEM)
return YYENOMEM;]b4_lac_if([[ return YYENOMEM;]b4_lac_if([[
else if (yyn == 0) else if (yyn == 0)
@@ -1513,8 +1514,8 @@ void
yypstate_clear (yypstate *yyps) yypstate_clear (yypstate *yyps)
{ {
]b4_initialize_parser_state_variables[ ]b4_initialize_parser_state_variables[
/* Initialize the state stack, in case yyexpected_tokens is called /* Initialize the state stack, in case yypcontext_expected_tokens is
before the first call to yyparse. */ called before the first call to yyparse. */
*yyssp = 0; *yyssp = 0;
} }

View File

@@ -290,7 +290,7 @@ yyreport_syntax_error (const yypcontext_t *ctx)
{ {
enum { TOKENMAX = 10 }; enum { TOKENMAX = 10 };
yysymbol_kind_t expected[TOKENMAX]; yysymbol_kind_t expected[TOKENMAX];
int n = yyexpected_tokens (ctx, expected, TOKENMAX); int n = yypcontext_expected_tokens (ctx, expected, TOKENMAX);
if (n < 0) if (n < 0)
// Forward errors to yyparse. // Forward errors to yyparse.
res = n; res = n;

View File

@@ -1597,8 +1597,8 @@ typedef struct
Return 0 if there are more than YYARGN expected tokens, yet fill Return 0 if there are more than YYARGN expected tokens, yet fill
YYARG up to YYARGN. */ YYARG up to YYARGN. */
static int static int
yyexpected_tokens (const yypcontext_t *yyctx, yypcontext_expected_tokens (const yypcontext_t *yyctx,
yysymbol_kind_t yyarg[], int yyargn) yysymbol_kind_t yyarg[], int yyargn)
{ {
/* Actual size of YYARG. */ /* Actual size of YYARG. */
int yycount = 0; int yycount = 0;
@@ -2807,7 +2807,7 @@ yyreport_syntax_error (const yypcontext_t *ctx)
{ {
argv[argc++] = yysymbol_name (unexpected); argv[argc++] = yysymbol_name (unexpected);
yysymbol_kind_t expected[ARGS_MAX - 1]; yysymbol_kind_t expected[ARGS_MAX - 1];
int nexpected = yyexpected_tokens (ctx, expected, ARGS_MAX - 1); int nexpected = yypcontext_expected_tokens (ctx, expected, ARGS_MAX - 1);
if (nexpected < 0) if (nexpected < 0)
res = nexpected; res = nexpected;
else else

View File

@@ -811,7 +811,7 @@ yyreport_syntax_error (const yypcontext_t *ctx)
{ {
argv[argc++] = yysymbol_name (unexpected); argv[argc++] = yysymbol_name (unexpected);
yysymbol_kind_t expected[ARGS_MAX - 1]; yysymbol_kind_t expected[ARGS_MAX - 1];
int nexpected = yyexpected_tokens (ctx, expected, ARGS_MAX - 1); int nexpected = yypcontext_expected_tokens (ctx, expected, ARGS_MAX - 1);
if (nexpected < 0) if (nexpected < 0)
res = nexpected; res = nexpected;
else else

View File

@@ -646,7 +646,7 @@ yyreport_syntax_error (const yypcontext_t *ctx]AT_PARAM_IF([, AT_PARSE_PARAMS])[
{ {
enum { TOKENMAX = 10 }; enum { TOKENMAX = 10 };
yysymbol_kind_t expected[TOKENMAX]; yysymbol_kind_t expected[TOKENMAX];
int n = yyexpected_tokens (ctx, expected, TOKENMAX); int n = yypcontext_expected_tokens (ctx, expected, TOKENMAX);
/* Forward errors to yyparse. */ /* Forward errors to yyparse. */
if (n <= 0) if (n <= 0)
res = n; res = n;