bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

c: rename yyparse_context_t as yypcontext_t


From: Akim Demaille
Subject: c: rename yyparse_context_t as yypcontext_t
Date: Sun, 5 Apr 2020 08:54:38 +0200

commit 76e11b5a3e1737b20110ba367c6a55c1b5df031a
Author: Akim Demaille <address@hidden>
Date:   Sat Apr 4 18:17:48 2020 +0200

    c: rename yyparse_context_t as yypcontext_t
    
    The first name is too long.  We already have `yypstate`, so
    `yypcontext` is ok.  We are also migrating to using `*_t` for our
    types.
    
    * NEWS, data/skeletons/glr.c, data/skeletons/yacc.c, doc/bison.texi,
    * examples/c/bistromathic/parse.y, src/parse-gram.y, tests/local.at:
    (yyparse_context_t, yyparse_context_location, yyparse_context_token):
    Rename as...
    (yypcontext_t, yypcontext_location, yypcontext_token): these.

diff --git a/NEWS b/NEWS
index 8287f735..8c146fe9 100644
--- a/NEWS
+++ b/NEWS
@@ -37,14 +37,14 @@ GNU Bison NEWS
   herself by defining a function such as:
 
     int
-    yyreport_syntax_error (const yyparse_context_t *ctx)
+    yyreport_syntax_error (const yypcontext_t *ctx)
     {
       enum { ARGMAX = 10 };
       int arg[ARGMAX];
       int n = yysyntax_error_arguments (ctx, arg, ARGMAX);
       if (n == -2)
         return 2; // Memory exhausted.
-      YY_LOCATION_PRINT (stderr, *yyparse_context_location (ctx));
+      YY_LOCATION_PRINT (stderr, *yypcontext_location (ctx));
       fprintf (stderr, ": syntax error");
       for (int i = 1; i < n; ++i)
         fprintf (stderr, " %s %s",
diff --git a/data/skeletons/glr.c b/data/skeletons/glr.c
index 06b47fe9..9307b04e 100644
--- a/data/skeletons/glr.c
+++ b/data/skeletons/glr.c
@@ -2123,16 +2123,16 @@ yyexpected_tokens (const yyGLRStack* yystackp,
 ]b4_parse_error_bmatch(
          [custom],
 [[/* User defined function to report a syntax error.  */
-typedef yyGLRStack yyparse_context_t;
+typedef yyGLRStack yypcontext_t;
 static int
 yyreport_syntax_error (const yyGLRStack* yystackp]b4_user_formals[);
 
 /* The token type of the lookahead of this context.  */
 static yysymbol_type_t
-yyparse_context_token (const yyGLRStack *yystackp) YY_ATTRIBUTE_UNUSED;
+yypcontext_token (const yyGLRStack *yystackp) YY_ATTRIBUTE_UNUSED;
 
 static yysymbol_type_t
-yyparse_context_token (const yyGLRStack *yystackp)
+yypcontext_token (const yyGLRStack *yystackp)
 {
   YYUSE (yystackp);
   yysymbol_type_t yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE 
(yychar);
@@ -2141,10 +2141,10 @@ yyparse_context_token (const yyGLRStack *yystackp)
 
 ]b4_locations_if([[/* The location of the lookahead of this context.  */
 static YYLTYPE *
-yyparse_context_location (const yyGLRStack *yystackp) YY_ATTRIBUTE_UNUSED;
+yypcontext_location (const yyGLRStack *yystackp) YY_ATTRIBUTE_UNUSED;
 
 static YYLTYPE *
-yyparse_context_location (const yyGLRStack *yystackp)
+yypcontext_location (const yyGLRStack *yystackp)
 {
   YYUSE (yystackp);
   return &yylloc;
diff --git a/data/skeletons/yacc.c b/data/skeletons/yacc.c
index d1460b4a..e4cd872b 100644
--- a/data/skeletons/yacc.c
+++ b/data/skeletons/yacc.c
@@ -1132,7 +1132,7 @@ typedef struct
   YYPTRDIFF_T *yyes_capacity;]])])[
   yysymbol_type_t yytoken;]b4_locations_if([[
   YYLTYPE *yylloc;]])[
-} yyparse_context_t;
+} yypcontext_t;
 
 /* Put in YYARG at most YYARGN of the expected tokens given the
    current YYCTX, and return the number of tokens stored in YYARG.  If
@@ -1144,7 +1144,7 @@ static int
 yypstate_expected_tokens (yypstate *yyps,
                           yysymbol_type_t yyarg[], int yyargn)]], [[
 static int
-yyexpected_tokens (const yyparse_context_t *yyctx,
+yyexpected_tokens (const yypcontext_t *yyctx,
                    yysymbol_type_t yyarg[], int yyargn)]])[
 {
   /* Actual size of YYARG. */
@@ -1200,7 +1200,7 @@ yyexpected_tokens (const yyparse_context_t *yyctx,
 ]b4_push_if([[
 /* Similar to the previous function.  */
 static int
-yyexpected_tokens (const yyparse_context_t *yyctx,
+yyexpected_tokens (const yypcontext_t *yyctx,
                    yysymbol_type_t yyarg[], int yyargn)
 {
   return yypstate_expected_tokens (yyctx->yyps, yyarg, yyargn);
@@ -1211,27 +1211,27 @@ yyexpected_tokens (const yyparse_context_t *yyctx,
          [custom],
 [[/* The token type of the lookahead of this context.  */
 static yysymbol_type_t
-yyparse_context_token (const yyparse_context_t *yyctx) YY_ATTRIBUTE_UNUSED;
+yypcontext_token (const yypcontext_t *yyctx) YY_ATTRIBUTE_UNUSED;
 
 static yysymbol_type_t
-yyparse_context_token (const yyparse_context_t *yyctx)
+yypcontext_token (const yypcontext_t *yyctx)
 {
   return yyctx->yytoken;
 }
 
 ]b4_locations_if([[/* The location of the lookahead of this context.  */
 static YYLTYPE *
-yyparse_context_location (const yyparse_context_t *yyctx) YY_ATTRIBUTE_UNUSED;
+yypcontext_location (const yypcontext_t *yyctx) YY_ATTRIBUTE_UNUSED;
 
 static YYLTYPE *
-yyparse_context_location (const yyparse_context_t *yyctx)
+yypcontext_location (const yypcontext_t *yyctx)
 {
   return yyctx->yylloc;
 }]])[
 
 /* User defined function to report a syntax error.  */
 static int
-yyreport_syntax_error (const yyparse_context_t *yyctx]b4_user_formals[);]],
+yyreport_syntax_error (const yypcontext_t *yyctx]b4_user_formals[);]],
          [detailed\|verbose],
 [[#ifndef yystrlen
 # if defined __GLIBC__ && defined _STRING_H
@@ -1323,7 +1323,7 @@ yytnamerr (char *yyres, const char *yystr)
 ]])[
 
 static int
-yysyntax_error_arguments (const yyparse_context_t *yyctx,
+yysyntax_error_arguments (const yypcontext_t *yyctx,
                           yysymbol_type_t yyarg[], int yyargn)
 {
   /* Actual size of YYARG. */
@@ -1384,7 +1384,7 @@ yysyntax_error_arguments (const yyparse_context_t *yyctx,
    yy_lac returned YYNOMEM]])[.  */
 static int
 yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
-                const yyparse_context_t *yyctx)
+                const yypcontext_t *yyctx)
 {
   enum { YYARGS_MAX = 5 };
   /* Internationalized format string. */
@@ -1906,7 +1906,7 @@ yyerrlab:
 ]b4_parse_error_case(
          [custom],
 [[      {
-        yyparse_context_t yyctx
+        yypcontext_t yyctx
           = {]b4_push_if([[yyps]], [[yyssp]b4_lac_if([[, yyesa, &yyes, 
&yyes_capacity]])])[, yytoken]b4_locations_if([[, &yylloc]])[};]b4_lac_if([[
         if (yychar != YYEMPTY)
           YY_LAC_ESTABLISH;]])[
@@ -1917,7 +1917,7 @@ yyerrlab:
          [simple],
 [[      yyerror (]b4_yyerror_args[YY_("syntax error"));]],
 [[      {
-        yyparse_context_t yyctx
+        yypcontext_t yyctx
           = {]b4_push_if([[yyps]], [[yyssp]b4_lac_if([[, yyesa, &yyes, 
&yyes_capacity]])])[, yytoken]b4_locations_if([[, &yylloc]])[};
         char const *yymsgp = YY_("syntax error");
         int yysyntax_error_status;]b4_lac_if([[
diff --git a/doc/bison.texi b/doc/bison.texi
index 643c6107..1e205a48 100644
--- a/doc/bison.texi
+++ b/doc/bison.texi
@@ -7396,19 +7396,19 @@ Declarations}), then the parser no longer passes syntax 
error messages to
 @code{yyerror}, rather it leaves that task to the user by calling the
 @code{yyreport_syntax_error} function.
 
-@deftypefun int yyreport_syntax_error (@code{const yyparse_context_t 
*}@var{ctx})
+@deftypefun int yyreport_syntax_error (@code{const yypcontext_t *}@var{ctx})
 Report a syntax error to the user.  Return 0 on success, 2 on memory
 exhaustion.  Whether it uses @code{yyerror} is up to the user.
 @end deftypefun
 
 Use the following functions to build the error message.
 
-@deftypefun {YYLTYPE *} yyparse_context_location (@code{const 
yyparse_context_t *}@var{ctx})
+@deftypefun {YYLTYPE *} yypcontext_location (@code{const yypcontext_t 
*}@var{ctx})
 The location of the syntax error.
 @end deftypefun
 
 
-@deftypefun int yysyntax_error_arguments (@code{const yyparse_context_t *}ctx, 
@code{int} @var{argv}@code{[]}, @code{int} @var{argc})
+@deftypefun int yysyntax_error_arguments (@code{const yypcontext_t *}ctx, 
@code{int} @var{argv}@code{[]}, @code{int} @var{argc})
 Fill @var{argv} with first the internal number of the token that caused the
 error, then the internal numbers of the expected tokens.  Never put more
 than @var{argc} elements into @var{argv}, and on success return the
@@ -7428,7 +7428,7 @@ A custom syntax error function looks as follows.
 
 @example
 int
-yyreport_syntax_error (const yyparse_context_t *ctx)
+yyreport_syntax_error (const yypcontext_t *ctx)
 @{
   enum @{ ARGMAX = 10 @};
   int arg[ARGMAX];
diff --git a/examples/c/bistromathic/parse.y b/examples/c/bistromathic/parse.y
index a5d15694..74f4d3f7 100644
--- a/examples/c/bistromathic/parse.y
+++ b/examples/c/bistromathic/parse.y
@@ -282,10 +282,10 @@ yylex (const char **line, YYSTYPE *yylval, YYLTYPE 
*yylloc)
 `---------*/
 
 int
-yyreport_syntax_error (const yyparse_context_t *ctx)
+yyreport_syntax_error (const yypcontext_t *ctx)
 {
   int res = 0;
-  YY_LOCATION_PRINT (stderr, *yyparse_context_location (ctx));
+  YY_LOCATION_PRINT (stderr, *yypcontext_location (ctx));
   fprintf (stderr, ": syntax error");
   {
     enum { TOKENMAX = 10 };
@@ -300,7 +300,7 @@ yyreport_syntax_error (const yyparse_context_t *ctx)
                  i == 0 ? ": expected" : " or", yysymbol_name (expected[i]));
   }
   {
-    yysymbol_type_t lookahead = yyparse_context_token (ctx);
+    yysymbol_type_t lookahead = yypcontext_token (ctx);
     if (lookahead != YYEMPTY)
       fprintf (stderr, " before %s", yysymbol_name (lookahead));
   }
diff --git a/src/parse-gram.c b/src/parse-gram.c
index 069e667e..808dffd3 100644
--- a/src/parse-gram.c
+++ b/src/parse-gram.c
@@ -1592,7 +1592,7 @@ typedef struct
   YYPTRDIFF_T *yyes_capacity;
   yysymbol_type_t yytoken;
   YYLTYPE *yylloc;
-} yyparse_context_t;
+} yypcontext_t;
 
 /* Put in YYARG at most YYARGN of the expected tokens given the
    current YYCTX, and return the number of tokens stored in YYARG.  If
@@ -1601,7 +1601,7 @@ typedef struct
    Return 0 if there are more than YYARGN expected tokens, yet fill
    YYARG up to YYARGN. */
 static int
-yyexpected_tokens (const yyparse_context_t *yyctx,
+yyexpected_tokens (const yypcontext_t *yyctx,
                    yysymbol_type_t yyarg[], int yyargn)
 {
   /* Actual size of YYARG. */
@@ -1635,27 +1635,27 @@ yyexpected_tokens (const yyparse_context_t *yyctx,
 
 /* The token type of the lookahead of this context.  */
 static yysymbol_type_t
-yyparse_context_token (const yyparse_context_t *yyctx) YY_ATTRIBUTE_UNUSED;
+yypcontext_token (const yypcontext_t *yyctx) YY_ATTRIBUTE_UNUSED;
 
 static yysymbol_type_t
-yyparse_context_token (const yyparse_context_t *yyctx)
+yypcontext_token (const yypcontext_t *yyctx)
 {
   return yyctx->yytoken;
 }
 
 /* The location of the lookahead of this context.  */
 static YYLTYPE *
-yyparse_context_location (const yyparse_context_t *yyctx) YY_ATTRIBUTE_UNUSED;
+yypcontext_location (const yypcontext_t *yyctx) YY_ATTRIBUTE_UNUSED;
 
 static YYLTYPE *
-yyparse_context_location (const yyparse_context_t *yyctx)
+yypcontext_location (const yypcontext_t *yyctx)
 {
   return yyctx->yylloc;
 }
 
 /* User defined function to report a syntax error.  */
 static int
-yyreport_syntax_error (const yyparse_context_t *yyctx);
+yyreport_syntax_error (const yypcontext_t *yyctx);
 
 /*-----------------------------------------------.
 | Release the memory associated to this symbol.  |
@@ -2630,7 +2630,7 @@ yyerrlab:
     {
       ++yynerrs;
       {
-        yyparse_context_t yyctx
+        yypcontext_t yyctx
           = {yyssp, yyesa, &yyes, &yyes_capacity, yytoken, &yylloc};
         if (yychar != YYEMPTY)
           YY_LAC_ESTABLISH;
@@ -2798,7 +2798,7 @@ yyreturn:
 
 
 int
-yyreport_syntax_error (const yyparse_context_t *ctx)
+yyreport_syntax_error (const yypcontext_t *ctx)
 {
   int res = 0;
   /* Arguments of format: reported tokens (one for the "unexpected",
@@ -2806,7 +2806,7 @@ yyreport_syntax_error (const yyparse_context_t *ctx)
   enum { ARGS_MAX = 5 };
   const char *argv[ARGS_MAX];
   int argc = 0;
-  yysymbol_type_t unexpected = yyparse_context_token (ctx);
+  yysymbol_type_t unexpected = yypcontext_token (ctx);
   if (unexpected != YYSYMBOL_YYEMPTY)
     {
       argv[argc++] = yysymbol_name (unexpected);
@@ -2818,7 +2818,7 @@ yyreport_syntax_error (const yyparse_context_t *ctx)
         for (int i = 0; i < nexpected; ++i)
           argv[argc++] = yysymbol_name (expected[i]);
     }
-  syntax_error (*yyparse_context_location (ctx), argc, argv);
+  syntax_error (*yypcontext_location (ctx), argc, argv);
   return res;
 }
 
diff --git a/src/parse-gram.y b/src/parse-gram.y
index 0523348e..1d78cbd2 100644
--- a/src/parse-gram.y
+++ b/src/parse-gram.y
@@ -799,7 +799,7 @@ epilogue.opt:
 %%
 
 int
-yyreport_syntax_error (const yyparse_context_t *ctx)
+yyreport_syntax_error (const yypcontext_t *ctx)
 {
   int res = 0;
   /* Arguments of format: reported tokens (one for the "unexpected",
@@ -807,7 +807,7 @@ yyreport_syntax_error (const yyparse_context_t *ctx)
   enum { ARGS_MAX = 5 };
   const char *argv[ARGS_MAX];
   int argc = 0;
-  yysymbol_type_t unexpected = yyparse_context_token (ctx);
+  yysymbol_type_t unexpected = yypcontext_token (ctx);
   if (unexpected != YYSYMBOL_YYEMPTY)
     {
       argv[argc++] = yysymbol_name (unexpected);
@@ -819,7 +819,7 @@ yyreport_syntax_error (const yyparse_context_t *ctx)
         for (int i = 0; i < nexpected; ++i)
           argv[argc++] = yysymbol_name (expected[i]);
     }
-  syntax_error (*yyparse_context_location (ctx), argc, argv);
+  syntax_error (*yypcontext_location (ctx), argc, argv);
   return res;
 }
 
diff --git a/tests/local.at b/tests/local.at
index abba2458..a6b0c99c 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -622,18 +622,18 @@ location_print (FILE *yyo, ]AT_YYLTYPE[ const * const 
yylocp)
 
 ]AT_ERROR_CUSTOM_IF([[
 int
-yyreport_syntax_error (const yyparse_context_t *ctx]AT_PARAM_IF([, 
AT_PARSE_PARAMS])[)
+yyreport_syntax_error (const yypcontext_t *ctx]AT_PARAM_IF([, 
AT_PARSE_PARAMS])[)
 {
   int res = 0;]AT_PARAM_IF([m4_bpatsubst(m4_defn([AT_PARSE_PARAMS]),
               [[^,]+[^A-Za-z_0-9]\([A-Za-z_][A-Za-z_0-9]*\),* *], [
   YYUSE (\1);])])[]m4_bmatch(m4_defn([AT_PARSE_PARAMS]), [nerrs],[[
   ++global_nerrs;
   ++*nerrs;]])[]AT_LOCATION_IF([[
-  LOCATION_PRINT (stderr, *yyparse_context_location (ctx));
+  LOCATION_PRINT (stderr, *yypcontext_location (ctx));
   fprintf (stderr, ": ");]])[
   fprintf (stderr, "syntax error");
   {
-    yysymbol_type_t la = yyparse_context_token (ctx);
+    yysymbol_type_t la = yypcontext_token (ctx);
     if (la != YYEMPTY)
       fprintf (stderr, " on token [%s]", yysymbol_name (la));
   }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]