]> granicus.if.org Git - php/commitdiff
Add <FORM ACTION=...> tag
authorSascha Schumann <sas@php.net>
Tue, 2 Nov 1999 18:35:59 +0000 (18:35 +0000)
committerSascha Schumann <sas@php.net>
Tue, 2 Nov 1999 18:35:59 +0000 (18:35 +0000)
ext/standard/url_scanner.c
ext/standard/url_scanner.re

index 045f183b1216bd6e1081e38c31925d9e8d0cc456..0dbaf3113aa122abacfb9d81680db85686ca5418 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.5 on Thu Oct 21 22:22:05 1999 */
+/* Generated by re2c 0.5 on Tue Nov  2 19:35:36 1999 */
 #line 1 "url_scanner.re"
 /*
    +----------------------------------------------------------------------+
@@ -122,7 +122,7 @@ static void catchup(lexdata *state)
        ATTACH(state->start, (state->crs - state->start));
 }
 
-#line 135
+#line 139
 
 
 static void url_scanner(lexdata *state)
@@ -158,41 +158,42 @@ yy5:      switch(yych){
        default:        goto yy4;
        }
 yy6:
-#line 147
+#line 152
        { BEGIN(INITIAL); }
 yy7:   yych = *++YYCURSOR;
 yy8:
-#line 148
+#line 153
        { FINISH; }
 yy9:   yych = *++YYCURSOR;
        switch(yych){
        case 'H':       case 'h':       goto yy3;
-       case 'R':       case 'r':       goto yy26;
-       default:        goto yy25;
+       case 'R':       case 'r':       goto yy41;
+       default:        goto yy40;
        }
 yy10:  yych = *++YYCURSOR;
        switch(yych){
+       case 'O':       case 'o':       goto yy12;
        case 'R':       case 'r':       goto yy11;
        default:        goto yy3;
        }
 yy11:  yych = *++YYCURSOR;
        switch(yych){
-       case 'A':       case 'a':       goto yy12;
+       case 'A':       case 'a':       goto yy27;
        default:        goto yy3;
        }
 yy12:  yych = *++YYCURSOR;
        switch(yych){
-       case 'M':       case 'm':       goto yy13;
+       case 'R':       case 'r':       goto yy13;
        default:        goto yy3;
        }
 yy13:  yych = *++YYCURSOR;
        switch(yych){
-       case 'E':       case 'e':       goto yy14;
+       case 'M':       case 'm':       goto yy14;
        default:        goto yy3;
        }
 yy14:  yych = *++YYCURSOR;
        switch(yych){
-       case 'S':       case 's':       goto yy3;
+       case 'A':       case 'a':       goto yy3;
        default:        goto yy16;
        }
 yy15:  ++YYCURSOR;
@@ -201,85 +202,86 @@ yy15:     ++YYCURSOR;
 yy16:  switch(yych){
        case '\t':      case '\v':
        case '\f':      case ' ':       goto yy15;
-       case 'S':       case 's':       goto yy17;
+       case 'A':       case 'a':       goto yy17;
        default:        goto yy3;
        }
 yy17:  yych = *++YYCURSOR;
        switch(yych){
-       case 'R':       case 'r':       goto yy18;
+       case 'C':       case 'c':       goto yy18;
        default:        goto yy3;
        }
 yy18:  yych = *++YYCURSOR;
        switch(yych){
-       case 'C':       case 'c':       goto yy19;
+       case 'T':       case 't':       goto yy19;
        default:        goto yy3;
        }
-yy19:  ++YYCURSOR;
-       if(YYLIMIT == YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-yy20:  switch(yych){
-       case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy19;
-       case '=':       goto yy21;
+yy19:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'I':       case 'i':       goto yy20;
        default:        goto yy3;
        }
-yy21:  ++YYCURSOR;
+yy20:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'O':       case 'o':       goto yy21;
+       default:        goto yy3;
+       }
+yy21:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'N':       case 'n':       goto yy22;
+       default:        goto yy3;
+       }
+yy22:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy22:  switch(yych){
+yy23:  switch(yych){
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy21;
-       default:        goto yy23;
+       case '\f':      case ' ':       goto yy22;
+       case '=':       goto yy24;
+       default:        goto yy3;
        }
-yy23:
-#line 144
-       { BEGIN(REF); }
 yy24:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
 yy25:  switch(yych){
        case '\t':      case '\v':
        case '\f':      case ' ':       goto yy24;
-       case 'H':       case 'h':       goto yy39;
-       default:        goto yy3;
+       default:        goto yy26;
        }
-yy26:  yych = *++YYCURSOR;
+yy26:
+#line 150
+       { BEGIN(REF); }
+yy27:  yych = *++YYCURSOR;
        switch(yych){
-       case 'E':       case 'e':       goto yy27;
+       case 'M':       case 'm':       goto yy28;
        default:        goto yy3;
        }
-yy27:  yych = *++YYCURSOR;
+yy28:  yych = *++YYCURSOR;
        switch(yych){
-       case 'A':       case 'a':       goto yy28;
+       case 'E':       case 'e':       goto yy29;
        default:        goto yy3;
        }
-yy28:  yych = *++YYCURSOR;
+yy29:  yych = *++YYCURSOR;
        switch(yych){
-       case 'H':       case 'h':       goto yy3;
-       default:        goto yy30;
+       case 'S':       case 's':       goto yy3;
+       default:        goto yy31;
        }
-yy29:  ++YYCURSOR;
+yy30:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy30:  switch(yych){
+yy31:  switch(yych){
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy29;
-       case 'H':       case 'h':       goto yy31;
-       default:        goto yy3;
-       }
-yy31:  yych = *++YYCURSOR;
-       switch(yych){
-       case 'R':       case 'r':       goto yy32;
+       case '\f':      case ' ':       goto yy30;
+       case 'S':       case 's':       goto yy32;
        default:        goto yy3;
        }
 yy32:  yych = *++YYCURSOR;
        switch(yych){
-       case 'E':       case 'e':       goto yy33;
+       case 'R':       case 'r':       goto yy33;
        default:        goto yy3;
        }
 yy33:  yych = *++YYCURSOR;
        switch(yych){
-       case 'F':       case 'f':       goto yy34;
+       case 'C':       case 'c':       goto yy34;
        default:        goto yy3;
        }
 yy34:  ++YYCURSOR;
@@ -300,133 +302,203 @@ yy37:   switch(yych){
        default:        goto yy38;
        }
 yy38:
-#line 146
+#line 148
        { BEGIN(REF); }
-yy39:  yych = *++YYCURSOR;
+yy39:  ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+yy40:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy39;
+       case 'H':       case 'h':       goto yy54;
+       default:        goto yy3;
+       }
+yy41:  yych = *++YYCURSOR;
        switch(yych){
-       case 'R':       case 'r':       goto yy40;
+       case 'E':       case 'e':       goto yy42;
        default:        goto yy3;
        }
-yy40:  yych = *++YYCURSOR;
+yy42:  yych = *++YYCURSOR;
        switch(yych){
-       case 'E':       case 'e':       goto yy41;
+       case 'A':       case 'a':       goto yy43;
        default:        goto yy3;
        }
-yy41:  yych = *++YYCURSOR;
+yy43:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'H':       case 'h':       goto yy3;
+       default:        goto yy45;
+       }
+yy44:  ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+yy45:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy44;
+       case 'H':       case 'h':       goto yy46;
+       default:        goto yy3;
+       }
+yy46:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'R':       case 'r':       goto yy47;
+       default:        goto yy3;
+       }
+yy47:  yych = *++YYCURSOR;
        switch(yych){
-       case 'F':       case 'f':       goto yy42;
+       case 'E':       case 'e':       goto yy48;
        default:        goto yy3;
        }
-yy42:  ++YYCURSOR;
+yy48:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'F':       case 'f':       goto yy49;
+       default:        goto yy3;
+       }
+yy49:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy43:  switch(yych){
+yy50:  switch(yych){
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy42;
-       case '=':       goto yy44;
+       case '\f':      case ' ':       goto yy49;
+       case '=':       goto yy51;
        default:        goto yy3;
        }
-yy44:  ++YYCURSOR;
+yy51:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy45:  switch(yych){
+yy52:  switch(yych){
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy44;
-       default:        goto yy46;
+       case '\f':      case ' ':       goto yy51;
+       default:        goto yy53;
        }
-yy46:
-#line 145
+yy53:
+#line 151
        { BEGIN(REF); }
-}
+yy54:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'R':       case 'r':       goto yy55;
+       default:        goto yy3;
+       }
+yy55:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'E':       case 'e':       goto yy56;
+       default:        goto yy3;
+       }
+yy56:  yych = *++YYCURSOR;
+       switch(yych){
+       case 'F':       case 'f':       goto yy57;
+       default:        goto yy3;
+       }
+yy57:  ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+yy58:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy57;
+       case '=':       goto yy59;
+       default:        goto yy3;
+       }
+yy59:  ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+yy60:  switch(yych){
+       case '\t':      case '\v':
+       case '\f':      case ' ':       goto yy59;
+       default:        goto yy61;
+       }
+yy61:
 #line 149
+       { BEGIN(REF); }
+}
+#line 154
 
                        break;
                case REF: 
 {
        YYCTYPE yych;
        unsigned int yyaccept;
-       goto yy47;
-yy48:  ++YYCURSOR;
-yy47:
+       goto yy62;
+yy63:  ++YYCURSOR;
+yy62:
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        switch(yych){
-       case '\000':    case '#':       case '>':       goto yy49;
+       case '\000':    case '>':       goto yy64;
        case '\t':      case '\v':
-       case '\f':      case ' ':       case '"':       goto yy50;
-       case ':':       goto yy55;
-       default:        goto yy52;
+       case '\f':      case ' ':       case '"':       goto yy65;
+       case '#':       goto yy69;
+       case ':':       goto yy71;
+       default:        goto yy67;
        }
-yy49:yy50:     ++YYCURSOR;
+yy64:
+#line 158
+       { BEGIN(INITIAL); }
+yy65:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy51:  switch(yych){
-       case '\000':    case '"':
-       case '#':       case '>':       goto yy49;
+yy66:  switch(yych){
+       case '\000':    case '>':       goto yy64;
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy50;
-       case ':':       goto yy55;
-       default:        goto yy52;
+       case '\f':      case ' ':       goto yy65;
+       case '"':       goto yy79;
+       case '#':       goto yy69;
+       case ':':       goto yy71;
+       default:        goto yy67;
        }
-yy52:  ++YYCURSOR;
+yy67:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy53:  switch(yych){
-       case '\000':    case '>':       goto yy54;
+yy68:  switch(yych){
+       case '\000':    case '>':       goto yy64;
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy61;
-       case '"':       goto yy63;
-       case '#':       goto yy64;
-       case ':':       goto yy55;
-       default:        goto yy52;
-       }
-yy54:
-#line 153
+       case '\f':      case ' ':       goto yy77;
+       case '"':       goto yy79;
+       case '#':       goto yy69;
+       case ':':       goto yy71;
+       default:        goto yy67;
+       }
+yy69:  yych = *++YYCURSOR;
+yy70:  YYCURSOR -= 1;
+#line 159
        { BEGIN(INITIAL); }
-yy55:  ++YYCURSOR;
+yy71:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy56:  switch(yych){
-       case '\000':    case '#':       case '>':       goto yy57;
+yy72:  switch(yych){
+       case '\000':    case '#':       case '>':       goto yy73;
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy58;
-       case '"':       goto yy60;
-       default:        goto yy55;
+       case '\f':      case ' ':       goto yy74;
+       case '"':       goto yy76;
+       default:        goto yy71;
        }
-yy57:
-#line 155
+yy73:
+#line 160
        { 
                        /* don't modify absolute links */
                        state->state = INITIAL; BEGIN(INITIAL); 
        }
-yy58:  ++YYCURSOR;
+yy74:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy59:  switch(yych){
+yy75:  switch(yych){
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy58;
-       case '"':       goto yy60;
-       default:        goto yy57;
+       case '\f':      case ' ':       goto yy74;
+       case '"':       goto yy76;
+       default:        goto yy73;
        }
-yy60:  yych = *++YYCURSOR;
-       goto yy57;
-yy61:  ++YYCURSOR;
+yy76:  yych = *++YYCURSOR;
+       goto yy73;
+yy77:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy62:  switch(yych){
+yy78:  switch(yych){
        case '\t':      case '\v':
-       case '\f':      case ' ':       goto yy61;
-       case '"':       goto yy63;
-       default:        goto yy54;
-       }
-yy63:  yych = *++YYCURSOR;
-       goto yy54;
-yy64:  yych = *++YYCURSOR;
-yy65:  YYCURSOR -= 1;
-#line 154
-       { BEGIN(INITIAL); }
+       case '\f':      case ' ':       goto yy77;
+       case '"':       goto yy79;
+       default:        goto yy64;
+       }
+yy79:  yych = *++YYCURSOR;
+       goto yy64;
 }
-#line 159
+#line 164
 
                        break;
        }
index d9835cae46883814e5ff40e2e0333131c9ca73c9..e8ad981de666a2d730f8cf681019f59872b6e78e 100644 (file)
@@ -129,9 +129,13 @@ C = [cC];
 E = [eE];
 F = [fF];
 H = [hH];
+I = [iI];
 M = [mM];
+N = [nN];
+O = [oO];
 R = [rR];
 S = [sS];
+T = [tT];
 */
 
 static void url_scanner(lexdata *state)
@@ -143,6 +147,7 @@ static void url_scanner(lexdata *state)
 /*!re2c
        "<" F R A M E ws+ S R C ws* "=" ws*             { BEGIN(REF); }
        "<" A ws+ H R E F ws* "="       ws*                     { BEGIN(REF); }
+       "<" F O R M ws+ A C T I O N ws* "=" ws* { BEGIN(REF); }
        "<" A R E A ws+ H R E F ws* "=" ws*             { BEGIN(REF); }
        (all\[<])+                                                      { BEGIN(INITIAL); }
        eof                                                                     { FINISH; }
@@ -150,9 +155,9 @@ static void url_scanner(lexdata *state)
                        break;
                case REF: 
 /*!re2c
-    ["]? ws* (all\[> \t\v\f":#])+ ws* ["]? { BEGIN(INITIAL); }
-    ["]? ws* (all\[> \t\v\f":#])+/[#]  { BEGIN(INITIAL); }
-    ["]? ws* (all\[> \t\v\f"#])+ ws* ["]? { 
+    ["]? ws* (all\[> \t\v\f":#])* ws* ["]? { BEGIN(INITIAL); }
+    ["]? ws* (all\[> \t\v\f":#])/[#]  { BEGIN(INITIAL); }
+    ["]? ws* (all\[> \t\v\f"#])* ws* ["]? { 
                        /* don't modify absolute links */
                        state->state = INITIAL; BEGIN(INITIAL); 
        }