Add <FORM ACTION=...> tag

This commit is contained in:
Sascha Schumann 1999-11-02 18:35:59 +00:00
parent 11287bba4d
commit 358af8b9eb
2 changed files with 209 additions and 132 deletions

View 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;
}
yy26: yych = *++YYCURSOR;
switch(yych){
case 'E': case 'e': goto yy27;
default: goto yy3;
default: goto yy26;
}
yy26:
#line 150
{ BEGIN(REF); }
yy27: yych = *++YYCURSOR;
switch(yych){
case 'A': case 'a': goto yy28;
case 'M': case 'm': goto yy28;
default: goto yy3;
}
yy28: yych = *++YYCURSOR;
switch(yych){
case 'H': case 'h': goto yy3;
default: goto yy30;
}
yy29: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy30: switch(yych){
case '\t': case '\v':
case '\f': case ' ': goto yy29;
case 'H': case 'h': goto yy31;
case 'E': case 'e': goto yy29;
default: goto yy3;
}
yy31: yych = *++YYCURSOR;
yy29: yych = *++YYCURSOR;
switch(yych){
case 'R': case 'r': goto yy32;
case 'S': case 's': goto yy3;
default: goto yy31;
}
yy30: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy31: switch(yych){
case '\t': case '\v':
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;
switch(yych){
case 'R': case 'r': goto yy40;
default: goto yy3;
}
yy40: yych = *++YYCURSOR;
switch(yych){
case 'E': case 'e': goto yy41;
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 'F': case 'f': goto yy42;
case 'E': case 'e': goto yy42;
default: goto yy3;
}
yy42: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy43: switch(yych){
case '\t': case '\v':
case '\f': case ' ': goto yy42;
case '=': goto yy44;
yy42: yych = *++YYCURSOR;
switch(yych){
case 'A': case 'a': goto yy43;
default: goto yy3;
}
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;
default: goto yy46;
case 'H': case 'h': goto yy46;
default: goto yy3;
}
yy46:
#line 145
yy46: yych = *++YYCURSOR;
switch(yych){
case 'R': case 'r': goto yy47;
default: goto yy3;
}
yy47: yych = *++YYCURSOR;
switch(yych){
case 'E': case 'e': goto yy48;
default: goto yy3;
}
yy48: yych = *++YYCURSOR;
switch(yych){
case 'F': case 'f': goto yy49;
default: goto yy3;
}
yy49: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy50: switch(yych){
case '\t': case '\v':
case '\f': case ' ': goto yy49;
case '=': goto yy51;
default: goto yy3;
}
yy51: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy52: switch(yych){
case '\t': case '\v':
case '\f': case ' ': goto yy51;
default: goto yy53;
}
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 149
#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;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy51: switch(yych){
case '\000': case '"':
case '#': case '>': goto yy49;
case '\t': case '\v':
case '\f': case ' ': goto yy50;
case ':': goto yy55;
default: goto yy52;
}
yy52: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy53: switch(yych){
case '\000': case '>': goto yy54;
case '\t': case '\v':
case '\f': case ' ': goto yy61;
case '"': goto yy63;
case '#': goto yy64;
case ':': goto yy55;
default: goto yy52;
}
yy54:
#line 153
yy64:
#line 158
{ BEGIN(INITIAL); }
yy55: ++YYCURSOR;
yy65: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy56: switch(yych){
case '\000': case '#': case '>': goto yy57;
yy66: switch(yych){
case '\000': case '>': goto yy64;
case '\t': case '\v':
case '\f': case ' ': goto yy58;
case '"': goto yy60;
default: goto yy55;
case '\f': case ' ': goto yy65;
case '"': goto yy79;
case '#': goto yy69;
case ':': goto yy71;
default: goto yy67;
}
yy57:
#line 155
yy67: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy68: switch(yych){
case '\000': case '>': goto yy64;
case '\t': case '\v':
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); }
yy71: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy72: switch(yych){
case '\000': case '#': case '>': goto yy73;
case '\t': case '\v':
case '\f': case ' ': goto yy74;
case '"': goto yy76;
default: goto yy71;
}
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;
case '\f': case ' ': goto yy77;
case '"': goto yy79;
default: goto yy64;
}
yy63: yych = *++YYCURSOR;
goto yy54;
yy64: yych = *++YYCURSOR;
yy65: YYCURSOR -= 1;
#line 154
{ BEGIN(INITIAL); }
yy79: yych = *++YYCURSOR;
goto yy64;
}
#line 159
#line 164
break;
}

View 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);
}