bison-patches
[Top][All Lists]
Advanced

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

[PATCH 1/4] bistromathic: promote yytoken_kind_t


From: Akim Demaille
Subject: [PATCH 1/4] bistromathic: promote yytoken_kind_t
Date: Sat, 11 Jul 2020 18:08:15 +0200

* examples/c/bistromathic/parse.y: Use yytoken_kind_t rather than int.
---
 examples/c/bistromathic/parse.y | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/examples/c/bistromathic/parse.y b/examples/c/bistromathic/parse.y
index d4e77825..9ba07ea5 100644
--- a/examples/c/bistromathic/parse.y
+++ b/examples/c/bistromathic/parse.y
@@ -74,7 +74,7 @@
 #   define __attribute__(Spec) /* empty */
 #  endif
 # endif
-  int yylex (const char **line, YYSTYPE *yylval, YYLTYPE *yylloc);
+  yytoken_kind_t yylex (const char **line, YYSTYPE *yylval, YYLTYPE *yylloc);
   void yyerror (YYLTYPE *loc, char const *format, ...)
     __attribute__ ((__format__ (__printf__, 2, 3)));
 }
@@ -257,7 +257,7 @@ symbol_count (void)
 | Scanner.  |
 `----------*/
 
-int
+yytoken_kind_t
 yylex (const char **line, YYSTYPE *yylval, YYLTYPE *yylloc)
 {
   int c;
@@ -453,7 +453,8 @@ process_line (YYLTYPE *lloc, const char *line)
   int status = 0;
   do {
     YYSTYPE lval;
-    status = yypush_parse (ps, yylex (&line, &lval, lloc), &lval, lloc);
+    yytoken_kind_t token = yylex (&line, &lval, lloc);
+    status = yypush_parse (ps, token, &lval, lloc);
   } while (status == YYPUSH_MORE);
   yypstate_delete (ps);
   lloc->last_line++;
@@ -475,9 +476,9 @@ expected_tokens (const char *input,
   do {
     YYLTYPE lloc = { 1, 1, 1, 1 };
     YYSTYPE lval;
-    int token = yylex (&input, &lval, &lloc);
-    // Don't let the parse know when we reach the end of input.
-    if (!token)
+    yytoken_kind_t token = yylex (&input, &lval, &lloc);
+    // Don't let the parser know when we reach the end of input.
+    if (token == TOK_YYEOF)
       break;
     status = yypush_parse (ps, token, &lval, &lloc);
   } while (status == YYPUSH_MORE);
-- 
2.27.0




reply via email to

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