Given that @optype and @specialsv_name are hard coded tables, it seems
[p5sagit/p5-mst-13.2.git] / parser.h
index 2dfcfa7..1df14b4 100644 (file)
--- a/parser.h
+++ b/parser.h
@@ -69,6 +69,7 @@ typedef struct yy_parser {
     char       *linestart;     /* beginning of most recently read line */
     char       *last_uni;      /* position of last named-unary op */
     char       *last_lop;      /* position of last list operator */
+    U8         lex_state;      /* next token is determined */
 
 #ifdef PERL_MAD
     SV         *endwhite;
@@ -83,7 +84,16 @@ typedef struct yy_parser {
     SV         *thisstuff;
     SV         *thistoken;
     SV         *thiswhite;
+
+/* What we know when we're in LEX_KNOWNEXT state. */
+    NEXTTOKE   nexttoke[5];    /* value of next token, if any */
+    I32                curforce;
+#else
+    YYSTYPE    nextval[5];     /* value of next token, if any */
+    I32                nexttype[5];    /* type of next token */
+    I32                nexttoke;
 #endif
+
 } yy_parser;