|
|
|
@ -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; |
|
|
|
} |
|
|
|
|