bison-patches
[Top][All Lists]
Advanced

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

[PATCH 7/9] style: use yyval only, not yysval


From: Akim Demaille
Subject: [PATCH 7/9] style: use yyval only, not yysval
Date: Sat, 26 Dec 2020 15:42:36 +0100

* data/skeletons/glr.c, data/skeletons/glr2.cc: Use yyval, as in
the other skeletons.
---
 TODO                   |  8 +-------
 data/skeletons/glr.c   | 46 +++++++++++++++++++++---------------------
 data/skeletons/glr2.cc | 44 ++++++++++++++++++++--------------------
 3 files changed, 46 insertions(+), 52 deletions(-)

diff --git a/TODO b/TODO
index db73ace8..f88a12d4 100644
--- a/TODO
+++ b/TODO
@@ -16,16 +16,10 @@ Discourage the use of YYDEBUG in C++ (see thread with Jot). 
 Stop supporting
 Add value_type as a synonym for semantic_type.
 
 ** Asymmetries
-In glr_state, we have yysval and yylloc.  It should be yyval/yyloc (and
-yylval/yylloc when referring to the lookahead).  glr.c should
-s/yysval/yyval/.
-
-Also
+Why are yylval and yylloc treated differently?
 
     yystack.yyglrShift (create_state_set_index(0), 0, 0, yylval, &yylloc);
 
-Why are yylval and yylloc treated differently?
-
 ** yyerrok in Java
 And add tests in calc.at, to prepare work for D.
 
diff --git a/data/skeletons/glr.c b/data/skeletons/glr.c
index 29e7761a..78e255e1 100644
--- a/data/skeletons/glr.c
+++ b/data/skeletons/glr.c
@@ -124,7 +124,7 @@ m4_define([b4_rhs_data],
 # --------------------------------------------------
 # Expansion of $$ or $<TYPE>$, for symbol SYMBOL-NUM.
 m4_define([b4_rhs_value],
-[b4_symbol_value([b4_rhs_data([$1], [$2]).yysemantics.yysval], [$3], [$4])])
+[b4_symbol_value([b4_rhs_data([$1], [$2]).yysemantics.yyval], [$3], [$4])])
 
 
 
@@ -502,7 +502,7 @@ struct yyGLRState
 {
   /** Type tag: always true.  */
   yybool yyisState;
-  /** Type tag for yysemantics.  If true, yysval applies, otherwise
+  /** Type tag for yysemantics.  If true, yyval applies, otherwise
    *  yyfirstVal applies.  */
   yybool yyresolved;
   /** Number of corresponding LALR(1) machine state.  */
@@ -517,7 +517,7 @@ struct yyGLRState
      *  yynext.  */
     yySemanticOption* yyfirstVal;
     /** Semantic value for this state.  */
-    YYSTYPE yysval;
+    YYSTYPE yyval;
   } yysemantics;]b4_locations_if([[
   /** Source location for this state.  */
   YYLTYPE yyloc;]])[
@@ -796,9 +796,9 @@ yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
 #endif
       yyvsp[i].yystate.yyresolved = s->yyresolved;
       if (s->yyresolved)
-        yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
+        yyvsp[i].yystate.yysemantics.yyval = s->yysemantics.yyval;
       else
-        /* The effect of using yysval or yyloc (in an immediate rule) is
+        /* The effect of using yyval or yyloc (in an immediate rule) is
          * undefined.  */
         yyvsp[i].yystate.yysemantics.yyfirstVal = 
YY_NULLPTR;]b4_locations_if([[
       yyvsp[i].yystate.yyloc = s->yyloc;]])[
@@ -904,7 +904,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* 
yyvsp,
   if (yyrhslen == 0)
     *yyvalp = yyval_default;
   else
-    *yyvalp = yyvsp[YYFILL 
(1-yyrhslen)].yystate.yysemantics.yysval;]b4_locations_if([[
+    *yyvalp = yyvsp[YYFILL 
(1-yyrhslen)].yystate.yysemantics.yyval;]b4_locations_if([[
   /* Default location. */
   YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
   yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
@@ -970,7 +970,7 @@ yydestroyGLRState (char const *yymsg, yyGLRState 
*yys]b4_user_formals[)
 {
   if (yys->yyresolved)
     yydestruct (yymsg, yy_accessing_symbol (yys->yylrState),
-                &yys->yysemantics.yysval]b4_locuser_args([&yys->yyloc])[);
+                &yys->yysemantics.yyval]b4_locuser_args([&yys->yyloc])[);
   else
     {
 #if ]b4_api_PREFIX[DEBUG
@@ -1345,7 +1345,7 @@ yyglrShift (yyGLRStack* yystackp, YYPTRDIFF_T yyk, 
yy_state_t yylrState,
   yynewState->yyposn = yyposn;
   yynewState->yyresolved = yytrue;
   yynewState->yypred = yystackp->yytops.yystates[yyk];
-  yynewState->yysemantics.yysval = *yyvalp;]b4_locations_if([
+  yynewState->yysemantics.yyval = *yyvalp;]b4_locations_if([
   yynewState->yyloc = *yylocp;])[
   yystackp->yytops.yystates[yyk] = yynewState;
 
@@ -1403,7 +1403,7 @@ yy_reduce_print (yybool yynormal, yyGLRStackItem* yyvsp, 
YYPTRDIFF_T yyk,
       YY_FPRINTF ((stderr, "   $%d = ", yyi + 1));
       yy_symbol_print (stderr,
                        yy_accessing_symbol (yyvsp[yyi - yynrhs + 
1].yystate.yylrState),
-                       &yyvsp[yyi - yynrhs + 
1].yystate.yysemantics.yysval]b4_locations_if([,
+                       &yyvsp[yyi - yynrhs + 
1].yystate.yysemantics.yyval]b4_locations_if([,
                        &]b4_rhs_location(yynrhs, yyi + 1))[]dnl
                        b4_user_args[);
       if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
@@ -1479,21 +1479,21 @@ yyglrReduce (yyGLRStack* yystackp, YYPTRDIFF_T yyk, 
yyRuleNum yyrule,
 
   if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR)
     {
-      YYSTYPE yysval;]b4_locations_if([[
+      YYSTYPE yyval;]b4_locations_if([[
       YYLTYPE yyloc;]])[
 
-      YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, 
&yysval]b4_locuser_args([&yyloc])[);
+      YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, 
&yyval]b4_locuser_args([&yyloc])[);
       if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR)
         YY_DPRINTF ((stderr,
                      "Parse on stack %ld rejected by rule %d (line %d).\n",
                      YY_CAST (long, yyk), yyrule - 1, yyrline[yyrule]));
       if (yyflag != yyok)
         return yyflag;
-      YY_SYMBOL_PRINT ("-> $$ =", yylhsNonterm (yyrule), &yysval, &yyloc);
+      YY_SYMBOL_PRINT ("-> $$ =", yylhsNonterm (yyrule), &yyval, &yyloc);
       yyglrShift (yystackp, yyk,
                   yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
                                  yylhsNonterm (yyrule)),
-                  yyposn, &yysval]b4_locations_if([, &yyloc])[);
+                  yyposn, &yyval]b4_locations_if([, &yyloc])[);
     }
   else
     {
@@ -1624,12 +1624,12 @@ yymergeOptionSets (yySemanticOption* yyy0, 
yySemanticOption* yyy1)
       else if (yys0->yyresolved)
         {
           yys1->yyresolved = yytrue;
-          yys1->yysemantics.yysval = yys0->yysemantics.yysval;
+          yys1->yysemantics.yyval = yys0->yysemantics.yyval;
         }
       else if (yys1->yyresolved)
         {
           yys0->yyresolved = yytrue;
-          yys0->yysemantics.yysval = yys1->yysemantics.yysval;
+          yys0->yysemantics.yyval = yys1->yysemantics.yyval;
         }
       else
         {
@@ -1875,7 +1875,7 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* 
yystackp]b4_user_formals[)
   yySemanticOption* yybest = yyoptionList;
   yySemanticOption** yypp;
   yybool yymerge = yyfalse;
-  YYSTYPE yysval;
+  YYSTYPE yyval;
   YYRESULTTAG yyflag;]b4_locations_if([
   YYLTYPE *yylocp = &yys->yyloc;])[
 
@@ -1919,33 +1919,33 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* 
yystackp]b4_user_formals[)
     {
       yySemanticOption* yyp;
       int yyprec = yydprec[yybest->yyrule];
-      yyflag = yyresolveAction (yybest, yystackp, &yysval]b4_locuser_args[);
+      yyflag = yyresolveAction (yybest, yystackp, &yyval]b4_locuser_args[);
       if (yyflag == yyok)
         for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext)
           {
             if (yyprec == yydprec[yyp->yyrule])
               {
-                YYSTYPE yysval_other;]b4_locations_if([
+                YYSTYPE yyval_other;]b4_locations_if([
                 YYLTYPE yydummy;])[
-                yyflag = yyresolveAction (yyp, yystackp, 
&yysval_other]b4_locuser_args([&yydummy])[);
+                yyflag = yyresolveAction (yyp, yystackp, 
&yyval_other]b4_locuser_args([&yydummy])[);
                 if (yyflag != yyok)
                   {
                     yydestruct ("Cleanup: discarding incompletely merged value 
for",
                                 yy_accessing_symbol (yys->yylrState),
-                                &yysval]b4_locuser_args[);
+                                &yyval]b4_locuser_args[);
                     break;
                   }
-                yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
+                yyuserMerge (yymerger[yyp->yyrule], &yyval, &yyval_other);
               }
           }
     }
   else
-    yyflag = yyresolveAction (yybest, yystackp, 
&yysval]b4_locuser_args([yylocp])[);
+    yyflag = yyresolveAction (yybest, yystackp, 
&yyval]b4_locuser_args([yylocp])[);
 
   if (yyflag == yyok)
     {
       yys->yyresolved = yytrue;
-      yys->yysemantics.yysval = yysval;
+      yys->yysemantics.yyval = yyval;
     }
   else
     yys->yysemantics.yyfirstVal = YY_NULLPTR;
diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc
index 2ab40800..a31ad36b 100644
--- a/data/skeletons/glr2.cc
+++ b/data/skeletons/glr2.cc
@@ -741,7 +741,7 @@ public:
     , yylrState (lrState)
     , yyposn (posn)
     , yypred (0)
-    , yysval (sval)]b4_locations_if([[
+    , yyval (sval)]b4_locations_if([[
     , yyloc (loc)]])[]b4_parse_assert_if([[
     , magic_ (MAGIC)]])[
   {}
@@ -767,7 +767,7 @@ public:
   {
     setPred (other.pred ());
     if (other.yyresolved)
-      new (&yysval) value_type (other.value ());
+      new (&yyval) value_type (other.value ());
     else
       setFirstVal (other.firstVal ());]b4_parse_assert_if([[
     check_();]])[
@@ -778,7 +778,7 @@ public:
     check_ ();
     magic_ = 0;]])[
     if (yyresolved)
-      yysval.~value_type ();
+      yyval.~value_type ();
   }
 
   glr_state& operator= (const glr_state& other)
@@ -786,7 +786,7 @@ public:
     check_ ();
     other.check_ ();]])[
     if (!yyresolved && other.yyresolved)
-      new (&yysval) value_type;
+      new (&yyval) value_type;
     yyresolved = other.yyresolved;
     yylrState = other.yylrState;
     yyposn = other.yyposn;
@@ -799,7 +799,7 @@ public:
     return *this;
   }
 
-  /** Type tag for the semantic value.  If true, yysval applies, otherwise
+  /** Type tag for the semantic value.  If true, yyval applies, otherwise
    *  yyfirstVal applies.  */
   bool yyresolved;
   /** Number of corresponding LALR(1) machine state.  */
@@ -821,13 +821,13 @@ public:
   value_type& value ()
   {]b4_parse_assert_if([[
     check_ ();]])[
-    return yysval;
+    return yyval;
   }
 
   const value_type& value () const
   {]b4_parse_assert_if([[
     check_ ();]])[
-    return yysval;
+    return yyval;
   }
 
   void
@@ -888,7 +888,7 @@ private:
      *  yyfirstVal.  */
     std::ptrdiff_t yyfirstVal;
     /** Semantic value for this state.  */
-    value_type yysval;
+    value_type yyval;
   };]b4_locations_if([[
  // FIXME: Why public?
  public:
@@ -1702,7 +1702,7 @@ public:
         if (s->yyresolved)
           new (&yys.value ()) value_type (s->value ());
         else
-          /* The effect of using yysval or yyloc (in an immediate
+          /* The effect of using yyval or yyloc (in an immediate
            * rule) is undefined.  */
           yys.setFirstVal (YY_NULLPTR);]b4_locations_if([[
         yys.yyloc = s->yyloc;]])[
@@ -2409,10 +2409,10 @@ public:
 
     if (yyforceEval || !yystateStack.isSplit())
       {
-        value_type yysval;]b4_locations_if([[
+        value_type val;]b4_locations_if([[
         location_type loc;]])[
 
-        YYRESULTTAG yyflag = yydoAction (yyk, yyrule, 
&yysval]b4_locations_if([, &loc])[);
+        YYRESULTTAG yyflag = yydoAction (yyk, yyrule, &val]b4_locations_if([, 
&loc])[);
         if (yyflag == yyerr && yystateStack.isSplit())
           {]b4_parse_trace_if([[
             YYCDEBUG << "Parse on stack " << yyk.get ()
@@ -2421,11 +2421,11 @@ public:
           ]])[}
         if (yyflag != yyok)
           return yyflag;
-        YY_SYMBOL_PRINT ("-> $$ =", 
static_cast<yysymbol_kind_t>(yyr1[yyrule]), &yysval, &loc);
+        YY_SYMBOL_PRINT ("-> $$ =", 
static_cast<yysymbol_kind_t>(yyr1[yyrule]), &val, &loc);
         yyglrShift (yyk,
                     yyLRgotoState (topState(yyk)->yylrState,
                                    yylhsNonterm (yyrule)),
-                    yyposn, yysval]b4_locations_if([, loc])[);
+                    yyposn, val]b4_locations_if([, loc])[);
       }
     else
       {
@@ -2582,7 +2582,7 @@ private:
     semantic_option* yybest = yys.firstVal();
     YYASSERT(yybest != YY_NULLPTR);
     bool yymerge = false;
-    value_type yysval;
+    value_type val;
     YYRESULTTAG yyflag;]b4_locations_if([
     location_type *yylocp = &yys.yyloc;])[
 
@@ -2627,7 +2627,7 @@ private:
     if (yymerge)
       {
         int yyprec = yydprec[yybest->yyrule];
-        yyflag = yyresolveAction (*yybest, &yysval]b4_locations_if([, 
yylocp])[);
+        yyflag = yyresolveAction (*yybest, &val]b4_locations_if([, yylocp])[);
         if (yyflag == yyok)
           for (semantic_option* yyp = yybest->next();
                yyp != YY_NULLPTR;
@@ -2635,28 +2635,28 @@ private:
             {
               if (yyprec == yydprec[yyp->yyrule])
                 {
-                  value_type yysval_other;]b4_locations_if([
+                  value_type yyval_other;]b4_locations_if([
                   location_type yydummy;])[
-                  yyflag = yyresolveAction (*yyp, 
&yysval_other]b4_locations_if([, &yydummy])[);
+                  yyflag = yyresolveAction (*yyp, 
&yyval_other]b4_locations_if([, &yydummy])[);
                   if (yyflag != yyok)
                     {
                       yyparser.yy_destroy_ ("Cleanup: discarding incompletely 
merged value for",
-                                  yy_accessing_symbol(yys.yylrState),
-                                  &yysval]b4_locations_if([, yylocp])[);
+                                            yy_accessing_symbol(yys.yylrState),
+                                            &yyval]b4_locations_if([, 
yylocp])[);
                       break;
                     }
-                  yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
+                  yyuserMerge (yymerger[yyp->yyrule], &val, &yyval_other);
                 }
             }
       }
     else
-      yyflag = yyresolveAction (*yybest, &yysval]b4_locations_if([, yylocp])[);
+      yyflag = yyresolveAction (*yybest, &val]b4_locations_if([, yylocp])[);
 
     if (yyflag == yyok)
       {
         yys.yyresolved = true;
         YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-        new (&yys.value ()) value_type (yysval);
+        new (&yys.value ()) value_type (val);
         YY_IGNORE_MAYBE_UNINITIALIZED_END
       }
     else
-- 
2.29.2




reply via email to

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