]> granicus.if.org Git - php/commitdiff
This version is finally the standard one. The last one was created
authorSascha Schumann <sas@php.net>
Thu, 23 Sep 1999 14:53:39 +0000 (14:53 +0000)
committerSascha Schumann <sas@php.net>
Thu, 23 Sep 1999 14:53:39 +0000 (14:53 +0000)
    using the 'nested ifs mode' which seems to be the source of the problem.

ext/standard/url_scanner.c

index 07e3c1681375000689e72bcc5a3c5d5a414bb7be..2259d25ef6609a754b3d56ef6c24d4b7d87693bc 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.5 on Thu Sep 23 16:06:02 1999 */
+/* Generated by re2c 0.5 on Thu Sep 23 16:52:44 1999 */
 #line 1 "../../../php4/ext/standard/url_scanner.re"
 /*
    +----------------------------------------------------------------------+
@@ -139,24 +139,24 @@ yy1:      ++YYCURSOR;
 yy0:
        if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
        yych = *YYCURSOR;
-       if(yych <= '\000')      goto yy7;
-       if(yych != '<') goto yy4;
+       switch(yych){
+       case '\000':    goto yy7;
+       case '<':       goto yy2;
+       default:        goto yy4;
+       }
 yy2:   yych = *++YYCURSOR;
-       if(yych <= 'F'){
-               if(yych == 'A') goto yy9;
-               if(yych >= 'F') goto yy10;
-       } else {
-               if(yych <= 'a'){
-                       if(yych >= 'a') goto yy9;
-               } else {
-                       if(yych == 'f') goto yy10;
-               }
+       switch(yych){
+       case 'A':       case 'a':       goto yy9;
+       case 'F':       case 'f':       goto yy10;
+       default:        goto yy3;
        }
 yy3:yy4:       ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy5:   if(yych <= '\000')      goto yy6;
-       if(yych != '<') goto yy4;
+yy5:   switch(yych){
+       case '\000':    case '<':       goto yy6;
+       default:        goto yy4;
+       }
 yy6:
 #line 146
        { BEGIN(INITIAL); }
@@ -165,74 +165,70 @@ yy8:
 #line 147
        { FINISH; }
 yy9:   yych = *++YYCURSOR;
-       if(yych == 'H') goto yy3;
-       if(yych == 'h') goto yy3;
-       goto yy25;
+       switch(yych){
+       case 'H':       case 'h':       goto yy3;
+       default:        goto yy25;
+       }
 yy10:  yych = *++YYCURSOR;
-       if(yych == 'R') goto yy11;
-       if(yych != 'r') goto yy3;
+       switch(yych){
+       case 'R':       case 'r':       goto yy11;
+       default:        goto yy3;
+       }
 yy11:  yych = *++YYCURSOR;
-       if(yych == 'A') goto yy12;
-       if(yych != 'a') goto yy3;
+       switch(yych){
+       case 'A':       case 'a':       goto yy12;
+       default:        goto yy3;
+       }
 yy12:  yych = *++YYCURSOR;
-       if(yych == 'M') goto yy13;
-       if(yych != 'm') goto yy3;
+       switch(yych){
+       case 'M':       case 'm':       goto yy13;
+       default:        goto yy3;
+       }
 yy13:  yych = *++YYCURSOR;
-       if(yych == 'E') goto yy14;
-       if(yych != 'e') goto yy3;
+       switch(yych){
+       case 'E':       case 'e':       goto yy14;
+       default:        goto yy3;
+       }
 yy14:  yych = *++YYCURSOR;
-       if(yych == 'S') goto yy3;
-       if(yych == 's') goto yy3;
-       goto yy16;
+       switch(yych){
+       case 'S':       case 's':       goto yy3;
+       default:        goto yy16;
+       }
 yy15:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy16:  if(yych <= '\037'){
-               if(yych <= '\t'){
-                       if(yych <= '\b')        goto yy3;
-                       goto yy15;
-               } else {
-                       if(yych <= '\n')        goto yy3;
-                       if(yych <= '\f')        goto yy15;
-                       goto yy3;
-               }
-       } else {
-               if(yych <= 'S'){
-                       if(yych <= ' ') goto yy15;
-                       if(yych <= 'R') goto yy3;
-               } else {
-                       if(yych != 's') goto yy3;
-               }
+yy16:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy15;
+       case 'S':       case 's':       goto yy17;
+       default:        goto yy3;
        }
 yy17:  yych = *++YYCURSOR;
-       if(yych == 'R') goto yy18;
-       if(yych != 'r') goto yy3;
+       switch(yych){
+       case 'R':       case 'r':       goto yy18;
+       default:        goto yy3;
+       }
 yy18:  yych = *++YYCURSOR;
-       if(yych == 'C') goto yy19;
-       if(yych != 'c') goto yy3;
+       switch(yych){
+       case 'C':       case 'c':       goto yy19;
+       default:        goto yy3;
+       }
 yy19:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy20:  if(yych <= '\f'){
-               if(yych == '\t')        goto yy19;
-               if(yych <= '\n')        goto yy3;
-               goto yy19;
-       } else {
-               if(yych <= ' '){
-                       if(yych <= '\037')      goto yy3;
-                       goto yy19;
-               } else {
-                       if(yych != '=') goto yy3;
-               }
+yy20:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy19;
+       case '=':       goto yy21;
+       default:        goto yy3;
        }
 yy21:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy22:  if(yych <= '\n'){
-               if(yych == '\t')        goto yy21;
-       } else {
-               if(yych <= '\f')        goto yy21;
-               if(yych == ' ') goto yy21;
+yy22:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy21;
+       default:        goto yy23;
        }
 yy23:
 #line 144
@@ -240,55 +236,43 @@ yy23:
 yy24:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy25:  if(yych <= '\037'){
-               if(yych <= '\t'){
-                       if(yych <= '\b')        goto yy3;
-                       goto yy24;
-               } else {
-                       if(yych <= '\n')        goto yy3;
-                       if(yych <= '\f')        goto yy24;
-                       goto yy3;
-               }
-       } else {
-               if(yych <= 'H'){
-                       if(yych <= ' ') goto yy24;
-                       if(yych <= 'G') goto yy3;
-               } else {
-                       if(yych != 'h') goto yy3;
-               }
+yy25:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy24;
+       case 'H':       case 'h':       goto yy26;
+       default:        goto yy3;
        }
 yy26:  yych = *++YYCURSOR;
-       if(yych == 'R') goto yy27;
-       if(yych != 'r') goto yy3;
+       switch(yych){
+       case 'R':       case 'r':       goto yy27;
+       default:        goto yy3;
+       }
 yy27:  yych = *++YYCURSOR;
-       if(yych == 'E') goto yy28;
-       if(yych != 'e') goto yy3;
+       switch(yych){
+       case 'E':       case 'e':       goto yy28;
+       default:        goto yy3;
+       }
 yy28:  yych = *++YYCURSOR;
-       if(yych == 'F') goto yy29;
-       if(yych != 'f') goto yy3;
+       switch(yych){
+       case 'F':       case 'f':       goto yy29;
+       default:        goto yy3;
+       }
 yy29:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy30:  if(yych <= '\f'){
-               if(yych == '\t')        goto yy29;
-               if(yych <= '\n')        goto yy3;
-               goto yy29;
-       } else {
-               if(yych <= ' '){
-                       if(yych <= '\037')      goto yy3;
-                       goto yy29;
-               } else {
-                       if(yych != '=') goto yy3;
-               }
+yy30:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy29;
+       case '=':       goto yy31;
+       default:        goto yy3;
        }
 yy31:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy32:  if(yych <= '\n'){
-               if(yych == '\t')        goto yy31;
-       } else {
-               if(yych <= '\f')        goto yy31;
-               if(yych == ' ') goto yy31;
+yy32:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy31;
+       default:        goto yy33;
        }
 yy33:
 #line 145
@@ -306,72 +290,35 @@ yy35:     ++YYCURSOR;
 yy34:
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-       if(yych <= ' '){
-               if(yych <= '\t'){
-                       if(yych <= '\000')      goto yy36;
-                       if(yych <= '\b')        goto yy39;
-                       goto yy37;
-               } else {
-                       if(yych <= '\n')        goto yy39;
-                       if(yych <= '\f')        goto yy37;
-                       if(yych <= '\037')      goto yy39;
-                       goto yy37;
-               }
-       } else {
-               if(yych <= '9'){
-                       if(yych <= '!') goto yy39;
-                       if(yych <= '"') goto yy37;
-                       if(yych >= '$') goto yy39;
-               } else {
-                       if(yych <= ':') goto yy42;
-                       if(yych != '>') goto yy39;
-               }
+       switch(yych){
+       case '\000':    case '#':       case '>':       goto yy36;
+       case '\t':      case '\v':
+       case '\f':      case ' ':       case '"':       goto yy37;
+       case ':':       goto yy42;
+       default:        goto yy39;
        }
 yy36:yy37:     ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy38:  if(yych <= ' '){
-               if(yych <= '\t'){
-                       if(yych <= '\000')      goto yy36;
-                       if(yych >= '\t')        goto yy37;
-               } else {
-                       if(yych <= '\n')        goto yy39;
-                       if(yych <= '\f')        goto yy37;
-                       if(yych >= ' ') goto yy37;
-               }
-       } else {
-               if(yych <= '9'){
-                       if(yych <= '!') goto yy39;
-                       if(yych <= '#') goto yy36;
-               } else {
-                       if(yych <= ':') goto yy42;
-                       if(yych == '>') goto yy36;
-               }
+yy38:  switch(yych){
+       case '\000':    case '"':
+       case '#':       case '>':       goto yy36;
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy37;
+       case ':':       goto yy42;
+       default:        goto yy39;
        }
 yy39:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy40:  if(yych <= ' '){
-               if(yych <= '\t'){
-                       if(yych <= '\000')      goto yy41;
-                       if(yych <= '\b')        goto yy39;
-                       goto yy48;
-               } else {
-                       if(yych <= '\n')        goto yy39;
-                       if(yych <= '\f')        goto yy48;
-                       if(yych <= '\037')      goto yy39;
-                       goto yy48;
-               }
-       } else {
-               if(yych <= '9'){
-                       if(yych <= '!') goto yy39;
-                       if(yych <= '"') goto yy50;
-                       if(yych <= '#') goto yy51;
-                       goto yy39;
-               } else {
-                       if(yych <= ':') goto yy42;
-                       if(yych != '>') goto yy39;
-               }
+yy40:  switch(yych){
+       case '\000':    case '>':       goto yy41;
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy48;
+       case '"':       goto yy50;
+       case '#':       goto yy51;
+       case ':':       goto yy42;
+       default:        goto yy39;
        }
 yy41:
 #line 152
@@ -379,25 +326,12 @@ yy41:
 yy42:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy43:  if(yych <= '\037'){
-               if(yych <= '\t'){
-                       if(yych <= '\000')      goto yy44;
-                       if(yych <= '\b')        goto yy42;
-                       goto yy45;
-               } else {
-                       if(yych <= '\n')        goto yy42;
-                       if(yych <= '\f')        goto yy45;
-                       goto yy42;
-               }
-       } else {
-               if(yych <= '"'){
-                       if(yych <= ' ') goto yy45;
-                       if(yych <= '!') goto yy42;
-                       goto yy47;
-               } else {
-                       if(yych <= '#') goto yy44;
-                       if(yych != '>') goto yy42;
-               }
+yy43:  switch(yych){
+       case '\000':    case '#':       case '>':       goto yy44;
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy45;
+       case '"':       goto yy47;
+       default:        goto yy42;
        }
 yy44:
 #line 154
@@ -408,34 +342,22 @@ yy44:
 yy45:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy46:  if(yych <= '\f'){
-               if(yych == '\t')        goto yy45;
-               if(yych <= '\n')        goto yy44;
-               goto yy45;
-       } else {
-               if(yych <= ' '){
-                       if(yych <= '\037')      goto yy44;
-                       goto yy45;
-               } else {
-                       if(yych != '"') goto yy44;
-               }
+yy46:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy45;
+       case '"':       goto yy47;
+       default:        goto yy44;
        }
 yy47:  yych = *++YYCURSOR;
        goto yy44;
 yy48:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy49:  if(yych <= '\f'){
-               if(yych == '\t')        goto yy48;
-               if(yych <= '\n')        goto yy41;
-               goto yy48;
-       } else {
-               if(yych <= ' '){
-                       if(yych <= '\037')      goto yy41;
-                       goto yy48;
-               } else {
-                       if(yych != '"') goto yy41;
-               }
+yy49:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy48;
+       case '"':       goto yy50;
+       default:        goto yy41;
        }
 yy50:  yych = *++YYCURSOR;
        goto yy41;