jani            Wed Oct 10 09:27:13 2007 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/standard       url_scanner_ex.c 
  Log:
  - Generated with a bit more recent re2c version
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/url_scanner_ex.c?r1=1.95.2.4.2.3.2.1&r2=1.95.2.4.2.3.2.2&diff_format=u
Index: php-src/ext/standard/url_scanner_ex.c
diff -u php-src/ext/standard/url_scanner_ex.c:1.95.2.4.2.3.2.1 
php-src/ext/standard/url_scanner_ex.c:1.95.2.4.2.3.2.2
--- php-src/ext/standard/url_scanner_ex.c:1.95.2.4.2.3.2.1      Wed Oct 10 
00:34:40 2007
+++ php-src/ext/standard/url_scanner_ex.c       Wed Oct 10 09:27:13 2007
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.11.0 on Tue Oct  9 20:28:45 2007 */
+/* Generated by re2c 0.12.1 on Wed Oct 10 12:26:17 2007 */
 #line 1 "ext/standard/url_scanner_ex.re"
 /*
   +----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: url_scanner_ex.c,v 1.95.2.4.2.3.2.1 2007/10/10 00:34:40 iliaa Exp $ */
+/* $Id: url_scanner_ex.c,v 1.95.2.4.2.3.2.2 2007/10/10 09:27:13 jani Exp $ */
 
 #include "php.h"
 
@@ -109,48 +109,78 @@
        q = (p = url->c) + url->len;
 
 scan:
-
-#line 114 "ext/standard/url_scanner_ex.c"
 {
-       YYCTYPE yych;
-
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case '#':       goto yy6;
-       case ':':       goto yy2;
-       case '?':       goto yy4;
-       default:        goto yy8;
-       }
-yy2:
-       ++YYCURSOR;
+       static const unsigned char yybm[] = {
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128,   0, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128,   0, 128, 128, 128, 128,   0, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+       };
+
+#line 149 "ext/standard/url_scanner_ex.c"
+       {
+               YYCTYPE yych;
+
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
+               if(yybm[0+yych] & 128) {
+                       goto yy8;
+               }
+               if(yych <= '9') goto yy6;
+               if(yych >= ';') goto yy4;
+               ++YYCURSOR;
 #line 116 "ext/standard/url_scanner_ex.re"
-       { smart_str_append(dest, url); return; }
-#line 130 "ext/standard/url_scanner_ex.c"
+               { smart_str_append(dest, url); return; }
+#line 163 "ext/standard/url_scanner_ex.c"
 yy4:
-       ++YYCURSOR;
+               ++YYCURSOR;
 #line 117 "ext/standard/url_scanner_ex.re"
-       { sep = separator; goto scan; }
-#line 135 "ext/standard/url_scanner_ex.c"
+               { sep = separator; goto scan; }
+#line 168 "ext/standard/url_scanner_ex.c"
 yy6:
-       ++YYCURSOR;
+               ++YYCURSOR;
 #line 118 "ext/standard/url_scanner_ex.re"
-       { bash = p - 1; goto done; }
-#line 140 "ext/standard/url_scanner_ex.c"
+               { bash = p - 1; goto done; }
+#line 173 "ext/standard/url_scanner_ex.c"
 yy8:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case '#':
-       case ':':
-       case '?':       goto yy10;
-       default:        goto yy8;
-       }
-yy10:
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
+               if(yybm[0+yych] & 128) {
+                       goto yy8;
+               }
 #line 119 "ext/standard/url_scanner_ex.re"
-       { goto scan; }
-#line 154 "ext/standard/url_scanner_ex.c"
+               { goto scan; }
+#line 183 "ext/standard/url_scanner_ex.c"
+       }
 }
 #line 120 "ext/standard/url_scanner_ex.re"
 
@@ -331,174 +361,141 @@
        
 state_plain:
        start = YYCURSOR;
-
-#line 336 "ext/standard/url_scanner_ex.c"
 {
-       YYCTYPE yych;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case '<':       goto yy13;
-       default:        goto yy15;
-       }
-yy13:
-       ++YYCURSOR;
+       static const unsigned char yybm[] = {
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128,   0, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+       };
+
+#line 401 "ext/standard/url_scanner_ex.c"
+       {
+               YYCTYPE yych;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
+               if(yybm[0+yych] & 128) {
+                       goto yy15;
+               }
+               ++YYCURSOR;
 #line 299 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
-#line 349 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
+#line 412 "ext/standard/url_scanner_ex.c"
 yy15:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case '<':       goto yy17;
-       default:        goto yy15;
-       }
-yy17:
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
+               if(yybm[0+yych] & 128) {
+                       goto yy15;
+               }
 #line 300 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); goto state_plain; }
-#line 361 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); goto state_plain; }
+#line 422 "ext/standard/url_scanner_ex.c"
+       }
 }
 #line 301 "ext/standard/url_scanner_ex.re"
 
 
 state_tag:     
        start = YYCURSOR;
-
-#line 369 "ext/standard/url_scanner_ex.c"
 {
-       YYCTYPE yych;
-       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy20;
-       default:        goto yy22;
-       }
+       static const unsigned char yybm[] = {
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0, 128,   0,   0,   0,   0,   0, 
+                 0, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128,   0,   0,   0,   0,   0, 
+                 0, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+       };
+
+#line 466 "ext/standard/url_scanner_ex.c"
+       {
+               YYCTYPE yych;
+               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+               yych = *YYCURSOR;
+               if(yych <= '@') {
+                       if(yych != ':') goto yy22;
+               } else {
+                       if(yych <= 'Z') goto yy20;
+                       if(yych <= '`') goto yy22;
+                       if(yych >= '{') goto yy22;
+               }
 yy20:
-       ++YYCURSOR;
-       yych = *YYCURSOR;
-       goto yy25;
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy25;
 yy21:
 #line 306 "ext/standard/url_scanner_ex.re"
-       { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE 
== STATE_PLAIN) goto state_plain; else goto state_next_arg; }
-#line 437 "ext/standard/url_scanner_ex.c"
+               { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); 
if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
+#line 485 "ext/standard/url_scanner_ex.c"
 yy22:
-       ++YYCURSOR;
+               ++YYCURSOR;
 #line 307 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); goto state_plain_begin; }
-#line 442 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); goto state_plain_begin; }
+#line 490 "ext/standard/url_scanner_ex.c"
 yy24:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
 yy25:
-       switch(yych) {
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy24;
-       default:        goto yy21;
+               if(yybm[0+yych] & 128) {
+                       goto yy24;
+               }
+               goto yy21;
        }
 }
 #line 308 "ext/standard/url_scanner_ex.re"
@@ -509,108 +506,98 @@
        
 state_next_arg:
        start = YYCURSOR;
-
-#line 514 "ext/standard/url_scanner_ex.c"
 {
-       YYCTYPE yych;
-       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case 0x09:
-       case 0x0A:
-       case 0x0B:
-       case 0x0D:
-       case ' ':       goto yy30;
-       case '>':       goto yy28;
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy32;
-       default:        goto yy34;
-       }
-yy28:
-       ++YYCURSOR;
+       static const unsigned char yybm[] = {
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0, 128, 128, 128,   0, 128,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+               128,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+       };
+
+#line 546 "ext/standard/url_scanner_ex.c"
+       {
+               YYCTYPE yych;
+               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+               yych = *YYCURSOR;
+               if(yych <= ' ') {
+                       if(yych <= 0x0C) {
+                               if(yych <= 0x08) goto yy34;
+                               if(yych <= 0x0B) goto yy30;
+                               goto yy34;
+                       } else {
+                               if(yych <= 0x0D) goto yy30;
+                               if(yych <= 0x1F) goto yy34;
+                               goto yy30;
+                       }
+               } else {
+                       if(yych <= '@') {
+                               if(yych != '>') goto yy34;
+                       } else {
+                               if(yych <= 'Z') goto yy32;
+                               if(yych <= '`') goto yy34;
+                               if(yych <= 'z') goto yy32;
+                               goto yy34;
+                       }
+               }
+               ++YYCURSOR;
 #line 316 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; }
-#line 584 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); handle_form(STD_ARGS); goto 
state_plain_begin; }
+#line 574 "ext/standard/url_scanner_ex.c"
 yy30:
-       ++YYCURSOR;
-       yych = *YYCURSOR;
-       goto yy37;
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy37;
 yy31:
 #line 317 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); goto state_next_arg; }
-#line 592 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); goto state_next_arg; }
+#line 582 "ext/standard/url_scanner_ex.c"
 yy32:
-       ++YYCURSOR;
+               ++YYCURSOR;
 #line 318 "ext/standard/url_scanner_ex.re"
-       { --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
-#line 597 "ext/standard/url_scanner_ex.c"
+               { --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
+#line 587 "ext/standard/url_scanner_ex.c"
 yy34:
-       ++YYCURSOR;
+               ++YYCURSOR;
 #line 319 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); goto state_plain_begin; }
-#line 602 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); goto state_plain_begin; }
+#line 592 "ext/standard/url_scanner_ex.c"
 yy36:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
 yy37:
-       switch(yych) {
-       case 0x09:
-       case 0x0A:
-       case 0x0B:
-       case 0x0D:
-       case ' ':       goto yy36;
-       default:        goto yy31;
+               if(yybm[0+yych] & 128) {
+                       goto yy36;
+               }
+               goto yy31;
        }
 }
 #line 320 "ext/standard/url_scanner_ex.re"
@@ -618,140 +605,73 @@
 
 state_arg:
        start = YYCURSOR;
-
-#line 623 "ext/standard/url_scanner_ex.c"
 {
-       YYCTYPE yych;
-       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy40;
-       default:        goto yy42;
-       }
+       static const unsigned char yybm[] = {
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0, 128,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128,   0,   0,   0,   0,   0, 
+                 0, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+       };
+
+#line 645 "ext/standard/url_scanner_ex.c"
+       {
+               YYCTYPE yych;
+               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+               yych = *YYCURSOR;
+               if(yych <= '@') goto yy42;
+               if(yych <= 'Z') goto yy40;
+               if(yych <= '`') goto yy42;
+               if(yych >= '{') goto yy42;
 yy40:
-       ++YYCURSOR;
-       yych = *YYCURSOR;
-       goto yy45;
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy45;
 yy41:
 #line 325 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; 
goto state_before_val; }
-#line 690 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = 
STATE_BEFORE_VAL; goto state_before_val; }
+#line 661 "ext/standard/url_scanner_ex.c"
 yy42:
-       ++YYCURSOR;
+               ++YYCURSOR;
 #line 326 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; }
-#line 695 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto 
state_next_arg; }
+#line 666 "ext/standard/url_scanner_ex.c"
 yy44:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
 yy45:
-       switch(yych) {
-       case '-':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy44;
-       default:        goto yy41;
+               if(yybm[0+yych] & 128) {
+                       goto yy44;
+               }
+               goto yy41;
        }
 }
 #line 327 "ext/standard/url_scanner_ex.re"
@@ -759,60 +679,87 @@
 
 state_before_val:
        start = YYCURSOR;
-
-#line 764 "ext/standard/url_scanner_ex.c"
 {
-       YYCTYPE yych;
-       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case ' ':       goto yy48;
-       case '=':       goto yy50;
-       default:        goto yy52;
-       }
+       static const unsigned char yybm[] = {
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+               128,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+                 0,   0,   0,   0,   0,   0,   0,   0, 
+       };
+
+#line 719 "ext/standard/url_scanner_ex.c"
+       {
+               YYCTYPE yych;
+               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+               yych = *YYCURSOR;
+               if(yych == ' ') goto yy48;
+               if(yych == '=') goto yy50;
+               goto yy52;
 yy48:
-       yych = *(YYMARKER = ++YYCURSOR);
-       switch(yych) {
-       case ' ':       goto yy55;
-       case '=':       goto yy53;
-       default:        goto yy49;
-       }
+               yych = *(YYMARKER = ++YYCURSOR);
+               if(yych == ' ') goto yy55;
+               if(yych == '=') goto yy53;
 yy49:
 #line 333 "ext/standard/url_scanner_ex.re"
-       { --YYCURSOR; goto state_next_arg_begin; }
-#line 784 "ext/standard/url_scanner_ex.c"
+               { --YYCURSOR; goto state_next_arg_begin; }
+#line 734 "ext/standard/url_scanner_ex.c"
 yy50:
-       ++YYCURSOR;
-       yych = *YYCURSOR;
-       goto yy54;
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy54;
 yy51:
 #line 332 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
-#line 792 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
+#line 742 "ext/standard/url_scanner_ex.c"
 yy52:
-       yych = *++YYCURSOR;
-       goto yy49;
+               yych = *++YYCURSOR;
+               goto yy49;
 yy53:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
 yy54:
-       switch(yych) {
-       case ' ':       goto yy53;
-       default:        goto yy51;
-       }
+               if(yybm[0+yych] & 128) {
+                       goto yy53;
+               }
+               goto yy51;
 yy55:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case ' ':       goto yy55;
-       case '=':       goto yy53;
-       default:        goto yy57;
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
+               if(yych == ' ') goto yy55;
+               if(yych == '=') goto yy53;
+               YYCURSOR = YYMARKER;
+               goto yy49;
        }
-yy57:
-       YYCURSOR = YYMARKER;
-       goto yy49;
 }
 #line 334 "ext/standard/url_scanner_ex.re"
 
@@ -820,137 +767,154 @@
 
 state_val:
        start = YYCURSOR;
-
-#line 825 "ext/standard/url_scanner_ex.c"
 {
-       YYCTYPE yych;
-       if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case 0x09:
-       case 0x0A:
-       case 0x0D:
-       case ' ':
-       case '>':       goto yy64;
-       case '"':       goto yy60;
-       case '\'':      goto yy62;
-       default:        goto yy63;
-       }
-yy60:
-       yych = *(YYMARKER = ++YYCURSOR);
-       goto yy77;
+       static const unsigned char yybm[] = {
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 160, 160, 248, 248, 160, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               160, 248,  56, 248, 248, 248, 248, 200, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248,   0, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+               248, 248, 248, 248, 248, 248, 248, 248, 
+       };
+
+#line 807 "ext/standard/url_scanner_ex.c"
+       {
+               YYCTYPE yych;
+               if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+               yych = *YYCURSOR;
+               if(yych <= ' ') {
+                       if(yych <= 0x0C) {
+                               if(yych <= 0x08) goto yy63;
+                               if(yych <= 0x0A) goto yy64;
+                               goto yy63;
+                       } else {
+                               if(yych <= 0x0D) goto yy64;
+                               if(yych <= 0x1F) goto yy63;
+                               goto yy64;
+                       }
+               } else {
+                       if(yych <= '&') {
+                               if(yych != '"') goto yy63;
+                       } else {
+                               if(yych <= '\'') goto yy62;
+                               if(yych == '>') goto yy64;
+                               goto yy63;
+                       }
+               }
+               yych = *(YYMARKER = ++YYCURSOR);
+               goto yy77;
 yy61:
 #line 342 "ext/standard/url_scanner_ex.re"
-       { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
-#line 846 "ext/standard/url_scanner_ex.c"
+               { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
+#line 836 "ext/standard/url_scanner_ex.c"
 yy62:
-       yych = *(YYMARKER = ++YYCURSOR);
-       goto yy69;
+               yych = *(YYMARKER = ++YYCURSOR);
+               goto yy69;
 yy63:
-       yych = *++YYCURSOR;
-       goto yy67;
+               yych = *++YYCURSOR;
+               goto yy67;
 yy64:
-       ++YYCURSOR;
+               ++YYCURSOR;
 #line 343 "ext/standard/url_scanner_ex.re"
-       { passthru(STD_ARGS); goto state_next_arg_begin; }
-#line 857 "ext/standard/url_scanner_ex.c"
+               { passthru(STD_ARGS); goto state_next_arg_begin; }
+#line 847 "ext/standard/url_scanner_ex.c"
 yy66:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
 yy67:
-       switch(yych) {
-       case 0x09:
-       case 0x0A:
-       case 0x0D:
-       case ' ':
-       case '>':       goto yy61;
-       default:        goto yy66;
-       }
+               if(yybm[0+yych] & 8) {
+                       goto yy66;
+               }
+               goto yy61;
 yy68:
-       YYMARKER = ++YYCURSOR;
-       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-       yych = *YYCURSOR;
+               YYMARKER = ++YYCURSOR;
+               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+               yych = *YYCURSOR;
 yy69:
-       switch(yych) {
-       case 0x09:
-       case 0x0A:
-       case 0x0D:
-       case ' ':       goto yy72;
-       case '\'':      goto yy70;
-       case '>':       goto yy61;
-       default:        goto yy68;
-       }
-yy70:
-       ++YYCURSOR;
-       switch((yych = *YYCURSOR)) {
-       case 0x09:
-       case 0x0A:
-       case 0x0D:
-       case ' ':
-       case '>':       goto yy71;
-       default:        goto yy66;
-       }
+               if(yybm[0+yych] & 16) {
+                       goto yy68;
+               }
+               if(yych <= '&') goto yy72;
+               if(yych >= '(') goto yy61;
+               ++YYCURSOR;
+               if(yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy66;
+               }
 yy71:
 #line 341 "ext/standard/url_scanner_ex.re"
-       { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
-#line 898 "ext/standard/url_scanner_ex.c"
+               { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
+#line 874 "ext/standard/url_scanner_ex.c"
 yy72:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case '\'':      goto yy75;
-       case '>':       goto yy74;
-       default:        goto yy72;
-       }
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
+               if(yybm[0+yych] & 32) {
+                       goto yy72;
+               }
+               if(yych <= '=') goto yy75;
 yy74:
-       YYCURSOR = YYMARKER;
-       goto yy61;
+               YYCURSOR = YYMARKER;
+               goto yy61;
 yy75:
-       yych = *++YYCURSOR;
-       goto yy71;
+               yych = *++YYCURSOR;
+               goto yy71;
 yy76:
-       YYMARKER = ++YYCURSOR;
-       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-       yych = *YYCURSOR;
+               YYMARKER = ++YYCURSOR;
+               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+               yych = *YYCURSOR;
 yy77:
-       switch(yych) {
-       case 0x09:
-       case 0x0A:
-       case 0x0D:
-       case ' ':       goto yy80;
-       case '"':       goto yy78;
-       case '>':       goto yy61;
-       default:        goto yy76;
-       }
-yy78:
-       ++YYCURSOR;
-       switch((yych = *YYCURSOR)) {
-       case 0x09:
-       case 0x0A:
-       case 0x0D:
-       case ' ':
-       case '>':       goto yy79;
-       default:        goto yy66;
-       }
+               if(yybm[0+yych] & 64) {
+                       goto yy76;
+               }
+               if(yych <= '!') goto yy80;
+               if(yych >= '#') goto yy61;
+               ++YYCURSOR;
+               if(yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy66;
+               }
 yy79:
 #line 340 "ext/standard/url_scanner_ex.re"
-       { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
-#line 941 "ext/standard/url_scanner_ex.c"
+               { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
+#line 906 "ext/standard/url_scanner_ex.c"
 yy80:
-       ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       switch(yych) {
-       case '"':       goto yy82;
-       case '>':       goto yy74;
-       default:        goto yy80;
+               ++YYCURSOR;
+               if(YYLIMIT == YYCURSOR) YYFILL(1);
+               yych = *YYCURSOR;
+               if(yybm[0+yych] & 128) {
+                       goto yy80;
+               }
+               if(yych >= '>') goto yy74;
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy79;
        }
-yy82:
-       ++YYCURSOR;
-       yych = *YYCURSOR;
-       goto yy79;
 }
 #line 344 "ext/standard/url_scanner_ex.re"
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to