mirror of https://github.com/ZDoom/gzdoom-gles.git
541 lines
10 KiB
C
541 lines
10 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;
|
||
|
|
||
|
std:
|
||
|
tok = YYCURSOR;
|
||
|
#line 32 "src/sc_man_scanner.re"
|
||
|
|
||
|
if (!CMode)
|
||
|
{
|
||
|
|
||
|
#line 26 "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 46 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 55 "src/sc_man_scanner.h"
|
||
|
yy3:
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych == '*') goto yy28;
|
||
|
if(yych == '/') goto yy24;
|
||
|
goto yy19;
|
||
|
yy4:
|
||
|
yych = *++YYCURSOR;
|
||
|
goto yy25;
|
||
|
#line 48 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 66 "src/sc_man_scanner.h"
|
||
|
yy6:
|
||
|
++YYCURSOR;
|
||
|
yych = *YYCURSOR;
|
||
|
goto yy23;
|
||
|
yy7:
|
||
|
#line 39 "src/sc_man_scanner.re"
|
||
|
{ goto std; }
|
||
|
#line 74 "src/sc_man_scanner.h"
|
||
|
yy8:
|
||
|
++YYCURSOR;
|
||
|
#line 40 "src/sc_man_scanner.re"
|
||
|
{ goto newline; }
|
||
|
#line 79 "src/sc_man_scanner.h"
|
||
|
yy10:
|
||
|
++YYCURSOR;
|
||
|
#line 41 "src/sc_man_scanner.re"
|
||
|
{ goto string; }
|
||
|
#line 84 "src/sc_man_scanner.h"
|
||
|
yy12:
|
||
|
++YYCURSOR;
|
||
|
#line 43 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 89 "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 37 "src/sc_man_scanner.re"
|
||
|
{ goto newline; }
|
||
|
#line 189 "src/sc_man_scanner.h"
|
||
|
yy28:
|
||
|
++YYCURSOR;
|
||
|
#line 36 "src/sc_man_scanner.re"
|
||
|
{ goto comment; }
|
||
|
#line 194 "src/sc_man_scanner.h"
|
||
|
}
|
||
|
#line 49 "src/sc_man_scanner.re"
|
||
|
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
|
||
|
#line 202 "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 yy48;
|
||
|
}
|
||
|
} else {
|
||
|
if(yych <= ',') {
|
||
|
if(yych <= '&') goto yy43;
|
||
|
if(yych <= '\'') goto yy49;
|
||
|
goto yy48;
|
||
|
} else {
|
||
|
if(yych <= '-') goto yy40;
|
||
|
if(yych <= '.') goto yy48;
|
||
|
if(yych >= '0') goto yy41;
|
||
|
}
|
||
|
}
|
||
|
} else {
|
||
|
if(yych <= '^') {
|
||
|
if(yych <= '=') {
|
||
|
if(yych <= ';') goto yy48;
|
||
|
if(yych <= '<') goto yy46;
|
||
|
goto yy44;
|
||
|
} else {
|
||
|
if(yych <= '>') goto yy47;
|
||
|
if(yych <= '@') goto yy48;
|
||
|
if(yych <= 'Z') goto yy49;
|
||
|
goto yy48;
|
||
|
}
|
||
|
} else {
|
||
|
if(yych <= 'z') {
|
||
|
if(yych == '`') goto yy48;
|
||
|
goto yy49;
|
||
|
} else {
|
||
|
if(yych == '|') goto yy45;
|
||
|
if(yych <= '~') goto yy48;
|
||
|
goto yy49;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych == '*') goto yy73;
|
||
|
if(yych == '/') goto yy71;
|
||
|
yy33:
|
||
|
#line 67 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 256 "src/sc_man_scanner.h"
|
||
|
yy34:
|
||
|
++YYCURSOR;
|
||
|
yych = *YYCURSOR;
|
||
|
goto yy70;
|
||
|
yy35:
|
||
|
#line 57 "src/sc_man_scanner.re"
|
||
|
{ goto std; }
|
||
|
#line 264 "src/sc_man_scanner.h"
|
||
|
yy36:
|
||
|
++YYCURSOR;
|
||
|
#line 58 "src/sc_man_scanner.re"
|
||
|
{ goto newline; }
|
||
|
#line 269 "src/sc_man_scanner.h"
|
||
|
yy38:
|
||
|
++YYCURSOR;
|
||
|
#line 59 "src/sc_man_scanner.re"
|
||
|
{ goto string; }
|
||
|
#line 274 "src/sc_man_scanner.h"
|
||
|
yy40:
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych <= '/') goto yy33;
|
||
|
if(yych <= '9') goto yy67;
|
||
|
goto yy33;
|
||
|
yy41:
|
||
|
++YYCURSOR;
|
||
|
if((yych = *YYCURSOR) <= '@') {
|
||
|
if(yych <= '-') {
|
||
|
if(yych == '\'') goto yy51;
|
||
|
} else {
|
||
|
if(yych <= '.') goto yy65;
|
||
|
if(yych <= '/') goto yy42;
|
||
|
if(yych <= '9') goto yy63;
|
||
|
}
|
||
|
} else {
|
||
|
if(yych <= '_') {
|
||
|
if(yych <= 'Z') goto yy51;
|
||
|
if(yych >= '_') goto yy51;
|
||
|
} else {
|
||
|
if(yych <= '`') goto yy42;
|
||
|
if(yych <= 'z') goto yy51;
|
||
|
if(yych >= 0x7F) goto yy51;
|
||
|
}
|
||
|
}
|
||
|
yy42:
|
||
|
#line 61 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 303 "src/sc_man_scanner.h"
|
||
|
yy43:
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych == '&') goto yy61;
|
||
|
goto yy33;
|
||
|
yy44:
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych == '=') goto yy59;
|
||
|
goto yy33;
|
||
|
yy45:
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych == '|') goto yy57;
|
||
|
goto yy33;
|
||
|
yy46:
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych == '<') goto yy55;
|
||
|
goto yy33;
|
||
|
yy47:
|
||
|
yych = *++YYCURSOR;
|
||
|
if(yych == '>') goto yy53;
|
||
|
goto yy33;
|
||
|
yy48:
|
||
|
yych = *++YYCURSOR;
|
||
|
goto yy33;
|
||
|
yy49:
|
||
|
++YYCURSOR;
|
||
|
yych = *YYCURSOR;
|
||
|
goto yy52;
|
||
|
yy50:
|
||
|
#line 68 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 334 "src/sc_man_scanner.h"
|
||
|
yy51:
|
||
|
++YYCURSOR;
|
||
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||
|
yych = *YYCURSOR;
|
||
|
yy52:
|
||
|
if(yych <= 'Z') {
|
||
|
if(yych <= '/') {
|
||
|
if(yych == '\'') goto yy51;
|
||
|
goto yy50;
|
||
|
} else {
|
||
|
if(yych <= '9') goto yy51;
|
||
|
if(yych <= '@') goto yy50;
|
||
|
goto yy51;
|
||
|
}
|
||
|
} else {
|
||
|
if(yych <= '`') {
|
||
|
if(yych == '_') goto yy51;
|
||
|
goto yy50;
|
||
|
} else {
|
||
|
if(yych <= 'z') goto yy51;
|
||
|
if(yych <= '~') goto yy50;
|
||
|
goto yy51;
|
||
|
}
|
||
|
}
|
||
|
yy53:
|
||
|
++YYCURSOR;
|
||
|
#line 66 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 363 "src/sc_man_scanner.h"
|
||
|
yy55:
|
||
|
++YYCURSOR;
|
||
|
#line 65 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 368 "src/sc_man_scanner.h"
|
||
|
yy57:
|
||
|
++YYCURSOR;
|
||
|
#line 64 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 373 "src/sc_man_scanner.h"
|
||
|
yy59:
|
||
|
++YYCURSOR;
|
||
|
#line 63 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 378 "src/sc_man_scanner.h"
|
||
|
yy61:
|
||
|
++YYCURSOR;
|
||
|
#line 62 "src/sc_man_scanner.re"
|
||
|
{ goto normal_token; }
|
||
|
#line 383 "src/sc_man_scanner.h"
|
||
|
yy63:
|
||
|
++YYCURSOR;
|
||
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||
|
yych = *YYCURSOR;
|
||
|
if(yych <= '@') {
|
||
|
if(yych <= '-') {
|
||
|
if(yych == '\'') goto yy51;
|
||
|
goto yy42;
|
||
|
} else {
|
||
|
if(yych <= '.') goto yy65;
|
||
|
if(yych <= '/') goto yy42;
|
||
|
if(yych <= '9') goto yy63;
|
||
|
goto yy42;
|
||
|
}
|
||
|
} else {
|
||
|
if(yych <= '_') {
|
||
|
if(yych <= 'Z') goto yy51;
|
||
|
if(yych <= '^') goto yy42;
|
||
|
goto yy51;
|
||
|
} else {
|
||
|
if(yych <= '`') goto yy42;
|
||
|
if(yych <= 'z') goto yy51;
|
||
|
if(yych <= '~') goto yy42;
|
||
|
goto yy51;
|
||
|
}
|
||
|
}
|
||
|
yy65:
|
||
|
++YYCURSOR;
|
||
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||
|
yych = *YYCURSOR;
|
||
|
if(yych <= '/') goto yy42;
|
||
|
if(yych <= '9') goto yy65;
|
||
|
goto yy42;
|
||
|
yy67:
|
||
|
++YYCURSOR;
|
||
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||
|
yych = *YYCURSOR;
|
||
|
if(yych == '.') goto yy65;
|
||
|
if(yych <= '/') goto yy42;
|
||
|
if(yych <= '9') goto yy67;
|
||
|
goto yy42;
|
||
|
yy69:
|
||
|
++YYCURSOR;
|
||
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||
|
yych = *YYCURSOR;
|
||
|
yy70:
|
||
|
if(yych == 0x0A) goto yy35;
|
||
|
if(yych <= ' ') goto yy69;
|
||
|
goto yy35;
|
||
|
yy71:
|
||
|
++YYCURSOR;
|
||
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||
|
yych = *YYCURSOR;
|
||
|
if(yych == 0x0A) goto yy75;
|
||
|
goto yy71;
|
||
|
yy73:
|
||
|
++YYCURSOR;
|
||
|
#line 54 "src/sc_man_scanner.re"
|
||
|
{ goto comment; }
|
||
|
#line 443 "src/sc_man_scanner.h"
|
||
|
yy75:
|
||
|
++YYCURSOR;
|
||
|
#line 55 "src/sc_man_scanner.re"
|
||
|
{ goto newline; }
|
||
|
#line 448 "src/sc_man_scanner.h"
|
||
|
}
|
||
|
#line 71 "src/sc_man_scanner.re"
|
||
|
|
||
|
}
|
||
|
|
||
|
comment:
|
||
|
|
||
|
#line 456 "src/sc_man_scanner.h"
|
||
|
{
|
||
|
YYCTYPE yych;
|
||
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
||
|
yych = *YYCURSOR;
|
||
|
if(yych == 0x0A) goto yy81;
|
||
|
if(yych != '*') goto yy83;
|
||
|
++YYCURSOR;
|
||
|
if((yych = *YYCURSOR) == '/') goto yy84;
|
||
|
yy80:
|
||
|
#line 88 "src/sc_man_scanner.re"
|
||
|
{ goto comment; }
|
||
|
#line 468 "src/sc_man_scanner.h"
|
||
|
yy81:
|
||
|
++YYCURSOR;
|
||
|
#line 78 "src/sc_man_scanner.re"
|
||
|
{
|
||
|
if (YYCURSOR >= YYLIMIT)
|
||
|
{
|
||
|
ScriptPtr = ScriptEndPtr;
|
||
|
return false;
|
||
|
}
|
||
|
sc_Line++;
|
||
|
sc_Crossed = true;
|
||
|
goto comment;
|
||
|
}
|
||
|
#line 482 "src/sc_man_scanner.h"
|
||
|
yy83:
|
||
|
yych = *++YYCURSOR;
|
||
|
goto yy80;
|
||
|
yy84:
|
||
|
++YYCURSOR;
|
||
|
#line 76 "src/sc_man_scanner.re"
|
||
|
{ goto std; }
|
||
|
#line 490 "src/sc_man_scanner.h"
|
||
|
}
|
||
|
#line 89 "src/sc_man_scanner.re"
|
||
|
|
||
|
|
||
|
newline:
|
||
|
if (YYCURSOR >= YYLIMIT)
|
||
|
{
|
||
|
ScriptPtr = ScriptEndPtr;
|
||
|
return false;
|
||
|
}
|
||
|
sc_Line++;
|
||
|
sc_Crossed = true;
|
||
|
goto std;
|
||
|
|
||
|
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;
|