vkdoom_m/src/sc_man_scanner.h
Randy Heit c32afb8b4c - Fixes for GCC on Linux.
SVN r202 (trunk)
2006-06-20 22:26:04 +00:00

564 lines
11 KiB
C

/* Generated by re2c 0.10.5 */
#line 1 "src/sc_man_scanner.re"
#define YYCTYPE char
#define YYCURSOR cursor
#define YYLIMIT limit
#define YYMARKER marker
// This buffer must be as large as the largest YYFILL call
YYCTYPE eofbuf[2];
#define YYFILL(n) { if(n == 2) { eofbuf[0] = *cursor; } eofbuf[n-1] = '\n'; cursor = eofbuf; limit = eofbuf + n - 1; sc_End = true; }
//#define YYDEBUG(s,c) { Printf ("%d: %02x\n", s, c); }
#define YYDEBUG(s,c)
char *cursor = ScriptPtr;
char *limit = ScriptEndPtr;
std1:
tok = YYCURSOR;
std2:
#line 33 "src/sc_man_scanner.re"
if (!CMode)
{
#line 27 "src/sc_man_scanner.h"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '/') {
if(yych <= ' ') {
if(yych == 0x0A) goto yy8;
goto yy6;
} else {
if(yych == '"') goto yy10;
if(yych <= '.') goto yy14;
goto yy3;
}
} else {
if(yych <= '<') {
if(yych == ';') goto yy4;
goto yy14;
} else {
if(yych <= '=') goto yy12;
if(yych <= 'z') goto yy14;
if(yych <= '}') goto yy12;
goto yy14;
}
}
yy2:
#line 47 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 56 "src/sc_man_scanner.h"
yy3:
yych = *++YYCURSOR;
if(yych == '*') goto yy28;
if(yych == '/') goto yy24;
goto yy19;
yy4:
yych = *++YYCURSOR;
goto yy25;
#line 49 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 67 "src/sc_man_scanner.h"
yy6:
++YYCURSOR;
yych = *YYCURSOR;
goto yy23;
yy7:
#line 40 "src/sc_man_scanner.re"
{ goto std1; }
#line 75 "src/sc_man_scanner.h"
yy8:
++YYCURSOR;
#line 41 "src/sc_man_scanner.re"
{ goto newline; }
#line 80 "src/sc_man_scanner.h"
yy10:
++YYCURSOR;
#line 42 "src/sc_man_scanner.re"
{ goto string; }
#line 85 "src/sc_man_scanner.h"
yy12:
++YYCURSOR;
#line 44 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 90 "src/sc_man_scanner.h"
yy14:
yych = *++YYCURSOR;
goto yy17;
yy15:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '/') {
if(yych <= '"') {
if(yych == '!') goto yy18;
goto yy2;
} else {
if(yych == '*') goto yy2;
if(yych <= '.') goto yy18;
goto yy2;
}
} else {
if(yych <= '<') {
if(yych == ';') goto yy2;
goto yy18;
} else {
if(yych <= '=') goto yy2;
if(yych <= 'z') goto yy18;
if(yych <= '}') goto yy2;
goto yy18;
}
}
yy16:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy17:
if(yych <= ':') {
if(yych <= '"') {
if(yych == '!') goto yy16;
goto yy2;
} else {
if(yych == '/') goto yy15;
goto yy16;
}
} else {
if(yych <= '=') {
if(yych == '<') goto yy16;
goto yy2;
} else {
if(yych <= 'z') goto yy16;
if(yych <= '}') goto yy2;
goto yy16;
}
}
yy18:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy19:
if(yych <= '/') {
if(yych <= '"') {
if(yych == '!') goto yy18;
goto yy2;
} else {
if(yych == '*') goto yy20;
if(yych <= '.') goto yy18;
goto yy15;
}
} else {
if(yych <= '<') {
if(yych == ';') goto yy2;
goto yy18;
} else {
if(yych <= '=') goto yy2;
if(yych <= 'z') goto yy18;
if(yych <= '}') goto yy2;
goto yy18;
}
}
yy20:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == '*') goto yy20;
if(yych == '/') goto yy15;
goto yy2;
yy22:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy23:
if(yych == 0x0A) goto yy7;
if(yych <= ' ') goto yy22;
goto yy7;
yy24:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy25:
if(yych != 0x0A) goto yy24;
++YYCURSOR;
#line 38 "src/sc_man_scanner.re"
{ goto newline; }
#line 190 "src/sc_man_scanner.h"
yy28:
++YYCURSOR;
#line 37 "src/sc_man_scanner.re"
{ goto comment; }
#line 195 "src/sc_man_scanner.h"
}
#line 50 "src/sc_man_scanner.re"
}
else
{
#line 203 "src/sc_man_scanner.h"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '9') {
if(yych <= '%') {
if(yych <= ' ') {
if(yych == 0x0A) goto yy36;
goto yy34;
} else {
if(yych == '"') goto yy38;
goto yy50;
}
} else {
if(yych <= ',') {
if(yych <= '&') goto yy45;
if(yych <= '\'') goto yy51;
goto yy50;
} else {
if(yych <= '-') goto yy40;
if(yych <= '.') goto yy44;
if(yych >= '0') goto yy42;
}
}
} else {
if(yych <= '^') {
if(yych <= '=') {
if(yych <= ';') goto yy50;
if(yych <= '<') goto yy48;
goto yy46;
} else {
if(yych <= '>') goto yy49;
if(yych <= '@') goto yy50;
if(yych <= 'Z') goto yy51;
goto yy50;
}
} else {
if(yych <= 'z') {
if(yych == '`') goto yy50;
goto yy51;
} else {
if(yych == '|') goto yy47;
if(yych <= '~') goto yy50;
goto yy51;
}
}
}
yych = *++YYCURSOR;
if(yych == '*') goto yy75;
if(yych == '/') goto yy73;
yy33:
#line 69 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 257 "src/sc_man_scanner.h"
yy34:
++YYCURSOR;
yych = *YYCURSOR;
goto yy72;
yy35:
#line 58 "src/sc_man_scanner.re"
{ goto std1; }
#line 265 "src/sc_man_scanner.h"
yy36:
++YYCURSOR;
#line 59 "src/sc_man_scanner.re"
{ goto newline; }
#line 270 "src/sc_man_scanner.h"
yy38:
++YYCURSOR;
#line 60 "src/sc_man_scanner.re"
{ goto string; }
#line 275 "src/sc_man_scanner.h"
yy40:
++YYCURSOR;
#line 62 "src/sc_man_scanner.re"
{ goto negative_check; }
#line 280 "src/sc_man_scanner.h"
yy42:
++YYCURSOR;
if((yych = *YYCURSOR) <= '@') {
if(yych <= '-') {
if(yych == '\'') goto yy53;
} else {
if(yych <= '.') goto yy69;
if(yych <= '/') goto yy43;
if(yych <= '9') goto yy67;
}
} else {
if(yych <= '_') {
if(yych <= 'Z') goto yy53;
if(yych >= '_') goto yy53;
} else {
if(yych <= '`') goto yy43;
if(yych <= 'z') goto yy53;
if(yych >= 0x7F) goto yy53;
}
}
yy43:
#line 63 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 304 "src/sc_man_scanner.h"
yy44:
yych = *++YYCURSOR;
if(yych <= '/') goto yy33;
if(yych <= '9') goto yy65;
goto yy33;
yy45:
yych = *++YYCURSOR;
if(yych == '&') goto yy63;
goto yy33;
yy46:
yych = *++YYCURSOR;
if(yych == '=') goto yy61;
goto yy33;
yy47:
yych = *++YYCURSOR;
if(yych == '|') goto yy59;
goto yy33;
yy48:
yych = *++YYCURSOR;
if(yych == '<') goto yy57;
goto yy33;
yy49:
yych = *++YYCURSOR;
if(yych == '>') goto yy55;
goto yy33;
yy50:
yych = *++YYCURSOR;
goto yy33;
yy51:
++YYCURSOR;
yych = *YYCURSOR;
goto yy54;
yy52:
#line 70 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 340 "src/sc_man_scanner.h"
yy53:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy54:
if(yych <= 'Z') {
if(yych <= '/') {
if(yych == '\'') goto yy53;
goto yy52;
} else {
if(yych <= '9') goto yy53;
if(yych <= '@') goto yy52;
goto yy53;
}
} else {
if(yych <= '`') {
if(yych == '_') goto yy53;
goto yy52;
} else {
if(yych <= 'z') goto yy53;
if(yych <= '~') goto yy52;
goto yy53;
}
}
yy55:
++YYCURSOR;
#line 68 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 369 "src/sc_man_scanner.h"
yy57:
++YYCURSOR;
#line 67 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 374 "src/sc_man_scanner.h"
yy59:
++YYCURSOR;
#line 66 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 379 "src/sc_man_scanner.h"
yy61:
++YYCURSOR;
#line 65 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 384 "src/sc_man_scanner.h"
yy63:
++YYCURSOR;
#line 64 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 389 "src/sc_man_scanner.h"
yy65:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '/') goto yy43;
if(yych <= '9') goto yy65;
goto yy43;
yy67:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '@') {
if(yych <= '-') {
if(yych == '\'') goto yy53;
goto yy43;
} else {
if(yych <= '.') goto yy69;
if(yych <= '/') goto yy43;
if(yych <= '9') goto yy67;
goto yy43;
}
} else {
if(yych <= '_') {
if(yych <= 'Z') goto yy53;
if(yych <= '^') goto yy43;
goto yy53;
} else {
if(yych <= '`') goto yy43;
if(yych <= 'z') goto yy53;
if(yych <= '~') goto yy43;
goto yy53;
}
}
yy69:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '/') goto yy43;
if(yych <= '9') goto yy69;
goto yy43;
yy71:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy72:
if(yych == 0x0A) goto yy35;
if(yych <= ' ') goto yy71;
goto yy35;
yy73:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == 0x0A) goto yy77;
goto yy73;
yy75:
++YYCURSOR;
#line 55 "src/sc_man_scanner.re"
{ goto comment; }
#line 448 "src/sc_man_scanner.h"
yy77:
++YYCURSOR;
#line 56 "src/sc_man_scanner.re"
{ goto newline; }
#line 453 "src/sc_man_scanner.h"
}
#line 73 "src/sc_man_scanner.re"
}
negative_check:
if (YYCURSOR >= YYLIMIT)
{
goto normal_token;
}
if (*YYCURSOR >= '0' && *YYCURSOR <= '9')
{
goto std2;
}
if (*YYCURSOR != '.' || YYCURSOR+1 >= YYLIMIT)
{
goto normal_token;
}
if (*(YYCURSOR+1) >= '0' && *YYCURSOR <= '9')
{
goto std2;
}
goto normal_token;
comment:
#line 480 "src/sc_man_scanner.h"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych == 0x0A) goto yy83;
if(yych != '*') goto yy85;
++YYCURSOR;
if((yych = *YYCURSOR) == '/') goto yy86;
yy82:
#line 109 "src/sc_man_scanner.re"
{ goto comment; }
#line 492 "src/sc_man_scanner.h"
yy83:
++YYCURSOR;
#line 99 "src/sc_man_scanner.re"
{
if (YYCURSOR >= YYLIMIT)
{
ScriptPtr = ScriptEndPtr;
return false;
}
sc_Line++;
sc_Crossed = true;
goto comment;
}
#line 506 "src/sc_man_scanner.h"
yy85:
yych = *++YYCURSOR;
goto yy82;
yy86:
++YYCURSOR;
#line 97 "src/sc_man_scanner.re"
{ goto std1; }
#line 514 "src/sc_man_scanner.h"
}
#line 110 "src/sc_man_scanner.re"
newline:
if (YYCURSOR >= YYLIMIT)
{
ScriptPtr = ScriptEndPtr;
return false;
}
sc_Line++;
sc_Crossed = true;
goto std1;
normal_token:
ScriptPtr = (YYCURSOR >= YYLIMIT) ? ScriptEndPtr : cursor;
sc_StringLen = MIN (ScriptPtr - tok, MAX_STRING_SIZE-1);
memcpy (sc_String, tok, sc_StringLen);
sc_String[sc_StringLen] = '\0';
return true;
string:
if (YYLIMIT != ScriptEndPtr)
{
ScriptPtr = ScriptEndPtr;
return false;
}
ScriptPtr = cursor;
for (sc_StringLen = 0; cursor < YYLIMIT; ++cursor)
{
if (Escape && *cursor == '\\' && *(cursor + 1) == '"')
{
cursor++;
}
else if (*cursor == '"')
{
break;
}
if (*cursor == '\n')
{
sc_Line++;
sc_Crossed = true;
}
if (sc_StringLen < MAX_STRING_SIZE-1)
{
sc_String[sc_StringLen++] = *cursor;
}
}
ScriptPtr = cursor + 1;
sc_String[sc_StringLen] = '\0';
return true;