]> granicus.if.org Git - re2c/commitdiff
- Do not generate yyaccept code unless needed
authorhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Sat, 8 Apr 2006 17:04:45 +0000 (17:04 +0000)
committerhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Sat, 8 Apr 2006 17:04:45 +0000 (17:04 +0000)
# The code block after the yyaccept blocks might now become dead blocks.
# A real optimzing compiler would have found out anyway. So this only
# increases readability.

16 files changed:
code.cc
test/bug1163046.c
test/bug1187785.c
test/bug1297658.c
test/bug1390174.c
test/cvsignore.b.c
test/cvsignore.c
test/cvsignore.s.c
test/cvsignore.w.c
test/cvsignore.wb.c
test/input1.c
test/input11.b.c
test/input11.c
test/input11.s.c
test/sample.c
test/scanner.c

diff --git a/code.cc b/code.cc
index 09ac04d093b2307ddcf293ae05c448947a3b9106..fb38a7112f21a9026f63e41bbc83a4c3a3675617 100644 (file)
--- a/code.cc
+++ b/code.cc
@@ -440,6 +440,7 @@ void Accept::emit(std::ostream &o, uint ind, bool &readCh) const
                if (saves[i] != ~0u)
                {
                        cases++;
+                       bUsedYYAccept |= saves[i] != 0;
                }
        }
 
@@ -450,9 +451,8 @@ void Accept::emit(std::ostream &o, uint ind, bool &readCh) const
                        if (first)
                        {
                                first = false;
-                               bUsedYYAccept = true;
                                o << indent(ind) << "YYCURSOR = YYMARKER;\n";
-                               if (cases > 1)
+                               if (bUsedYYAccept && cases > 1)
                                {
                                        o << indent(ind) << "switch(yyaccept) {\n";
                                }
@@ -465,13 +465,15 @@ void Accept::emit(std::ostream &o, uint ind, bool &readCh) const
                        }
                        else
                        {
-                               o << indent(ind) << "if (yyaccept == " << saves[i] << ") {\n";
-                               genGoTo(o, ++ind, state, rules[i], readCh);
+                               if (bUsedYYAccept) {
+                                       o << indent(ind++) << "if (yyaccept == " << saves[i] << ") {\n";
+                               }
+                               genGoTo(o, ind, state, rules[i], readCh);
                        }
                }
        }
 
-       if (!first)
+       if (!first && bUsedYYAccept)
        {
                if (cases == 1)
                {
index 658417f81f3ad3fb488bc82e4c2374895a30c01c..728d792b7b5f5b8879aa51d5831bf16d2db3ff08 100755 (executable)
@@ -19,7 +19,6 @@ next:
 #line 20 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 45) YYFILL(45);
        yych = *YYCURSOR;
@@ -29,7 +28,6 @@ next:
        default:        goto yy4;
        }
 yy2:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 'T':
@@ -39,7 +37,7 @@ yy2:
 yy3:
 #line 23 "bug1163046.re"
        { goto next; }
-#line 43 "<stdout>"
+#line 41 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy3;
@@ -47,7 +45,7 @@ yy5:
        ++YYCURSOR;
 #line 25 "bug1163046.re"
        { return false; }
-#line 51 "<stdout>"
+#line 49 "<stdout>"
 yy7:
        yych = *++YYCURSOR;
        switch(yych){
@@ -57,9 +55,7 @@ yy7:
        }
 yy8:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy9:
        yych = *++YYCURSOR;
        switch(yych){
@@ -350,7 +346,7 @@ yy51:
                if (token == start || *(token - 1) == '\n')
                return true; else goto next;
        }
-#line 354 "<stdout>"
+#line 350 "<stdout>"
 }
 #line 26 "bug1163046.re"
 
index 6c9377c270932ec639c9fe7123eb8b4d88be134b..6f98c17e552510cf8294327c17cace2b803d56de 100755 (executable)
@@ -23,7 +23,6 @@ cont:
 #line 24 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
        yych = *YYCURSOR;
@@ -32,7 +31,6 @@ cont:
        default:        goto yy4;
        }
 yy2:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 0x00:
@@ -294,7 +292,7 @@ yy2:
 yy3:
 #line 23 "bug1187785.re"
        { goto cont; }
-#line 298 "<stdout>"
+#line 296 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy3;
@@ -562,14 +560,12 @@ yy5:
        }
 yy7:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy8:
        ++YYCURSOR;
 #line 22 "bug1187785.re"
        { RET(1); }
-#line 573 "<stdout>"
+#line 569 "<stdout>"
 }
 #line 24 "bug1187785.re"
 
index 3da905e8cfcd21630643bfd83e9ee13aa8c11656..b2a0cba8e1662b6576403ddea4006dcb8bc3317c 100644 (file)
@@ -60,7 +60,6 @@ std:
 #line 61 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
        yych = *YYCURSOR;
@@ -71,7 +70,6 @@ std:
        default:        goto yy8;
        }
 yy2:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case '.':       goto yy11;
@@ -83,7 +81,7 @@ yy3:
        {
                RET(UNEXPECTED);
        }
-#line 87 "<stdout>"
+#line 85 "<stdout>"
 yy4:
        ++YYCURSOR;
        switch((yych = *YYCURSOR)) {
@@ -96,7 +94,7 @@ yy5:
        {
                RET(FCON);
        }
-#line 100 "<stdout>"
+#line 98 "<stdout>"
 yy6:
        ++YYCURSOR;
 #line 66 "bug1297658.re"
@@ -105,7 +103,7 @@ yy6:
                if(1||s.cur == s.eof) RET(EOI);
                goto std;
        }
-#line 109 "<stdout>"
+#line 107 "<stdout>"
 yy8:
        yych = *++YYCURSOR;
        goto yy3;
@@ -136,9 +134,7 @@ yy12:
        }
 yy14:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy15:
        ++YYCURSOR;
        switch((yych = *YYCURSOR)) {
index 121a7830ca9d79a083fb339d4cd0d28605d6ae88..af80f0faedc4f1843aca4d715d2fea252e88969d 100755 (executable)
@@ -18,7 +18,6 @@ const char *q;
 #line 19 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
        yych = *YYCURSOR;
@@ -29,7 +28,6 @@ const char *q;
        default:        goto yy6;
        }
 yy2:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 0x0A:      goto yy7;
@@ -40,13 +38,13 @@ yy2:
 yy3:
 #line 19 "bug1390174.re"
        {RET(0);}
-#line 44 "<stdout>"
+#line 42 "<stdout>"
 yy4:
        ++YYCURSOR;
 yy5:
 #line 18 "bug1390174.re"
        {RET(1);}
-#line 50 "<stdout>"
+#line 48 "<stdout>"
 yy6:
        yych = *++YYCURSOR;
        goto yy3;
@@ -65,9 +63,7 @@ yy8:
        }
 yy10:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 }
 #line 20 "bug1390174.re"
 
index 2754312d772c8d360ca8ee6f6a96b2411b09ee74..f5dd59160cbaed9b6fd1d83e94a601f0f69350cd 100755 (executable)
@@ -77,12 +77,10 @@ loop:
 #line 78 "<stdout>"
        {
                YYCTYPE yych;
-               unsigned int yyaccept = 0;
 
                if((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
                yych = *YYCURSOR;
                if(yych != '$') goto yy4;
-               yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                switch(yych){
                case 'D':       goto yy10;
@@ -95,7 +93,7 @@ loop:
 yy3:
 #line 53 "cvsignore.b.re"
                { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; }
-#line 99 "<stdout>"
+#line 97 "<stdout>"
 yy4:
                yych = *++YYCURSOR;
                goto yy3;
@@ -104,9 +102,7 @@ yy5:
                if(yych == 'o') goto yy44;
 yy6:
                YYCURSOR = YYMARKER;
-               if (yyaccept == 0) {
-                       goto yy3;
-               }
+               goto yy3;
 yy7:
                yych = *++YYCURSOR;
                if(yych == 'e') goto yy32;
@@ -136,7 +132,7 @@ yy15:
                ++YYCURSOR;
 #line 48 "cvsignore.b.re"
                { APPEND(L"$" L"Date$"); goto loop; }
-#line 140 "<stdout>"
+#line 136 "<stdout>"
 yy17:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -158,7 +154,7 @@ yy21:
                ++YYCURSOR;
 #line 49 "cvsignore.b.re"
                { APPEND(L"$" L"Id$"); goto loop; }
-#line 162 "<stdout>"
+#line 158 "<stdout>"
 yy23:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -180,7 +176,7 @@ yy28:
                ++YYCURSOR;
 #line 50 "cvsignore.b.re"
                { APPEND(L"$" L"Log$"); goto loop; }
-#line 184 "<stdout>"
+#line 180 "<stdout>"
 yy30:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -212,7 +208,7 @@ yy40:
                ++YYCURSOR;
 #line 51 "cvsignore.b.re"
                { APPEND(L"$" L"Revision$"); goto loop; }
-#line 216 "<stdout>"
+#line 212 "<stdout>"
 yy42:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -240,7 +236,7 @@ yy50:
                ++YYCURSOR;
 #line 52 "cvsignore.b.re"
                { APPEND(L"$" L"Source$"); goto loop; }
-#line 244 "<stdout>"
+#line 240 "<stdout>"
 yy52:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
index fd4309bdfcab76bd55dd0ff6e37e5767a89c7f0f..a88f35a246c07604394565a2e61dec43ec8e5cbc 100755 (executable)
@@ -42,7 +42,6 @@ loop:
 #line 43 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
        yych = *YYCURSOR;
@@ -51,7 +50,6 @@ loop:
        default:        goto yy4;
        }
 yy2:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 'D':       goto yy10;
@@ -64,7 +62,7 @@ yy2:
 yy3:
 #line 53 "cvsignore.re"
        { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; }
-#line 68 "<stdout>"
+#line 66 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy3;
@@ -76,9 +74,7 @@ yy5:
        }
 yy6:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy7:
        yych = *++YYCURSOR;
        switch(yych){
@@ -132,7 +128,7 @@ yy15:
        ++YYCURSOR;
 #line 48 "cvsignore.re"
        { APPEND(L"$" L"Date$"); goto loop; }
-#line 136 "<stdout>"
+#line 132 "<stdout>"
 yy17:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -160,7 +156,7 @@ yy21:
        ++YYCURSOR;
 #line 49 "cvsignore.re"
        { APPEND(L"$" L"Id$"); goto loop; }
-#line 164 "<stdout>"
+#line 160 "<stdout>"
 yy23:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -194,7 +190,7 @@ yy28:
        ++YYCURSOR;
 #line 50 "cvsignore.re"
        { APPEND(L"$" L"Log$"); goto loop; }
-#line 198 "<stdout>"
+#line 194 "<stdout>"
 yy30:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -258,7 +254,7 @@ yy40:
        ++YYCURSOR;
 #line 51 "cvsignore.re"
        { APPEND(L"$" L"Revision$"); goto loop; }
-#line 262 "<stdout>"
+#line 258 "<stdout>"
 yy42:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -310,7 +306,7 @@ yy50:
        ++YYCURSOR;
 #line 52 "cvsignore.re"
        { APPEND(L"$" L"Source$"); goto loop; }
-#line 314 "<stdout>"
+#line 310 "<stdout>"
 yy52:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
index 85b69699f837c0c94885e643ef9b17c9050bbda8..bdf257984ebaad04b1f16321591e5529969a9614 100755 (executable)
@@ -42,12 +42,10 @@ loop:
 #line 43 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
        yych = *YYCURSOR;
        if(yych != '$') goto yy4;
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 'D':       goto yy10;
@@ -60,7 +58,7 @@ loop:
 yy3:
 #line 53 "cvsignore.s.re"
        { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; }
-#line 64 "<stdout>"
+#line 62 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy3;
@@ -69,9 +67,7 @@ yy5:
        if(yych == 'o') goto yy44;
 yy6:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy7:
        yych = *++YYCURSOR;
        if(yych == 'e') goto yy32;
@@ -101,7 +97,7 @@ yy15:
        ++YYCURSOR;
 #line 48 "cvsignore.s.re"
        { APPEND(L"$" L"Date$"); goto loop; }
-#line 105 "<stdout>"
+#line 101 "<stdout>"
 yy17:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -121,7 +117,7 @@ yy21:
        ++YYCURSOR;
 #line 49 "cvsignore.s.re"
        { APPEND(L"$" L"Id$"); goto loop; }
-#line 125 "<stdout>"
+#line 121 "<stdout>"
 yy23:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -143,7 +139,7 @@ yy28:
        ++YYCURSOR;
 #line 50 "cvsignore.s.re"
        { APPEND(L"$" L"Log$"); goto loop; }
-#line 147 "<stdout>"
+#line 143 "<stdout>"
 yy30:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -175,7 +171,7 @@ yy40:
        ++YYCURSOR;
 #line 51 "cvsignore.s.re"
        { APPEND(L"$" L"Revision$"); goto loop; }
-#line 179 "<stdout>"
+#line 175 "<stdout>"
 yy42:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -203,7 +199,7 @@ yy50:
        ++YYCURSOR;
 #line 52 "cvsignore.s.re"
        { APPEND(L"$" L"Source$"); goto loop; }
-#line 207 "<stdout>"
+#line 203 "<stdout>"
 yy52:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
index e61e60e03011f24d253ed6586105ee5d700a617d..1d72889a15062ebe8c6701f2d7b4005a21bdfa8b 100755 (executable)
@@ -42,12 +42,10 @@ loop:
 #line 43 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
        yych = *YYCURSOR;
        if(yych != '$') goto yy4;
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 'D':       goto yy10;
@@ -60,7 +58,7 @@ loop:
 yy3:
 #line 53 "cvsignore.w.re"
        { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; }
-#line 64 "<stdout>"
+#line 62 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy3;
@@ -69,9 +67,7 @@ yy5:
        if(yych == 'o') goto yy44;
 yy6:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy7:
        yych = *++YYCURSOR;
        if(yych == 'e') goto yy32;
@@ -101,7 +97,7 @@ yy15:
        ++YYCURSOR;
 #line 48 "cvsignore.w.re"
        { APPEND(L"$" L"Date$"); goto loop; }
-#line 105 "<stdout>"
+#line 101 "<stdout>"
 yy17:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -121,7 +117,7 @@ yy21:
        ++YYCURSOR;
 #line 49 "cvsignore.w.re"
        { APPEND(L"$" L"Id$"); goto loop; }
-#line 125 "<stdout>"
+#line 121 "<stdout>"
 yy23:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -143,7 +139,7 @@ yy28:
        ++YYCURSOR;
 #line 50 "cvsignore.w.re"
        { APPEND(L"$" L"Log$"); goto loop; }
-#line 147 "<stdout>"
+#line 143 "<stdout>"
 yy30:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -175,7 +171,7 @@ yy40:
        ++YYCURSOR;
 #line 51 "cvsignore.w.re"
        { APPEND(L"$" L"Revision$"); goto loop; }
-#line 179 "<stdout>"
+#line 175 "<stdout>"
 yy42:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -203,7 +199,7 @@ yy50:
        ++YYCURSOR;
 #line 52 "cvsignore.w.re"
        { APPEND(L"$" L"Source$"); goto loop; }
-#line 207 "<stdout>"
+#line 203 "<stdout>"
 yy52:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
index 557f83b0d0d3cd66029d248231811159d2e700f3..bc9822d51a31a14f28f186381645810e25d9e685 100755 (executable)
@@ -77,12 +77,10 @@ loop:
 #line 78 "<stdout>"
        {
                YYCTYPE yych;
-               unsigned int yyaccept = 0;
 
                if((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
                yych = *YYCURSOR;
                if(yych != '$') goto yy4;
-               yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                switch(yych){
                case 'D':       goto yy10;
@@ -95,7 +93,7 @@ loop:
 yy3:
 #line 53 "cvsignore.wb.re"
                { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; }
-#line 99 "<stdout>"
+#line 97 "<stdout>"
 yy4:
                yych = *++YYCURSOR;
                goto yy3;
@@ -104,9 +102,7 @@ yy5:
                if(yych == 'o') goto yy44;
 yy6:
                YYCURSOR = YYMARKER;
-               if (yyaccept == 0) {
-                       goto yy3;
-               }
+               goto yy3;
 yy7:
                yych = *++YYCURSOR;
                if(yych == 'e') goto yy32;
@@ -136,7 +132,7 @@ yy15:
                ++YYCURSOR;
 #line 48 "cvsignore.wb.re"
                { APPEND(L"$" L"Date$"); goto loop; }
-#line 140 "<stdout>"
+#line 136 "<stdout>"
 yy17:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -160,7 +156,7 @@ yy21:
                ++YYCURSOR;
 #line 49 "cvsignore.wb.re"
                { APPEND(L"$" L"Id$"); goto loop; }
-#line 164 "<stdout>"
+#line 160 "<stdout>"
 yy23:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -182,7 +178,7 @@ yy28:
                ++YYCURSOR;
 #line 50 "cvsignore.wb.re"
                { APPEND(L"$" L"Log$"); goto loop; }
-#line 186 "<stdout>"
+#line 182 "<stdout>"
 yy30:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -214,7 +210,7 @@ yy40:
                ++YYCURSOR;
 #line 51 "cvsignore.wb.re"
                { APPEND(L"$" L"Revision$"); goto loop; }
-#line 218 "<stdout>"
+#line 214 "<stdout>"
 yy42:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -242,7 +238,7 @@ yy50:
                ++YYCURSOR;
 #line 52 "cvsignore.wb.re"
                { APPEND(L"$" L"Source$"); goto loop; }
-#line 246 "<stdout>"
+#line 242 "<stdout>"
 yy52:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
index f43b3fb9672c73be0ae2769345d6e0666be94c2d..4c565e6e9f015896ceeb5bc6dd1c468e46b7b7f7 100644 (file)
@@ -4,7 +4,6 @@
 #line 5 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
        yych = *YYCURSOR;
@@ -13,7 +12,6 @@
        default:        goto yy4;
        }
 yy2:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 'b':       goto yy5;
@@ -22,7 +20,7 @@ yy2:
 yy3:
 #line 4 "input1.re"
        { return 0; }
-#line 26 "<stdout>"
+#line 24 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy3;
@@ -37,9 +35,7 @@ yy5:
        }
 yy7:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy8:
        yych = *++YYCURSOR;
        switch(yych){
@@ -50,7 +46,7 @@ yy9:
        ++YYCURSOR;
 #line 3 "input1.re"
        { return 1; }
-#line 54 "<stdout>"
+#line 50 "<stdout>"
 }
 #line 6 "input1.re"
 
index be68053a0ecbcf6b748d3855d69662372c571a26..a92a82ec9c5adf848d1ff03fdb6c242b68c7ca59 100755 (executable)
@@ -39,7 +39,6 @@
 #line 40 "<stdout>"
        {
                YYCTYPE yych;
-               unsigned int yyaccept = 0;
 
                if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
                yych = *YYCURSOR;
@@ -70,7 +69,7 @@ yy2:
 yy3:
 #line 12 "input11.b.re"
                { return 1; }
-#line 74 "<stdout>"
+#line 73 "<stdout>"
 yy4:
                yych = *++YYCURSOR;
                goto yy14;
@@ -79,7 +78,7 @@ yy5:
 yy6:
 #line 13 "input11.b.re"
                { return 2; }
-#line 83 "<stdout>"
+#line 82 "<stdout>"
 yy7:
                ++YYCURSOR;
                if((yych = *YYCURSOR) <= '0') goto yy8;
@@ -87,7 +86,7 @@ yy7:
 yy8:
 #line 15 "input11.b.re"
                { return -1; }
-#line 91 "<stdout>"
+#line 90 "<stdout>"
 yy9:
                yych = *++YYCURSOR;
                goto yy12;
@@ -117,7 +116,6 @@ yy15:
                if(yych != '2') goto yy14;
                yych = *++YYCURSOR;
                if(yych != 'c') goto yy14;
-               yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if(yych != ':') goto yy14;
                yych = *++YYCURSOR;
@@ -130,9 +128,7 @@ yy15:
                }
 yy19:
                YYCURSOR = YYMARKER;
-               if (yyaccept == 0) {
-                       goto yy3;
-               }
+               goto yy3;
 yy20:
                ++YYCURSOR;
                if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -142,7 +138,7 @@ yy20:
                }
 #line 11 "input11.b.re"
                { return 0; }
-#line 146 "<stdout>"
+#line 142 "<stdout>"
        }
 }
 #line 17 "input11.b.re"
index 3058942e0ad63feee3a119071399d2ce8f233d7a..8a5f885f33bed7d60bd254c8736ca44ee3e5058c 100755 (executable)
@@ -4,7 +4,6 @@
 #line 5 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
        yych = *YYCURSOR;
@@ -83,7 +82,7 @@ yy2:
 yy3:
 #line 10 "input11.re"
        { return 1; }
-#line 87 "<stdout>"
+#line 86 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy14;
@@ -92,7 +91,7 @@ yy5:
 yy6:
 #line 11 "input11.re"
        { return 2; }
-#line 96 "<stdout>"
+#line 95 "<stdout>"
 yy7:
        ++YYCURSOR;
        switch((yych = *YYCURSOR)) {
@@ -110,7 +109,7 @@ yy7:
 yy8:
 #line 13 "input11.re"
        { return -1; }
-#line 114 "<stdout>"
+#line 113 "<stdout>"
 yy9:
        yych = *++YYCURSOR;
        goto yy12;
@@ -218,7 +217,6 @@ yy16:
        default:        goto yy14;
        }
 yy17:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case ':':       goto yy18;
@@ -284,9 +282,7 @@ yy18:
        }
 yy19:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy20:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -361,7 +357,7 @@ yy20:
 yy22:
 #line 9 "input11.re"
        { return 0; }
-#line 365 "<stdout>"
+#line 361 "<stdout>"
 }
 #line 15 "input11.re"
 
index b51ba88b969317aa606925a386969f35d08f015a..a1f25da15524875fe7ed1e1a89d852eaf08ecedc 100755 (executable)
@@ -4,7 +4,6 @@
 #line 5 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
        yych = *YYCURSOR;
@@ -35,7 +34,7 @@ yy2:
 yy3:
 #line 10 "input11.s.re"
        { return 1; }
-#line 39 "<stdout>"
+#line 38 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy14;
@@ -44,7 +43,7 @@ yy5:
 yy6:
 #line 11 "input11.s.re"
        { return 2; }
-#line 48 "<stdout>"
+#line 47 "<stdout>"
 yy7:
        ++YYCURSOR;
        if((yych = *YYCURSOR) <= '0') goto yy8;
@@ -52,7 +51,7 @@ yy7:
 yy8:
 #line 13 "input11.s.re"
        { return -1; }
-#line 56 "<stdout>"
+#line 55 "<stdout>"
 yy9:
        yych = *++YYCURSOR;
        goto yy12;
@@ -87,7 +86,6 @@ yy15:
        if(yych != '2') goto yy14;
        yych = *++YYCURSOR;
        if(yych != 'c') goto yy14;
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != ':') goto yy14;
        yych = *++YYCURSOR;
@@ -100,9 +98,7 @@ yy15:
        }
 yy19:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy20:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -122,7 +118,7 @@ yy20:
 yy22:
 #line 9 "input11.s.re"
        { return 0; }
-#line 126 "<stdout>"
+#line 122 "<stdout>"
 }
 #line 15 "input11.s.re"
 
index 6303839256927ac04dafce50a8ae229413cad0ef..5c0533b4369a2f942964d282e5ee3c73879c386a 100644 (file)
@@ -4,7 +4,6 @@
 #line 5 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
        yych = *YYCURSOR;
@@ -56,12 +55,11 @@ yy2:
 yy3:
 #line 3 "sample.re"
        {return ID;}
-#line 60 "<stdout>"
+#line 59 "<stdout>"
 yy4:
        yych = *++YYCURSOR;
        goto yy18;
 yy5:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 'x':       goto yy12;
@@ -70,7 +68,7 @@ yy5:
 yy6:
 #line 4 "sample.re"
        {return DEC;}
-#line 74 "<stdout>"
+#line 72 "<stdout>"
 yy7:
        yych = *++YYCURSOR;
        goto yy11;
@@ -78,7 +76,7 @@ yy8:
        ++YYCURSOR;
 #line 6 "sample.re"
        {return ERR;}
-#line 82 "<stdout>"
+#line 80 "<stdout>"
 yy10:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -120,9 +118,7 @@ yy12:
        }
 yy13:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy6;
-       }
+       goto yy6;
 yy14:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -149,7 +145,7 @@ yy14:
 yy16:
 #line 5 "sample.re"
        {return HEX;}
-#line 153 "<stdout>"
+#line 149 "<stdout>"
 yy17:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -236,7 +232,7 @@ yy22:
 yy23:
 #line 2 "sample.re"
        {return PRINT;}
-#line 240 "<stdout>"
+#line 236 "<stdout>"
 }
 #line 7 "sample.re"
 
index 663c04b161bf54286238bf1fa5abb5eaa1b57c85..790bf2aeba451486717addf1f2b33297f93b5233 100644 (file)
@@ -78,7 +78,6 @@ echo:
 #line 79 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
 
        if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
        yych = *YYCURSOR;
@@ -88,7 +87,6 @@ echo:
        default:        goto yy6;
        }
 yy2:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case '*':       goto yy7;
@@ -97,7 +95,7 @@ yy2:
 yy3:
 #line 91 "scanner.re"
        { goto echo; }
-#line 101 "<stdout>"
+#line 99 "<stdout>"
 yy4:
        ++YYCURSOR;
 #line 87 "scanner.re"
@@ -105,7 +103,7 @@ yy4:
                                  out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok));
                                  tok = pos = cursor; cline++;
                                  goto echo; }
-#line 109 "<stdout>"
+#line 107 "<stdout>"
 yy6:
        yych = *++YYCURSOR;
        goto yy3;
@@ -117,9 +115,7 @@ yy7:
        }
 yy8:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy3;
-       }
+       goto yy3;
 yy9:
        yych = *++YYCURSOR;
        switch(yych){
@@ -150,7 +146,7 @@ yy13:
        { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok));
                                  tok = cursor;
                                  RETURN(1); }
-#line 154 "<stdout>"
+#line 150 "<stdout>"
 }
 #line 92 "scanner.re"
 
@@ -166,7 +162,7 @@ scan:
     tline = cline;
     tok = cursor;
 
-#line 170 "<stdout>"
+#line 166 "<stdout>"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -265,7 +261,7 @@ yy18:
        { depth = 1;
                                  goto code;
                                }
-#line 269 "<stdout>"
+#line 265 "<stdout>"
 yy19:
        ++YYCURSOR;
        switch((yych = *YYCURSOR)) {
@@ -275,7 +271,7 @@ yy19:
 yy20:
 #line 131 "scanner.re"
        { RETURN(*tok); }
-#line 279 "<stdout>"
+#line 275 "<stdout>"
 yy21:
        ++YYCURSOR;
        switch((yych = *YYCURSOR)) {
@@ -286,7 +282,7 @@ yy22:
 #line 133 "scanner.re"
        { yylval.op = *tok;
                                  RETURN(CLOSE); }
-#line 290 "<stdout>"
+#line 286 "<stdout>"
 yy23:
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -297,7 +293,7 @@ yy23:
 yy24:
 #line 122 "scanner.re"
        { fatal("unterminated string constant (missing \")"); }
-#line 301 "<stdout>"
+#line 297 "<stdout>"
 yy25:
        yyaccept = 2;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -308,7 +304,7 @@ yy25:
 yy26:
 #line 123 "scanner.re"
        { fatal("unterminated string constant (missing ')"); }
-#line 312 "<stdout>"
+#line 308 "<stdout>"
 yy27:
        yyaccept = 3;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -319,7 +315,7 @@ yy27:
 yy28:
 #line 129 "scanner.re"
        { fatal("unterminated range (missing ])"); }
-#line 323 "<stdout>"
+#line 319 "<stdout>"
 yy29:
        yych = *++YYCURSOR;
        goto yy20;
@@ -335,7 +331,7 @@ yy32:
        { cur = cursor;
                                  yylval.symbol = Symbol::find(token());
                                  return ID; }
-#line 339 "<stdout>"
+#line 335 "<stdout>"
 yy33:
        ++YYCURSOR;
        yych = *YYCURSOR;
@@ -343,7 +339,7 @@ yy33:
 yy34:
 #line 152 "scanner.re"
        { goto scan; }
-#line 347 "<stdout>"
+#line 343 "<stdout>"
 yy35:
        ++YYCURSOR;
 #line 154 "scanner.re"
@@ -351,14 +347,14 @@ yy35:
                                  pos = cursor; cline++;
                                  goto scan;
                                }
-#line 355 "<stdout>"
+#line 351 "<stdout>"
 yy37:
        ++YYCURSOR;
 #line 159 "scanner.re"
        { std::cerr << "unexpected character: " << *tok << std::endl;
                                  goto scan;
                                }
-#line 362 "<stdout>"
+#line 358 "<stdout>"
 yy39:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -472,7 +468,7 @@ yy47:
        { cur = cursor;
                                  yylval.regexp = ranToRE(token());
                                  return RANGE; }
-#line 476 "<stdout>"
+#line 472 "<stdout>"
 yy49:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -498,7 +494,7 @@ yy52:
        { cur = cursor;
                                  yylval.regexp = strToCaseInsensitiveRE(token());
                                  return STRING; }
-#line 502 "<stdout>"
+#line 498 "<stdout>"
 yy54:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -524,19 +520,19 @@ yy57:
        { cur = cursor;
                                  yylval.regexp = strToRE(token());
                                  return STRING; }
-#line 528 "<stdout>"
+#line 524 "<stdout>"
 yy59:
        ++YYCURSOR;
 #line 111 "scanner.re"
        { tok = cursor;
                                  RETURN(0); }
-#line 534 "<stdout>"
+#line 530 "<stdout>"
 yy61:
        ++YYCURSOR;
 #line 108 "scanner.re"
        { depth = 1;
                                  goto comment; }
-#line 540 "<stdout>"
+#line 536 "<stdout>"
 yy63:
        ++YYCURSOR;
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -562,7 +558,7 @@ yy65:
        { yylval.extop.minsize = atoi((char *)tok+1);
                                  yylval.extop.maxsize = atoi((char *)tok+1);
                                  RETURN(CLOSESIZE); }
-#line 566 "<stdout>"
+#line 562 "<stdout>"
 yy67:
        yych = *++YYCURSOR;
        switch(yych){
@@ -575,7 +571,7 @@ yy68:
        { yylval.extop.minsize = atoi((char *)tok+1);
                                  yylval.extop.maxsize = -1;
                                  RETURN(CLOSESIZE); }
-#line 579 "<stdout>"
+#line 575 "<stdout>"
 yy70:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -601,17 +597,16 @@ yy72:
        { yylval.extop.minsize = atoi((char *)tok+1);
                                  yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
                                  RETURN(CLOSESIZE); }
-#line 605 "<stdout>"
+#line 601 "<stdout>"
 }
 #line 162 "scanner.re"
 
 
 code:
 
-#line 612 "<stdout>"
+#line 608 "<stdout>"
 {
        YYCTYPE yych;
-       unsigned int yyaccept = 0;
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
        yych = *YYCURSOR;
        switch(yych){
@@ -631,13 +626,13 @@ yy76:
                                        return CODE;
                                  }
                                  goto code; }
-#line 635 "<stdout>"
+#line 630 "<stdout>"
 yy78:
        ++YYCURSOR;
 #line 172 "scanner.re"
        { ++depth;
                                  goto code; }
-#line 641 "<stdout>"
+#line 636 "<stdout>"
 yy80:
        ++YYCURSOR;
 #line 174 "scanner.re"
@@ -645,22 +640,20 @@ yy80:
                                  pos = cursor; cline++;
                                  goto code;
                                }
-#line 649 "<stdout>"
+#line 644 "<stdout>"
 yy82:
        ++YYCURSOR;
 yy83:
 #line 178 "scanner.re"
        { goto code; }
-#line 655 "<stdout>"
+#line 650 "<stdout>"
 yy84:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 0x0A:      goto yy83;
        default:        goto yy91;
        }
 yy85:
-       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch(yych){
        case 0x0A:      goto yy83;
@@ -679,9 +672,7 @@ yy87:
        }
 yy88:
        YYCURSOR = YYMARKER;
-       if (yyaccept == 0) {
-               goto yy83;
-       }
+       goto yy83;
 yy89:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -715,7 +706,7 @@ yy92:
 
 comment:
 
-#line 719 "<stdout>"
+#line 710 "<stdout>"
 {
        YYCTYPE yych;
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -735,7 +726,7 @@ yy95:
 yy96:
 #line 193 "scanner.re"
        { goto comment; }
-#line 739 "<stdout>"
+#line 730 "<stdout>"
 yy97:
        yych = *++YYCURSOR;
        switch(yych){
@@ -749,7 +740,7 @@ yy98:
                                  tok = pos = cursor; cline++;
                                  goto comment;
                                }
-#line 753 "<stdout>"
+#line 744 "<stdout>"
 yy100:
        yych = *++YYCURSOR;
        goto yy96;
@@ -758,7 +749,7 @@ yy101:
 #line 187 "scanner.re"
        { ++depth;
                                  goto comment; }
-#line 762 "<stdout>"
+#line 753 "<stdout>"
 yy103:
        ++YYCURSOR;
 #line 183 "scanner.re"
@@ -766,7 +757,7 @@ yy103:
                                        goto scan;
                                    else
                                        goto comment; }
-#line 770 "<stdout>"
+#line 761 "<stdout>"
 }
 #line 194 "scanner.re"