Rebuilt the lexer with a much newer re2c.
--- a/mojoshader_lexer.c Mon Jul 20 19:22:41 2020 -0400
+++ b/mojoshader_lexer.c Mon Jul 20 19:24:46 2020 -0400
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 */
+/* Generated by re2c 1.2.1 */
/**
* MojoShader; generate shader programs from bytecode of compiled
* Direct3D shaders.
@@ -26,6 +26,7 @@
typedef unsigned char uchar;
#define YYMAXFILL 8
+
#define RET(t) return update_state(s, eoi, cursor, token, (Token) t)
#define YYCTYPE uchar
#define YYCURSOR cursor
@@ -80,32 +81,31 @@
{
YYCTYPE yych;
unsigned int yyaccept = 0;
-
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy61;
+ case 0x00: goto yy2;
case '\t':
case '\v':
case '\f':
- case ' ': goto yy63;
- case '\n': goto yy65;
- case '\r': goto yy67;
- case '!': goto yy35;
+ case ' ': goto yy6;
+ case '\n': goto yy9;
+ case '\r': goto yy11;
+ case '!': goto yy12;
case '"': goto yy14;
- case '#': goto yy37;
- case '%': goto yy25;
- case '&': goto yy29;
- case '\'': goto yy11;
- case '(': goto yy39;
- case ')': goto yy41;
- case '*': goto yy23;
- case '+': goto yy19;
- case ',': goto yy47;
- case '-': goto yy21;
- case '.': goto yy12;
- case '/': goto yy4;
- case '0': goto yy8;
+ case '#': goto yy15;
+ case '%': goto yy17;
+ case '&': goto yy19;
+ case '\'': goto yy21;
+ case '(': goto yy22;
+ case ')': goto yy24;
+ case '*': goto yy26;
+ case '+': goto yy28;
+ case ',': goto yy30;
+ case '-': goto yy32;
+ case '.': goto yy34;
+ case '/': goto yy36;
+ case '0': goto yy38;
case '1':
case '2':
case '3':
@@ -114,13 +114,13 @@
case '6':
case '7':
case '8':
- case '9': goto yy10;
- case ':': goto yy51;
- case ';': goto yy59;
- case '<': goto yy17;
- case '=': goto yy33;
- case '>': goto yy15;
- case '?': goto yy57;
+ case '9': goto yy40;
+ case ':': goto yy42;
+ case ';': goto yy44;
+ case '<': goto yy46;
+ case '=': goto yy48;
+ case '>': goto yy50;
+ case '?': goto yy52;
case 'A':
case 'B':
case 'C':
@@ -173,942 +173,604 @@
case 'w':
case 'x':
case 'y':
- case 'z': goto yy6;
- case '[': goto yy43;
- case '\\': goto yy2;
- case ']': goto yy45;
- case '^': goto yy27;
- case '{': goto yy53;
- case '|': goto yy31;
- case '}': goto yy55;
- case '~': goto yy49;
- default: goto yy68;
+ case 'z': goto yy54;
+ case '[': goto yy57;
+ case '\\': goto yy59;
+ case ']': goto yy60;
+ case '^': goto yy62;
+ case '{': goto yy64;
+ case '|': goto yy66;
+ case '}': goto yy68;
+ case '~': goto yy70;
+ default: goto yy4;
}
yy2:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x08) goto yy3;
- if (yych <= '\r') goto yy177;
- if (yych == ' ') goto yy177;
-yy3:
- { goto bad_chars; }
+ ++YYCURSOR;
+ { if (eoi) { RET(TOKEN_EOI); } goto bad_chars; }
yy4:
++YYCURSOR;
- if ((yych = *YYCURSOR) <= '.') {
- if (yych == '*') goto yy174;
- } else {
- if (yych <= '/') goto yy172;
- if (yych == '=') goto yy170;
- }
- { RET('/'); }
+yy5:
+ { goto bad_chars; }
yy6:
++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy169;
-yy7:
- { RET(TOKEN_IDENTIFIER); }
-yy8:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'X') {
- if (yych <= 'T') {
- if (yych == 'L') goto yy144;
- goto yy160;
- } else {
- if (yych <= 'U') goto yy144;
- if (yych <= 'W') goto yy160;
- goto yy161;
- }
+ if (yych <= '\n') {
+ if (yych == '\t') goto yy6;
} else {
- if (yych <= 't') {
- if (yych == 'l') goto yy144;
- goto yy160;
- } else {
- if (yych <= 'u') goto yy144;
- if (yych == 'x') goto yy161;
- goto yy160;
- }
+ if (yych <= '\f') goto yy6;
+ if (yych == ' ') goto yy6;
}
+ { if (s->report_whitespace) RET(' '); goto scanner_loop; }
yy9:
- { RET(TOKEN_INT_LITERAL); }
+ ++YYCURSOR;
yy10:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy142;
+ { s->line++; RET('\n'); }
yy11:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy3;
- if (yych == '\r') goto yy3;
- goto yy132;
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy9;
+ goto yy10;
yy12:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy13;
- if (yych <= '9') goto yy123;
-yy13:
- { RET('.'); }
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy72;
+ { RET('!'); }
yy14:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy3;
- if (yych == '\r') goto yy3;
- goto yy113;
+ if (yych == '\n') goto yy5;
+ if (yych == '\r') goto yy5;
+ goto yy75;
yy15:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '<') goto yy16;
- if (yych <= '=') goto yy106;
- if (yych <= '>') goto yy108;
-yy16:
- { RET('>'); }
+ yych = *++YYCURSOR;
+ if (yych == '#') goto yy80;
+ { RET(TOKEN_HASH); }
yy17:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= ';') goto yy18;
- if (yych <= '<') goto yy102;
- if (yych <= '=') goto yy100;
-yy18:
- { RET('<'); }
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy82;
+ { RET('%'); }
yy19:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '+') goto yy96;
- if (yych == '=') goto yy98;
- { RET('+'); }
+ yych = *++YYCURSOR;
+ if (yych == '&') goto yy84;
+ if (yych == '=') goto yy86;
+ { RET('&'); }
yy21:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '-') goto yy92;
- if (yych == '=') goto yy94;
- { RET('-'); }
-yy23:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy90;
- { RET('*'); }
-yy25:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy88;
- { RET('%'); }
-yy27:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy86;
- { RET('^'); }
-yy29:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '&') goto yy82;
- if (yych == '=') goto yy84;
- { RET('&'); }
-yy31:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy80;
- if (yych == '|') goto yy78;
- { RET('|'); }
-yy33:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy76;
- { RET('='); }
-yy35:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy74;
- { RET('!'); }
-yy37:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '#') goto yy72;
- { RET(TOKEN_HASH); }
-yy39:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == '\n') goto yy5;
+ if (yych == '\r') goto yy5;
+ goto yy89;
+yy22:
++YYCURSOR;
{ RET('('); }
-yy41:
+yy24:
++YYCURSOR;
{ RET(')'); }
-yy43:
- ++YYCURSOR;
- { RET('['); }
-yy45:
- ++YYCURSOR;
- { RET(']'); }
-yy47:
+yy26:
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy92;
+ { RET('*'); }
+yy28:
+ yych = *++YYCURSOR;
+ if (yych == '+') goto yy94;
+ if (yych == '=') goto yy96;
+ { RET('+'); }
+yy30:
++YYCURSOR;
{ RET(','); }
-yy49:
- ++YYCURSOR;
- { RET('~'); }
-yy51:
+yy32:
+ yych = *++YYCURSOR;
+ if (yych == '-') goto yy98;
+ if (yych == '=') goto yy100;
+ { RET('-'); }
+yy34:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy35;
+ if (yych <= '9') goto yy102;
+yy35:
+ { RET('.'); }
+yy36:
+ yych = *++YYCURSOR;
+ if (yych <= '.') {
+ if (yych == '*') goto yy105;
+ } else {
+ if (yych <= '/') goto yy107;
+ if (yych == '=') goto yy109;
+ }
+ { RET('/'); }
+yy38:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == 'X') goto yy114;
+ if (yych == 'x') goto yy114;
+ goto yy41;
+yy39:
+ { RET(TOKEN_INT_LITERAL); }
+yy40:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+yy41:
+ if (yych <= 'L') {
+ if (yych <= '9') {
+ if (yych == '.') goto yy102;
+ if (yych <= '/') goto yy39;
+ goto yy40;
+ } else {
+ if (yych == 'E') goto yy111;
+ if (yych <= 'K') goto yy39;
+ goto yy112;
+ }
+ } else {
+ if (yych <= 'e') {
+ if (yych == 'U') goto yy112;
+ if (yych <= 'd') goto yy39;
+ goto yy111;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k') goto yy39;
+ goto yy112;
+ } else {
+ if (yych == 'u') goto yy112;
+ goto yy39;
+ }
+ }
+ }
+yy42:
++YYCURSOR;
{ RET(':'); }
-yy53:
+yy44:
++YYCURSOR;
- { RET('{'); }
-yy55:
- ++YYCURSOR;
- { RET('}'); }
-yy57:
+ { if (s->asm_comments) goto singlelinecomment; RET(';'); }
+yy46:
+ yych = *++YYCURSOR;
+ if (yych <= ';') goto yy47;
+ if (yych <= '<') goto yy115;
+ if (yych <= '=') goto yy117;
+yy47:
+ { RET('<'); }
+yy48:
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy119;
+ { RET('='); }
+yy50:
+ yych = *++YYCURSOR;
+ if (yych <= '<') goto yy51;
+ if (yych <= '=') goto yy121;
+ if (yych <= '>') goto yy123;
+yy51:
+ { RET('>'); }
+yy52:
++YYCURSOR;
{ RET('?'); }
-yy59:
- ++YYCURSOR;
- { if (s->asm_comments) goto singlelinecomment; RET(';'); }
-yy61:
- ++YYCURSOR;
- { if (eoi) { RET(TOKEN_EOI); } goto bad_chars; }
-yy63:
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy71;
-yy64:
- { if (s->report_whitespace) RET(' '); goto scanner_loop; }
-yy65:
- ++YYCURSOR;
-yy66:
- { s->line++; RET('\n'); }
-yy67:
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy69;
- goto yy66;
-yy68:
- yych = *++YYCURSOR;
- goto yy3;
-yy69:
- yych = *++YYCURSOR;
- goto yy66;
-yy70:
+yy54:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy71:
- if (yych <= '\n') {
- if (yych == '\t') goto yy70;
- goto yy64;
+ if (yych <= 'Z') {
+ if (yych <= '/') goto yy56;
+ if (yych <= '9') goto yy54;
+ if (yych >= 'A') goto yy54;
} else {
- if (yych <= '\f') goto yy70;
- if (yych == ' ') goto yy70;
- goto yy64;
+ if (yych <= '_') {
+ if (yych >= '_') goto yy54;
+ } else {
+ if (yych <= '`') goto yy56;
+ if (yych <= 'z') goto yy54;
+ }
}
-yy72:
+yy56:
+ { RET(TOKEN_IDENTIFIER); }
+yy57:
+ ++YYCURSOR;
+ { RET('['); }
+yy59:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x08) goto yy5;
+ if (yych <= '\r') goto yy126;
+ if (yych == ' ') goto yy126;
+ goto yy5;
+yy60:
++YYCURSOR;
- { RET(TOKEN_HASHHASH); }
-yy74:
+ { RET(']'); }
+yy62:
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy130;
+ { RET('^'); }
+yy64:
+ ++YYCURSOR;
+ { RET('{'); }
+yy66:
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy132;
+ if (yych == '|') goto yy134;
+ { RET('|'); }
+yy68:
+ ++YYCURSOR;
+ { RET('}'); }
+yy70:
+ ++YYCURSOR;
+ { RET('~'); }
+yy72:
++YYCURSOR;
{ RET(TOKEN_NEQ); }
-yy76:
- ++YYCURSOR;
- { RET(TOKEN_EQL); }
-yy78:
- ++YYCURSOR;
- { RET(TOKEN_OROR); }
-yy80:
- ++YYCURSOR;
- { RET(TOKEN_ORASSIGN); }
-yy82:
- ++YYCURSOR;
- { RET(TOKEN_ANDAND); }
-yy84:
- ++YYCURSOR;
- { RET(TOKEN_ANDASSIGN); }
-yy86:
- ++YYCURSOR;
- { RET(TOKEN_XORASSIGN); }
-yy88:
- ++YYCURSOR;
- { RET(TOKEN_MODASSIGN); }
-yy90:
- ++YYCURSOR;
- { RET(TOKEN_MULTASSIGN); }
-yy92:
- ++YYCURSOR;
- { RET(TOKEN_DECREMENT); }
-yy94:
- ++YYCURSOR;
- { RET(TOKEN_SUBASSIGN); }
-yy96:
- ++YYCURSOR;
- { RET(TOKEN_INCREMENT); }
-yy98:
- ++YYCURSOR;
- { RET(TOKEN_ADDASSIGN); }
-yy100:
- ++YYCURSOR;
- { RET(TOKEN_LEQ); }
-yy102:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy104;
- { RET(TOKEN_LSHIFT); }
-yy104:
- ++YYCURSOR;
- { RET(TOKEN_LSHIFTASSIGN); }
-yy106:
- ++YYCURSOR;
- { RET(TOKEN_GEQ); }
-yy108:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy110;
- { RET(TOKEN_RSHIFT); }
-yy110:
- ++YYCURSOR;
- { RET(TOKEN_RSHIFTASSIGN); }
-yy112:
+yy74:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy113:
+yy75:
if (yych <= '\r') {
- if (yych == '\n') goto yy114;
- if (yych <= '\f') goto yy112;
+ if (yych == '\n') goto yy76;
+ if (yych <= '\f') goto yy74;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy112;
- goto yy116;
+ if (yych <= '!') goto yy74;
+ goto yy77;
} else {
- if (yych == '\\') goto yy115;
- goto yy112;
+ if (yych == '\\') goto yy79;
+ goto yy74;
}
}
-yy114:
+yy76:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- goto yy3;
+ if (yyaccept == 0) {
+ goto yy5;
} else {
- goto yy9;
+ goto yy39;
}
} else {
- goto yy125;
+ goto yy104;
}
-yy115:
+yy77:
+ ++YYCURSOR;
+ { RET(TOKEN_STRING_LITERAL); }
+yy79:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 'b') {
if (yych <= '7') {
if (yych <= '&') {
- if (yych == '"') goto yy112;
- goto yy114;
+ if (yych == '"') goto yy74;
+ goto yy76;
} else {
- if (yych <= '\'') goto yy112;
- if (yych <= '/') goto yy114;
- goto yy119;
+ if (yych <= '\'') goto yy74;
+ if (yych <= '/') goto yy76;
+ goto yy74;
}
} else {
if (yych <= '[') {
- if (yych == '?') goto yy112;
- goto yy114;
+ if (yych == '?') goto yy74;
+ goto yy76;
} else {
- if (yych <= '\\') goto yy112;
- if (yych <= '`') goto yy114;
- goto yy112;
+ if (yych <= '\\') goto yy74;
+ if (yych <= '`') goto yy76;
+ goto yy74;
}
}
} else {
if (yych <= 'r') {
if (yych <= 'm') {
- if (yych == 'f') goto yy112;
- goto yy114;
+ if (yych == 'f') goto yy74;
+ goto yy76;
} else {
- if (yych <= 'n') goto yy112;
- if (yych <= 'q') goto yy114;
- goto yy112;
+ if (yych <= 'n') goto yy74;
+ if (yych <= 'q') goto yy76;
+ goto yy74;
}
} else {
if (yych <= 'u') {
- if (yych == 't') goto yy112;
- goto yy114;
+ if (yych == 't') goto yy74;
+ goto yy76;
} else {
- if (yych <= 'v') goto yy112;
- if (yych == 'x') goto yy118;
- goto yy114;
+ if (yych <= 'v') goto yy74;
+ if (yych == 'x') goto yy136;
+ goto yy76;
}
}
}
-yy116:
+yy80:
+ ++YYCURSOR;
+ { RET(TOKEN_HASHHASH); }
+yy82:
++YYCURSOR;
- { RET(TOKEN_STRING_LITERAL); }
-yy118:
+ { RET(TOKEN_MODASSIGN); }
+yy84:
+ ++YYCURSOR;
+ { RET(TOKEN_ANDAND); }
+yy86:
+ ++YYCURSOR;
+ { RET(TOKEN_ANDASSIGN); }
+yy88:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy114;
- if (yych <= '9') goto yy121;
- goto yy114;
+yy89:
+ if (yych <= '\r') {
+ if (yych == '\n') goto yy76;
+ if (yych <= '\f') goto yy88;
+ goto yy76;
} else {
- if (yych <= 'F') goto yy121;
- if (yych <= '`') goto yy114;
- if (yych <= 'f') goto yy121;
- goto yy114;
+ if (yych <= '\'') {
+ if (yych <= '&') goto yy88;
+ } else {
+ if (yych == '\\') goto yy91;
+ goto yy88;
+ }
}
-yy119:
+ ++YYCURSOR;
+ goto yy39;
+yy91:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '!') {
- if (yych <= '\n') {
- if (yych <= '\t') goto yy112;
- goto yy114;
+ if (yych <= 'b') {
+ if (yych <= '7') {
+ if (yych <= '&') {
+ if (yych == '"') goto yy88;
+ goto yy76;
+ } else {
+ if (yych <= '\'') goto yy88;
+ if (yych <= '/') goto yy76;
+ goto yy88;
+ }
} else {
- if (yych == '\r') goto yy114;
- goto yy112;
+ if (yych <= '[') {
+ if (yych == '?') goto yy88;
+ goto yy76;
+ } else {
+ if (yych <= '\\') goto yy88;
+ if (yych <= '`') goto yy76;
+ goto yy88;
+ }
}
} else {
- if (yych <= '7') {
- if (yych <= '"') goto yy116;
- if (yych <= '/') goto yy112;
- goto yy119;
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych == 'f') goto yy88;
+ goto yy76;
+ } else {
+ if (yych <= 'n') goto yy88;
+ if (yych <= 'q') goto yy76;
+ goto yy88;
+ }
} else {
- if (yych == '\\') goto yy115;
- goto yy112;
+ if (yych <= 'u') {
+ if (yych == 't') goto yy88;
+ goto yy76;
+ } else {
+ if (yych <= 'v') goto yy88;
+ if (yych == 'x') goto yy137;
+ goto yy76;
+ }
}
}
-yy121:
+yy92:
+ ++YYCURSOR;
+ { RET(TOKEN_MULTASSIGN); }
+yy94:
+ ++YYCURSOR;
+ { RET(TOKEN_INCREMENT); }
+yy96:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= '/') {
- if (yych <= '\f') {
- if (yych == '\n') goto yy114;
- goto yy112;
- } else {
- if (yych <= '\r') goto yy114;
- if (yych == '"') goto yy116;
- goto yy112;
- }
- } else {
- if (yych <= '[') {
- if (yych <= '9') goto yy121;
- if (yych <= '@') goto yy112;
- if (yych <= 'F') goto yy121;
- goto yy112;
- } else {
- if (yych <= '\\') goto yy115;
- if (yych <= '`') goto yy112;
- if (yych <= 'f') goto yy121;
- goto yy112;
- }
- }
-yy123:
+ { RET(TOKEN_ADDASSIGN); }
+yy98:
+ ++YYCURSOR;
+ { RET(TOKEN_DECREMENT); }
+yy100:
+ ++YYCURSOR;
+ { RET(TOKEN_SUBASSIGN); }
+yy102:
yyaccept = 2;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= 'G') {
if (yych <= 'D') {
- if (yych <= '/') goto yy125;
- if (yych <= '9') goto yy123;
+ if (yych <= '/') goto yy104;
+ if (yych <= '9') goto yy102;
} else {
- if (yych <= 'E') goto yy126;
- if (yych <= 'F') goto yy127;
+ if (yych <= 'E') goto yy111;
+ if (yych <= 'F') goto yy138;
}
} else {
if (yych <= 'e') {
- if (yych <= 'H') goto yy127;
- if (yych >= 'e') goto yy126;
+ if (yych <= 'H') goto yy138;
+ if (yych >= 'e') goto yy111;
} else {
- if (yych == 'g') goto yy125;
- if (yych <= 'h') goto yy127;
+ if (yych == 'g') goto yy104;
+ if (yych <= 'h') goto yy138;
}
}
-yy125:
+yy104:
{ RET(TOKEN_FLOAT_LITERAL); }
-yy126:
+yy105:
+ ++YYCURSOR;
+ { goto multilinecomment; }
+yy107:
+ ++YYCURSOR;
+ { goto singlelinecomment; }
+yy109:
+ ++YYCURSOR;
+ { RET(TOKEN_DIVASSIGN); }
+yy111:
yych = *++YYCURSOR;
if (yych <= ',') {
- if (yych == '+') goto yy128;
- goto yy114;
+ if (yych == '+') goto yy139;
+ goto yy76;
} else {
- if (yych <= '-') goto yy128;
- if (yych <= '/') goto yy114;
- if (yych <= '9') goto yy129;
- goto yy114;
+ if (yych <= '-') goto yy139;
+ if (yych <= '/') goto yy76;
+ if (yych <= '9') goto yy140;
+ goto yy76;
}
-yy127:
- yych = *++YYCURSOR;
- goto yy125;
-yy128:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy114;
- if (yych >= ':') goto yy114;
-yy129:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= 'G') {
- if (yych <= '9') {
- if (yych <= '/') goto yy125;
- goto yy129;
- } else {
- if (yych == 'F') goto yy127;
- goto yy125;
- }
- } else {
- if (yych <= 'f') {
- if (yych <= 'H') goto yy127;
- if (yych <= 'e') goto yy125;
- goto yy127;
- } else {
- if (yych == 'h') goto yy127;
- goto yy125;
- }
- }
-yy131:
+yy112:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy132:
- if (yych <= '\r') {
- if (yych == '\n') goto yy114;
- if (yych <= '\f') goto yy131;
- goto yy114;
+ if (yych <= 'U') {
+ if (yych == 'L') goto yy112;
+ if (yych <= 'T') goto yy39;
+ goto yy112;
} else {
- if (yych <= '\'') {
- if (yych <= '&') goto yy131;
- goto yy134;
+ if (yych <= 'l') {
+ if (yych <= 'k') goto yy39;
+ goto yy112;
} else {
- if (yych != '\\') goto yy131;
+ if (yych == 'u') goto yy112;
+ goto yy39;
}
}
-yy133:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= 'b') {
- if (yych <= '7') {
- if (yych <= '&') {
- if (yych == '"') goto yy131;
- goto yy114;
- } else {
- if (yych <= '\'') goto yy131;
- if (yych <= '/') goto yy114;
- goto yy136;
- }
- } else {
- if (yych <= '[') {
- if (yych == '?') goto yy131;
- goto yy114;
- } else {
- if (yych <= '\\') goto yy131;
- if (yych <= '`') goto yy114;
- goto yy131;
- }
- }
+yy114:
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy76;
+ if (yych <= '9') goto yy142;
+ goto yy76;
} else {
- if (yych <= 'r') {
- if (yych <= 'm') {
- if (yych == 'f') goto yy131;
- goto yy114;
- } else {
- if (yych <= 'n') goto yy131;
- if (yych <= 'q') goto yy114;
- goto yy131;
- }
- } else {
- if (yych <= 'u') {
- if (yych == 't') goto yy131;
- goto yy114;
- } else {
- if (yych <= 'v') goto yy131;
- if (yych == 'x') goto yy135;
- goto yy114;
- }
- }
+ if (yych <= 'F') goto yy142;
+ if (yych <= '`') goto yy76;
+ if (yych <= 'f') goto yy142;
+ goto yy76;
}
-yy134:
+yy115:
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy144;
+ { RET(TOKEN_LSHIFT); }
+yy117:
+ ++YYCURSOR;
+ { RET(TOKEN_LEQ); }
+yy119:
+ ++YYCURSOR;
+ { RET(TOKEN_EQL); }
+yy121:
+ ++YYCURSOR;
+ { RET(TOKEN_GEQ); }
+yy123:
yych = *++YYCURSOR;
- goto yy9;
-yy135:
+ if (yych == '=') goto yy146;
+ { RET(TOKEN_RSHIFT); }
+yy125:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy126:
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy76;
+ if (yych != '\n') goto yy125;
+ } else {
+ if (yych <= '\r') goto yy129;
+ if (yych == ' ') goto yy125;
+ goto yy76;
+ }
+yy127:
+ ++YYCURSOR;
+yy128:
+ { s->line++; goto scanner_loop; }
+yy129:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy127;
+ goto yy128;
+yy130:
+ ++YYCURSOR;
+ { RET(TOKEN_XORASSIGN); }
+yy132:
+ ++YYCURSOR;
+ { RET(TOKEN_ORASSIGN); }
+yy134:
+ ++YYCURSOR;
+ { RET(TOKEN_OROR); }
+yy136:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy114;
- if (yych <= '9') goto yy138;
- goto yy114;
+ if (yych <= '/') goto yy76;
+ if (yych <= '9') goto yy74;
+ goto yy76;
} else {
- if (yych <= 'F') goto yy138;
- if (yych <= '`') goto yy114;
- if (yych <= 'f') goto yy138;
- goto yy114;
+ if (yych <= 'F') goto yy74;
+ if (yych <= '`') goto yy76;
+ if (yych <= 'f') goto yy74;
+ goto yy76;
}
-yy136:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= '&') {
- if (yych <= '\n') {
- if (yych <= '\t') goto yy131;
- goto yy114;
- } else {
- if (yych == '\r') goto yy114;
- goto yy131;
- }
- } else {
- if (yych <= '7') {
- if (yych <= '\'') goto yy134;
- if (yych <= '/') goto yy131;
- goto yy136;
- } else {
- if (yych == '\\') goto yy133;
- goto yy131;
- }
- }
-yy138:
+yy137:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '/') {
- if (yych <= '\f') {
- if (yych == '\n') goto yy114;
- goto yy131;
- } else {
- if (yych <= '\r') goto yy114;
- if (yych == '\'') goto yy134;
- goto yy131;
- }
- } else {
- if (yych <= '[') {
- if (yych <= '9') goto yy138;
- if (yych <= '@') goto yy131;
- if (yych <= 'F') goto yy138;
- goto yy131;
- } else {
- if (yych <= '\\') goto yy133;
- if (yych <= '`') goto yy131;
- if (yych <= 'f') goto yy138;
- goto yy131;
- }
- }
-yy140:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy151;
- if (yych == 'e') goto yy151;
- goto yy150;
-yy141:
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
-yy142:
- if (yych <= 'L') {
- if (yych <= '9') {
- if (yych == '.') goto yy140;
- if (yych <= '/') goto yy9;
- goto yy141;
- } else {
- if (yych == 'E') goto yy143;
- if (yych <= 'K') goto yy9;
- goto yy144;
- }
+ if (yych <= '@') {
+ if (yych <= '/') goto yy76;
+ if (yych <= '9') goto yy88;
+ goto yy76;
} else {
- if (yych <= 'e') {
- if (yych == 'U') goto yy144;
- if (yych <= 'd') goto yy9;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy9;
- goto yy144;
- } else {
- if (yych == 'u') goto yy144;
- goto yy9;
- }
- }
+ if (yych <= 'F') goto yy88;
+ if (yych <= '`') goto yy76;
+ if (yych <= 'f') goto yy88;
+ goto yy76;
}
-yy143:
+yy138:
+ ++YYCURSOR;
+ goto yy104;
+yy139:
yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych == '+') goto yy146;
- goto yy114;
- } else {
- if (yych <= '-') goto yy146;
- if (yych <= '/') goto yy114;
- if (yych <= '9') goto yy147;
- goto yy114;
- }
-yy144:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'L') goto yy144;
- if (yych <= 'T') goto yy9;
- goto yy144;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy9;
- goto yy144;
- } else {
- if (yych == 'u') goto yy144;
- goto yy9;
- }
- }
-yy146:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy114;
- if (yych >= ':') goto yy114;
-yy147:
+ if (yych <= '/') goto yy76;
+ if (yych >= ':') goto yy76;
+yy140:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 'G') {
if (yych <= '9') {
- if (yych <= '/') goto yy125;
- goto yy147;
- } else {
- if (yych == 'F') goto yy127;
- goto yy125;
- }
- } else {
- if (yych <= 'f') {
- if (yych <= 'H') goto yy127;
- if (yych <= 'e') goto yy125;
- goto yy127;
- } else {
- if (yych == 'h') goto yy127;
- goto yy125;
- }
- }
-yy149:
- yyaccept = 2;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = *YYCURSOR;
-yy150:
- if (yych <= 'G') {
- if (yych <= 'D') {
- if (yych <= '/') goto yy125;
- if (yych <= '9') goto yy149;
- goto yy125;
+ if (yych <= '/') goto yy104;
+ goto yy140;
} else {
- if (yych <= 'E') goto yy155;
- if (yych <= 'F') goto yy127;
- goto yy125;
- }
- } else {
- if (yych <= 'e') {
- if (yych <= 'H') goto yy127;
- if (yych <= 'd') goto yy125;
- goto yy155;
- } else {
- if (yych == 'g') goto yy125;
- if (yych <= 'h') goto yy127;
- goto yy125;
- }
- }
-yy151:
- yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych != '+') goto yy114;
- } else {
- if (yych <= '-') goto yy152;
- if (yych <= '/') goto yy114;
- if (yych <= '9') goto yy153;
- goto yy114;
- }
-yy152:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy114;
- if (yych >= ':') goto yy114;
-yy153:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= 'G') {
- if (yych <= '9') {
- if (yych <= '/') goto yy125;
- goto yy153;
- } else {
- if (yych == 'F') goto yy127;
- goto yy125;
+ if (yych == 'F') goto yy138;
+ goto yy104;
}
} else {
if (yych <= 'f') {
- if (yych <= 'H') goto yy127;
- if (yych <= 'e') goto yy125;
- goto yy127;
+ if (yych <= 'H') goto yy138;
+ if (yych <= 'e') goto yy104;
+ goto yy138;
} else {
- if (yych == 'h') goto yy127;
- goto yy125;
+ if (yych == 'h') goto yy138;
+ goto yy104;
}
}
-yy155:
- yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych != '+') goto yy114;
- } else {
- if (yych <= '-') goto yy156;
- if (yych <= '/') goto yy114;
- if (yych <= '9') goto yy157;
- goto yy114;
- }
-yy156:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy114;
- if (yych >= ':') goto yy114;
-yy157:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= 'G') {
- if (yych <= '9') {
- if (yych <= '/') goto yy125;
- goto yy157;
- } else {
- if (yych == 'F') goto yy127;
- goto yy125;
- }
- } else {
- if (yych <= 'f') {
- if (yych <= 'H') goto yy127;
- if (yych <= 'e') goto yy125;
- goto yy127;
- } else {
- if (yych == 'h') goto yy127;
- goto yy125;
- }
- }
-yy159:
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
-yy160:
- if (yych <= 'L') {
- if (yych <= '9') {
- if (yych == '.') goto yy140;
- if (yych <= '/') goto yy9;
- goto yy159;
- } else {
- if (yych == 'E') goto yy143;
- if (yych <= 'K') goto yy9;
- goto yy166;
- }
- } else {
- if (yych <= 'e') {
- if (yych == 'U') goto yy166;
- if (yych <= 'd') goto yy9;
- goto yy143;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy9;
- goto yy166;
- } else {
- if (yych == 'u') goto yy166;
- goto yy9;
- }
- }
- }
-yy161:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy114;
- if (yych >= ':') goto yy114;
- } else {
- if (yych <= 'F') goto yy162;
- if (yych <= '`') goto yy114;
- if (yych >= 'g') goto yy114;
- }
-yy162:
+yy142:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 'T') {
if (yych <= '@') {
- if (yych <= '/') goto yy9;
- if (yych <= '9') goto yy162;
- goto yy9;
+ if (yych <= '/') goto yy39;
+ if (yych <= '9') goto yy142;
+ goto yy39;
} else {
- if (yych <= 'F') goto yy162;
- if (yych != 'L') goto yy9;
+ if (yych <= 'F') goto yy142;
+ if (yych == 'L') goto yy112;
+ goto yy39;
}
} else {
if (yych <= 'k') {
- if (yych <= 'U') goto yy164;
- if (yych <= '`') goto yy9;
- if (yych <= 'f') goto yy162;
- goto yy9;
+ if (yych <= 'U') goto yy112;
+ if (yych <= '`') goto yy39;
+ if (yych <= 'f') goto yy142;
+ goto yy39;
} else {
- if (yych <= 'l') goto yy164;
- if (yych != 'u') goto yy9;
- }
- }
-yy164:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'L') goto yy164;
- if (yych <= 'T') goto yy9;
- goto yy164;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy9;
- goto yy164;
- } else {
- if (yych == 'u') goto yy164;
- goto yy9;
- }
- }
-yy166:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'L') goto yy166;
- if (yych <= 'T') goto yy9;
- goto yy166;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy9;
- goto yy166;
- } else {
- if (yych == 'u') goto yy166;
- goto yy9;
+ if (yych <= 'l') goto yy112;
+ if (yych == 'u') goto yy112;
+ goto yy39;
}
}
-yy168:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
-yy169:
- if (yych <= 'Z') {
- if (yych <= '/') goto yy7;
- if (yych <= '9') goto yy168;
- if (yych <= '@') goto yy7;
- goto yy168;
- } else {
- if (yych <= '_') {
- if (yych <= '^') goto yy7;
- goto yy168;
- } else {
- if (yych <= '`') goto yy7;
- if (yych <= 'z') goto yy168;
- goto yy7;
- }
- }
-yy170:
- ++YYCURSOR;
- { RET(TOKEN_DIVASSIGN); }
-yy172:
+yy144:
++YYCURSOR;
- { goto singlelinecomment; }
-yy174:
- ++YYCURSOR;
- { goto multilinecomment; }
-yy176:
+ { RET(TOKEN_LSHIFTASSIGN); }
+yy146:
++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
-yy177:
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy114;
- if (yych != '\n') goto yy176;
- } else {
- if (yych <= '\r') goto yy180;
- if (yych == ' ') goto yy176;
- goto yy114;
- }
-yy178:
- ++YYCURSOR;
-yy179:
- { s->line++; goto scanner_loop; }
-yy180:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy178;
- goto yy179;
+ { RET(TOKEN_RSHIFTASSIGN); }
}
@@ -1122,42 +784,39 @@
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '\f') {
- if (yych <= 0x00) goto yy188;
- if (yych == '\n') goto yy185;
- goto yy190;
+ if (yych <= 0x00) goto yy150;
+ if (yych == '\n') goto yy154;
+ goto yy152;
} else {
- if (yych <= '\r') goto yy187;
- if (yych != '*') goto yy190;
+ if (yych <= '\r') goto yy156;
+ if (yych == '*') goto yy157;
+ goto yy152;
}
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy192;
-yy184:
- { goto multilinecomment; }
-yy185:
- ++YYCURSOR;
-yy186:
- {
- s->line++;
- goto multilinecomment;
- }
-yy187:
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy191;
- goto yy186;
-yy188:
+yy150:
++YYCURSOR;
{
if (eoi)
RET(TOKEN_INCOMPLETE_COMMENT);
goto multilinecomment;
}
-yy190:
+yy152:
+ ++YYCURSOR;
+yy153:
+ { goto multilinecomment; }
+yy154:
+ ++YYCURSOR;
+yy155:
+ {
+ s->line++;
+ goto multilinecomment;
+ }
+yy156:
yych = *++YYCURSOR;
- goto yy184;
-yy191:
+ if (yych == '\n') goto yy154;
+ goto yy155;
+yy157:
yych = *++YYCURSOR;
- goto yy186;
-yy192:
+ if (yych != '/') goto yy153;
++YYCURSOR;
{
if (s->report_comments)
@@ -1190,29 +849,14 @@
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '\n') {
- if (yych <= 0x00) goto yy199;
- if (yych <= '\t') goto yy201;
+ if (yych <= 0x00) goto yy162;
+ if (yych <= '\t') goto yy164;
+ goto yy166;
} else {
- if (yych == '\r') goto yy198;
- goto yy201;
+ if (yych == '\r') goto yy168;
+ goto yy164;
}
- ++YYCURSOR;
-yy197:
- {
- s->line++;
- if (s->report_comments)
- {
- cursor = matchptr; // so we RET('\n') next.
- RET(TOKEN_SINGLE_COMMENT);
- }
- token = matchptr;
- RET('\n');
- }
-yy198:
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy203;
- goto yy197;
-yy199:
+yy162:
++YYCURSOR;
{
if (eoi)
@@ -1224,13 +868,26 @@
}
goto singlelinecomment;
}
-yy201:
+yy164:
++YYCURSOR;
{ goto singlelinecomment; }
-yy203:
+yy166:
++YYCURSOR;
- yych = *YYCURSOR;
- goto yy197;
+yy167:
+ {
+ s->line++;
+ if (s->report_comments)
+ {
+ cursor = matchptr; // so we RET('\n') next.
+ RET(TOKEN_SINGLE_COMMENT);
+ }
+ token = matchptr;
+ RET('\n');
+ }
+yy168:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy166;
+ goto yy167;
}
@@ -1243,238 +900,287 @@
if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
yych = *YYCURSOR;
if (yych <= '\f') {
- if (yych == '\t') goto yy208;
- if (yych <= '\n') goto yy210;
- goto yy208;
+ if (yych == '\t') goto yy173;
+ if (yych >= '\v') goto yy173;
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy210;
- goto yy208;
+ if (yych >= ' ') goto yy173;
} else {
- if (yych != '#') goto yy210;
+ if (yych == '#') goto yy176;
}
}
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'h') {
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy214;
- } else {
- if (yych <= ' ') goto yy214;
- if (yych <= 'c') goto yy207;
- if (yych <= 'e') goto yy214;
- }
- } else {
- if (yych <= 'o') {
- if (yych <= 'i') goto yy214;
- if (yych == 'l') goto yy214;
- } else {
- if (yych <= 'p') goto yy214;
- if (yych == 'u') goto yy214;
- }
- }
-yy207:
+ ++YYCURSOR;
+yy172:
{
token = cursor = (const uchar *) s->source;
limit = cursor + s->bytes_left;
goto scanner_loop;
}
-yy208:
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy212;
-yy209:
- { goto ppdirective; }
-yy210:
- yych = *++YYCURSOR;
- goto yy207;
-yy211:
+yy173:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy212:
if (yych <= '\n') {
- if (yych == '\t') goto yy211;
- goto yy209;
+ if (yych == '\t') goto yy173;
} else {
- if (yych <= '\f') goto yy211;
- if (yych == ' ') goto yy211;
- goto yy209;
+ if (yych <= '\f') goto yy173;
+ if (yych == ' ') goto yy173;
}
-yy213:
+ { goto ppdirective; }
+yy176:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'h') {
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy178;
+ goto yy172;
+ } else {
+ if (yych <= ' ') goto yy178;
+ if (yych <= 'c') goto yy172;
+ if (yych <= 'e') goto yy178;
+ goto yy172;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'i') goto yy178;
+ if (yych == 'l') goto yy178;
+ goto yy172;
+ } else {
+ if (yych <= 'p') goto yy178;
+ if (yych == 'u') goto yy178;
+ goto yy172;
+ }
+ }
+yy177:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
-yy214:
+yy178:
if (yych <= 'h') {
if (yych <= ' ') {
- if (yych == '\t') goto yy213;
- if (yych >= ' ') goto yy213;
+ if (yych == '\t') goto yy177;
+ if (yych >= ' ') goto yy177;
} else {
- if (yych <= 'c') goto yy215;
- if (yych <= 'd') goto yy220;
- if (yych <= 'e') goto yy217;
+ if (yych <= 'c') goto yy179;
+ if (yych <= 'd') goto yy180;
+ if (yych <= 'e') goto yy181;
}
} else {
if (yych <= 'o') {
- if (yych <= 'i') goto yy218;
- if (yych == 'l') goto yy221;
+ if (yych <= 'i') goto yy182;
+ if (yych == 'l') goto yy183;
} else {
- if (yych <= 'p') goto yy216;
- if (yych == 'u') goto yy219;
+ if (yych <= 'p') goto yy184;
+ if (yych == 'u') goto yy185;
}
}
-yy215:
+yy179:
YYCURSOR = YYMARKER;
- if (yyaccept <= 0) {
- goto yy207;
+ if (yyaccept == 0) {
+ goto yy172;
} else {
- goto yy239;
+ goto yy191;
}
-yy216:
+yy180:
yych = *++YYCURSOR;
- if (yych == 'r') goto yy272;
- goto yy215;
-yy217:
+ if (yych == 'e') goto yy186;
+ goto yy179;
+yy181:
yych = *++YYCURSOR;
if (yych <= 'm') {
- if (yych == 'l') goto yy255;
- goto yy215;
+ if (yych == 'l') goto yy187;
+ goto yy179;
} else {
- if (yych <= 'n') goto yy256;
- if (yych == 'r') goto yy257;
- goto yy215;
+ if (yych <= 'n') goto yy188;
+ if (yych == 'r') goto yy189;
+ goto yy179;
}
-yy218:
+yy182:
yych = *++YYCURSOR;
- if (yych == 'f') goto yy238;
- if (yych == 'n') goto yy237;
- goto yy215;
-yy219:
+ if (yych == 'f') goto yy190;
+ if (yych == 'n') goto yy192;
+ goto yy179;
+yy183:
yych = *++YYCURSOR;
- if (yych == 'n') goto yy232;
- goto yy215;
-yy220:
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy226;
- goto yy215;
-yy221:
- yych = *++YYCURSOR;
- if (yych != 'i') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'n') goto yy215;
+ if (yych == 'i') goto yy193;
+ goto yy179;
+yy184:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy215;
- ++YYCURSOR;
- { RET(TOKEN_PP_LINE); }
-yy226:
+ if (yych == 'r') goto yy194;
+ goto yy179;
+yy185:
yych = *++YYCURSOR;
- if (yych != 'f') goto yy215;
+ if (yych == 'n') goto yy195;
+ goto yy179;
+yy186:
yych = *++YYCURSOR;
- if (yych != 'i') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'n') goto yy215;
+ if (yych == 'f') goto yy196;
+ goto yy179;
+yy187:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy215;
- ++YYCURSOR;
- { RET(TOKEN_PP_DEFINE); }
-yy232:
- yych = *++YYCURSOR;
- if (yych != 'd') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy215;
+ if (yych == 'i') goto yy197;
+ if (yych == 's') goto yy198;
+ goto yy179;
+yy188:
yych = *++YYCURSOR;
- if (yych != 'f') goto yy215;
- ++YYCURSOR;
- { RET(TOKEN_PP_UNDEF); }
-yy237:
+ if (yych == 'd') goto yy199;
+ goto yy179;
+yy189:
yych = *++YYCURSOR;
- if (yych == 'c') goto yy249;
- goto yy215;
-yy238:
+ if (yych == 'r') goto yy200;
+ goto yy179;
+yy190:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'd') goto yy241;
- if (yych == 'n') goto yy240;
-yy239:
+ if (yych == 'd') goto yy201;
+ if (yych == 'n') goto yy202;
+yy191:
{ RET(TOKEN_PP_IF); }
-yy240:
+yy192:
+ yych = *++YYCURSOR;
+ if (yych == 'c') goto yy203;
+ goto yy179;
+yy193:
+ yych = *++YYCURSOR;
+ if (yych == 'n') goto yy204;
+ goto yy179;
+yy194:
+ yych = *++YYCURSOR;
+ if (yych == 'a') goto yy205;
+ goto yy179;
+yy195:
+ yych = *++YYCURSOR;
+ if (yych == 'd') goto yy206;
+ goto yy179;
+yy196:
+ yych = *++YYCURSOR;
+ if (yych == 'i') goto yy207;
+ goto yy179;
+yy197:
+ yych = *++YYCURSOR;
+ if (yych == 'f') goto yy208;
+ goto yy179;
+yy198:
+ yych = *++YYCURSOR;
+ if (yych == 'e') goto yy210;
+ goto yy179;
+yy199:
+ yych = *++YYCURSOR;
+ if (yych == 'i') goto yy212;
+ goto yy179;
+yy200:
+ yych = *++YYCURSOR;
+ if (yych == 'o') goto yy213;
+ goto yy179;
+yy201:
+ yych = *++YYCURSOR;
+ if (yych == 'e') goto yy214;
+ goto yy179;
+yy202:
+ yych = *++YYCURSOR;
+ if (yych == 'd') goto yy215;
+ goto yy179;
+yy203:
+ yych = *++YYCURSOR;
+ if (yych == 'l') goto yy216;
+ goto yy179;
+yy204:
+ yych = *++YYCURSOR;
+ if (yych == 'e') goto yy217;
+ goto yy179;
+yy205:
yych = *++YYCURSOR;
- if (yych == 'd') goto yy245;
- goto yy215;
-yy241:
+ if (yych == 'g') goto yy219;
+ goto yy179;
+yy206:
+ yych = *++YYCURSOR;
+ if (yych == 'e') goto yy220;
+ goto yy179;
+yy207:
+ yych = *++YYCURSOR;
+ if (yych == 'n') goto yy221;
+ goto yy179;
+yy208:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_ELIF); }
+yy210:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_ELSE); }
+yy212:
+ yych = *++YYCURSOR;
+ if (yych == 'f') goto yy222;
+ goto yy179;
+yy213:
+ yych = *++YYCURSOR;
+ if (yych == 'r') goto yy224;
+ goto yy179;
+yy214:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy215;
+ if (yych == 'f') goto yy226;
+ goto yy179;
+yy215:
+ yych = *++YYCURSOR;
+ if (yych == 'e') goto yy228;
+ goto yy179;
+yy216:
+ yych = *++YYCURSOR;
+ if (yych == 'u') goto yy229;
+ goto yy179;
+yy217:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_LINE); }
+yy219:
yych = *++YYCURSOR;
- if (yych != 'f') goto yy215;
+ if (yych == 'm') goto yy230;
+ goto yy179;
+yy220:
+ yych = *++YYCURSOR;
+ if (yych == 'f') goto yy231;
+ goto yy179;
+yy221:
+ yych = *++YYCURSOR;
+ if (yych == 'e') goto yy233;
+ goto yy179;
+yy222:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_ENDIF); }
+yy224:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_ERROR); }
+yy226:
++YYCURSOR;
{ RET(TOKEN_PP_IFDEF); }
-yy245:
+yy228:
+ yych = *++YYCURSOR;
+ if (yych == 'f') goto yy235;
+ goto yy179;
+yy229:
+ yych = *++YYCURSOR;
+ if (yych == 'd') goto yy237;
+ goto yy179;
+yy230:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'f') goto yy215;
+ if (yych == 'a') goto yy238;
+ goto yy179;
+yy231:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_UNDEF); }
+yy233:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_DEFINE); }
+yy235:
++YYCURSOR;
{ RET(TOKEN_PP_IFNDEF); }
-yy249:
- yych = *++YYCURSOR;
- if (yych != 'l') goto yy215;
+yy237:
yych = *++YYCURSOR;
- if (yych != 'u') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'd') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy215;
+ if (yych == 'e') goto yy240;
+ goto yy179;
+yy238:
+ ++YYCURSOR;
+ { RET(TOKEN_PP_PRAGMA); }
+yy240:
++YYCURSOR;
{ RET(TOKEN_PP_INCLUDE); }
-yy255:
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy266;
- if (yych == 's') goto yy267;
- goto yy215;
-yy256:
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy262;
- goto yy215;
-yy257:
- yych = *++YYCURSOR;
- if (yych != 'r') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'o') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'r') goto yy215;
- ++YYCURSOR;
- { RET(TOKEN_PP_ERROR); }
-yy262:
- yych = *++YYCURSOR;
- if (yych != 'i') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'f') goto yy215;
- ++YYCURSOR;
- { RET(TOKEN_PP_ENDIF); }
-yy266:
- yych = *++YYCURSOR;
- if (yych == 'f') goto yy270;
- goto yy215;
-yy267:
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy215;
- ++YYCURSOR;
- { RET(TOKEN_PP_ELSE); }
-yy270:
- ++YYCURSOR;
- { RET(TOKEN_PP_ELIF); }
-yy272:
- yych = *++YYCURSOR;
- if (yych != 'a') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'g') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'm') goto yy215;
- yych = *++YYCURSOR;
- if (yych != 'a') goto yy215;
- ++YYCURSOR;
- { RET(TOKEN_PP_PRAGMA); }
}
@@ -1487,24 +1193,26 @@
yych = *YYCURSOR;
if (yych <= '#') {
if (yych <= '\r') {
- if (yych <= 0x00) goto yy282;
- if (yych <= 0x08) goto yy284;
+ if (yych <= 0x00) goto yy244;
+ if (yych <= 0x08) goto yy246;
+ goto yy248;
} else {
- if (yych <= 0x1F) goto yy284;
- if (yych == '"') goto yy284;
+ if (yych <= 0x1F) goto yy246;
+ if (yych == '"') goto yy246;
+ goto yy248;
}
} else {
if (yych <= '@') {
- if (yych <= '$') goto yy284;
- if (yych >= '@') goto yy284;
+ if (yych <= '$') goto yy246;
+ if (yych <= '?') goto yy248;
+ goto yy246;
} else {
- if (yych == '`') goto yy284;
- if (yych >= 0x7F) goto yy284;
+ if (yych == '`') goto yy246;
+ if (yych <= '~') goto yy248;
+ goto yy246;
}
}
- ++YYCURSOR;
- { cursor--; RET(TOKEN_BAD_CHARS); }
-yy282:
+yy244:
++YYCURSOR;
{
if (eoi)
@@ -1517,9 +1225,12 @@
}
goto bad_chars;
}
-yy284:
+yy246:
++YYCURSOR;
{ goto bad_chars; }
+yy248:
+ ++YYCURSOR;
+ { cursor--; RET(TOKEN_BAD_CHARS); }
}