summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux2015-03-05 16:06:29 -0500
committerQuentin Carbonneaux2015-03-05 16:06:29 -0500
commite274953554c6e8bb1389d9f9a19f2463513a0484 (patch)
tree0b3ad9a744c0e094acc6a622b7301f783c129bf6
parent8a59c32946014165fa7b1843713537dc38d14bb0 (diff)
little tweak for lazier lexing
-rw-r--r--miniyacc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/miniyacc.c b/miniyacc.c
index c9b50d3..97c2023 100644
--- a/miniyacc.c
+++ b/miniyacc.c
@@ -1282,11 +1282,12 @@ char *code0[] = {
"\n",
" ps = stk;\n",
" ps->state = s = yyini;\n",
-" tk = -1;\n",
+" tk = 0;\n",
"loop:\n",
-" if (tk <= 0)\n",
+" n = yyadsp[s];\n",
+" if (tk <= 0 && n > -yyntoks)\n",
" tk = yytrns[yylex()];\n",
-" n = yyadsp[s] + tk;\n",
+" n += tk;\n",
" if (n < 0 || n >= ActSz || yychk[n] != tk) {\n",
" r = yyadef[s];\n",
" if (r < 0)\n",