--- a/mojoshader_lexer.c Thu Feb 12 02:42:10 2009 -0500
+++ b/mojoshader_lexer.c Thu Feb 12 02:42:52 2009 -0500
@@ -1,4 +1,5 @@
-/* Generated by re2c 0.13.5 on Mon Feb 9 17:52:01 2009 */
+/* Generated by re2c 0.12.1 on Thu Feb 12 01:23:03 2009 */
+#line 1 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
/**
* MojoShader; generate shader programs from bytecode of compiled
* Direct3D shaders.
@@ -25,7 +26,7 @@
typedef unsigned char uchar;
-#define RET(t) { update_state(s, cursor, token); return t; }
+#define RET(t) do { update_state(s, cursor, token); return t; } while (0)
#define YYCTYPE uchar
#define YYCURSOR cursor
#define YYLIMIT limit
@@ -44,6 +45,7 @@
const uchar *cursor = (const uchar *) s->source;
const uchar *token;
const uchar *limit = cursor + s->bytes_left;
+ int saw_newline = 0;
scanner_loop:
token = cursor;
@@ -51,22 +53,24 @@
if (YYLIMIT == YYCURSOR)
RET(TOKEN_EOI);
+#line 67 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
+#line 61 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
- if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
+ if((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
yych = *YYCURSOR;
- switch (yych) {
- case '\t':
- case '\v':
- case '\f':
+ switch(yych) {
+ case 0x09:
+ case 0x0B:
+ case 0x0C:
case ' ': goto yy62;
- case '\n': goto yy64;
- case '\r': goto yy66;
+ case 0x0A: goto yy64;
+ case 0x0D: goto yy66;
case '!': goto yy24;
case '"': goto yy13;
case '#': goto yy26;
@@ -162,39 +166,45 @@
}
yy2:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '*') goto yy209;
- if (yych == '/') goto yy207;
+ if((yych = *YYCURSOR) == '*') goto yy209;
+ if(yych == '/') goto yy207;
+#line 107 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('/'); }
+#line 174 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy4:
++YYCURSOR;
yych = *YYCURSOR;
goto yy206;
yy5:
+#line 73 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_IDENTIFIER); }
+#line 182 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy6:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'X') {
- if (yych <= 'T') {
- if (yych == 'L') goto yy181;
+ if(yych <= 'X') {
+ if(yych <= 'T') {
+ if(yych == 'L') goto yy181;
goto yy197;
} else {
- if (yych <= 'U') goto yy181;
- if (yych <= 'W') goto yy197;
+ if(yych <= 'U') goto yy181;
+ if(yych <= 'W') goto yy197;
goto yy198;
}
} else {
- if (yych <= 't') {
- if (yych == 'l') goto yy181;
+ if(yych <= 't') {
+ if(yych == 'l') goto yy181;
goto yy197;
} else {
- if (yych <= 'u') goto yy181;
- if (yych == 'x') goto yy198;
+ if(yych <= 'u') goto yy181;
+ if(yych == 'x') goto yy198;
goto yy197;
}
}
yy7:
+#line 77 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_INT_LITERAL); }
+#line 208 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy8:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
@@ -202,137 +212,193 @@
yy9:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy169;
+ if(yych != 0x0A) goto yy169;
yy10:
+#line 136 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ printf("bad char\n"); goto scanner_loop; }
+#line 220 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy11:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy157;
- if (yych <= '/') goto yy12;
- if (yych <= '9') goto yy158;
+ if(yych == '.') goto yy157;
+ if(yych <= '/') goto yy12;
+ if(yych <= '9') goto yy158;
yy12:
+#line 99 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('.'); }
+#line 230 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy13:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy10;
+ if(yych == 0x0A) goto yy10;
goto yy148;
yy14:
++YYCURSOR;
- if ((yych = *YYCURSOR) <= '<') goto yy15;
- if (yych <= '=') goto yy143;
- if (yych <= '>') goto yy145;
+ if((yych = *YYCURSOR) <= '<') goto yy15;
+ if(yych <= '=') goto yy143;
+ if(yych <= '>') goto yy145;
yy15:
+#line 110 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('>'); }
+#line 244 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy16:
++YYCURSOR;
- if ((yych = *YYCURSOR) <= ';') goto yy17;
- if (yych <= '<') goto yy141;
- if (yych <= '=') goto yy139;
+ if((yych = *YYCURSOR) <= ';') goto yy17;
+ if(yych <= '<') goto yy141;
+ if(yych <= '=') goto yy139;
yy17:
+#line 109 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('<'); }
+#line 253 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy18:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '&') goto yy137;
+ if((yych = *YYCURSOR) == '&') goto yy137;
+#line 101 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('&'); }
+#line 259 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy20:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '|') goto yy135;
+ if((yych = *YYCURSOR) == '|') goto yy135;
+#line 112 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('|'); }
+#line 265 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy22:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy133;
+ if((yych = *YYCURSOR) == '=') goto yy133;
+#line 117 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('='); }
+#line 271 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy24:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy131;
+ if((yych = *YYCURSOR) == '=') goto yy131;
+#line 102 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('!'); }
+#line 277 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy26:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'c') {
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy72;
+ if(yych <= 'c') {
+ if(yych <= 0x1F) {
+ if(yych == 0x09) goto yy72;
} else {
- if (yych <= ' ') goto yy72;
- if (yych == '#') goto yy79;
+ if(yych <= ' ') goto yy72;
+ if(yych == '#') goto yy79;
}
} else {
- if (yych <= 'k') {
- if (yych <= 'e') goto yy72;
- if (yych == 'i') goto yy72;
+ if(yych <= 'k') {
+ if(yych <= 'e') goto yy72;
+ if(yych == 'i') goto yy72;
} else {
- if (yych <= 'l') goto yy72;
- if (yych == 'u') goto yy72;
+ if(yych <= 'l') goto yy72;
+ if(yych == 'u') goto yy72;
}
}
yy27:
+#line 120 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('#'); }
+#line 300 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy28:
++YYCURSOR;
+#line 95 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('('); }
+#line 305 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy30:
++YYCURSOR;
+#line 96 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(')'); }
+#line 310 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy32:
++YYCURSOR;
+#line 97 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('['); }
+#line 315 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy34:
++YYCURSOR;
+#line 98 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(']'); }
+#line 320 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy36:
++YYCURSOR;
+#line 100 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(','); }
+#line 325 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy38:
++YYCURSOR;
+#line 103 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('~'); }
+#line 330 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy40:
++YYCURSOR;
+#line 104 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('-'); }
+#line 335 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy42:
++YYCURSOR;
+#line 105 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('+'); }
+#line 340 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy44:
++YYCURSOR;
+#line 106 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('*'); }
+#line 345 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy46:
++YYCURSOR;
+#line 108 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('%'); }
+#line 350 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy48:
++YYCURSOR;
+#line 111 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('^'); }
+#line 355 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy50:
++YYCURSOR;
+#line 113 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(':'); }
+#line 360 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy52:
++YYCURSOR;
+#line 114 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(';'); }
+#line 365 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy54:
++YYCURSOR;
+#line 115 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('{'); }
+#line 370 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy56:
++YYCURSOR;
+#line 116 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('}'); }
+#line 375 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy58:
++YYCURSOR;
+#line 118 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('?'); }
+#line 380 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy60:
++YYCURSOR;
+#line 119 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET('\\'); }
+#line 385 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy62:
++YYCURSOR;
yych = *YYCURSOR;
goto yy70;
yy63:
+#line 134 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ goto scanner_loop; }
+#line 393 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy64:
++YYCURSOR;
yy65:
- { s->line++; goto scanner_loop; }
+#line 135 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
+ { s->line++; RET('\n'); }
+#line 399 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy66:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy68;
+ if(yych == 0x0A) goto yy68;
goto yy65;
yy67:
yych = *++YYCURSOR;
@@ -342,44 +408,44 @@
goto yy65;
yy69:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy70:
- if (yych <= '\n') {
- if (yych == '\t') goto yy69;
+ if(yych <= 0x0A) {
+ if(yych == 0x09) goto yy69;
goto yy63;
} else {
- if (yych <= '\f') goto yy69;
- if (yych == ' ') goto yy69;
+ if(yych <= 0x0C) goto yy69;
+ if(yych == ' ') goto yy69;
goto yy63;
}
yy71:
++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
yy72:
- if (yych <= 'e') {
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy71;
+ if(yych <= 'e') {
+ if(yych <= 0x1F) {
+ if(yych == 0x09) goto yy71;
} else {
- if (yych <= ' ') goto yy71;
- if (yych <= 'c') goto yy73;
- if (yych <= 'd') goto yy77;
+ if(yych <= ' ') goto yy71;
+ if(yych <= 'c') goto yy73;
+ if(yych <= 'd') goto yy77;
goto yy74;
}
} else {
- if (yych <= 'k') {
- if (yych == 'i') goto yy75;
+ if(yych <= 'k') {
+ if(yych == 'i') goto yy75;
} else {
- if (yych <= 'l') goto yy78;
- if (yych == 'u') goto yy76;
+ if(yych <= 'l') goto yy78;
+ if(yych == 'u') goto yy76;
}
}
yy73:
YYCURSOR = YYMARKER;
- if (yyaccept <= 2) {
- if (yyaccept <= 1) {
- if (yyaccept <= 0) {
+ if(yyaccept <= 2) {
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
goto yy7;
} else {
goto yy10;
@@ -388,8 +454,8 @@
goto yy12;
}
} else {
- if (yyaccept <= 4) {
- if (yyaccept <= 3) {
+ if(yyaccept <= 4) {
+ if(yyaccept <= 3) {
goto yy27;
} else {
goto yy98;
@@ -400,315 +466,359 @@
}
yy74:
yych = *++YYCURSOR;
- if (yych <= 'm') {
- if (yych == 'l') goto yy114;
+ if(yych <= 'm') {
+ if(yych == 'l') goto yy114;
goto yy73;
} else {
- if (yych <= 'n') goto yy115;
- if (yych == 'r') goto yy116;
+ if(yych <= 'n') goto yy115;
+ if(yych == 'r') goto yy116;
goto yy73;
}
yy75:
yych = *++YYCURSOR;
- if (yych == 'f') goto yy97;
- if (yych == 'n') goto yy96;
+ if(yych == 'f') goto yy97;
+ if(yych == 'n') goto yy96;
goto yy73;
yy76:
yych = *++YYCURSOR;
- if (yych == 'n') goto yy91;
+ if(yych == 'n') goto yy91;
goto yy73;
yy77:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy85;
+ if(yych == 'e') goto yy85;
goto yy73;
yy78:
yych = *++YYCURSOR;
- if (yych == 'i') goto yy81;
+ if(yych == 'i') goto yy81;
goto yy73;
yy79:
++YYCURSOR;
+#line 94 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_HASHHASH); }
+#line 499 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy81:
yych = *++YYCURSOR;
- if (yych != 'n') goto yy73;
+ if(yych != 'n') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy73;
+ if(yych != 'e') goto yy73;
++YYCURSOR;
+#line 123 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_LINE); }
+#line 508 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy85:
yych = *++YYCURSOR;
- if (yych != 'f') goto yy73;
+ if(yych != 'f') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'i') goto yy73;
+ if(yych != 'i') goto yy73;
+ yych = *++YYCURSOR;
+ if(yych != 'n') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy73;
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy73;
+ if(yych != 'e') goto yy73;
++YYCURSOR;
+#line 124 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_DEFINE); }
+#line 521 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy91:
yych = *++YYCURSOR;
- if (yych != 'd') goto yy73;
+ if(yych != 'd') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy73;
+ if(yych != 'e') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'f') goto yy73;
+ if(yych != 'f') goto yy73;
++YYCURSOR;
+#line 125 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_UNDEF); }
+#line 532 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy96:
yych = *++YYCURSOR;
- if (yych == 'c') goto yy108;
+ if(yych == 'c') goto yy108;
goto yy73;
yy97:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'd') goto yy100;
- if (yych == 'n') goto yy99;
+ if(yych == 'd') goto yy100;
+ if(yych == 'n') goto yy99;
yy98:
+#line 126 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_IF); }
+#line 545 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy99:
yych = *++YYCURSOR;
- if (yych == 'd') goto yy104;
+ if(yych == 'd') goto yy104;
goto yy73;
yy100:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy73;
+ if(yych != 'e') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'f') goto yy73;
+ if(yych != 'f') goto yy73;
++YYCURSOR;
+#line 127 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_IFDEF); }
+#line 558 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy104:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy73;
+ if(yych != 'e') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'f') goto yy73;
+ if(yych != 'f') goto yy73;
++YYCURSOR;
+#line 128 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_IFNDEF); }
+#line 567 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy108:
yych = *++YYCURSOR;
- if (yych != 'l') goto yy73;
+ if(yych != 'l') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'u') goto yy73;
+ if(yych != 'u') goto yy73;
+ yych = *++YYCURSOR;
+ if(yych != 'd') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'd') goto yy73;
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy73;
+ if(yych != 'e') goto yy73;
++YYCURSOR;
+#line 122 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_INCLUDE); }
+#line 580 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy114:
yych = *++YYCURSOR;
- if (yych == 'i') goto yy125;
- if (yych == 's') goto yy126;
+ if(yych == 'i') goto yy125;
+ if(yych == 's') goto yy126;
goto yy73;
yy115:
yych = *++YYCURSOR;
- if (yych == 'd') goto yy121;
+ if(yych == 'd') goto yy121;
goto yy73;
yy116:
yych = *++YYCURSOR;
- if (yych != 'r') goto yy73;
+ if(yych != 'r') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'o') goto yy73;
+ if(yych != 'o') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy73;
+ if(yych != 'r') goto yy73;
++YYCURSOR;
+#line 132 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_ERROR); }
+#line 600 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy121:
yych = *++YYCURSOR;
- if (yych != 'i') goto yy73;
+ if(yych != 'i') goto yy73;
yych = *++YYCURSOR;
- if (yych != 'f') goto yy73;
+ if(yych != 'f') goto yy73;
++YYCURSOR;
+#line 131 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_ENDIF); }
+#line 609 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy125:
yych = *++YYCURSOR;
- if (yych == 'f') goto yy129;
+ if(yych == 'f') goto yy129;
goto yy73;
yy126:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy73;
+ if(yych != 'e') goto yy73;
++YYCURSOR;
+#line 129 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_ELSE); }
+#line 620 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy129:
++YYCURSOR;
+#line 130 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_PP_ELIF); }
+#line 625 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy131:
++YYCURSOR;
+#line 93 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_NEQ); }
+#line 630 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy133:
++YYCURSOR;
+#line 92 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_EQL); }
+#line 635 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy135:
++YYCURSOR;
+#line 89 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_OROR); }
+#line 640 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy137:
++YYCURSOR;
+#line 88 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_ANDAND); }
+#line 645 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy139:
++YYCURSOR;
+#line 90 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_LEQ); }
+#line 650 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy141:
++YYCURSOR;
+#line 87 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_LSHIFT); }
+#line 655 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy143:
++YYCURSOR;
+#line 91 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_GEQ); }
+#line 660 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy145:
++YYCURSOR;
+#line 86 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_RSHIFT); }
+#line 665 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy147:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy148:
- if (yych <= '!') {
- if (yych == '\n') goto yy73;
+ if(yych <= '!') {
+ if(yych == 0x0A) goto yy73;
goto yy147;
} else {
- if (yych <= '"') goto yy150;
- if (yych != '\\') goto yy147;
+ if(yych <= '"') goto yy150;
+ if(yych != '\\') goto yy147;
}
yy149:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'b') {
- if (yych <= '7') {
- if (yych <= '&') {
- if (yych == '"') goto yy147;
+ if(yych <= 'b') {
+ if(yych <= '7') {
+ if(yych <= '&') {
+ if(yych == '"') goto yy147;
goto yy73;
} else {
- if (yych <= '\'') goto yy147;
- if (yych <= '/') goto yy73;
+ if(yych <= '\'') goto yy147;
+ if(yych <= '/') goto yy73;
goto yy153;
}
} else {
- if (yych <= '[') {
- if (yych == '?') goto yy147;
+ if(yych <= '[') {
+ if(yych == '?') goto yy147;
goto yy73;
} else {
- if (yych <= '\\') goto yy147;
- if (yych <= '`') goto yy73;
+ if(yych <= '\\') goto yy147;
+ if(yych <= '`') goto yy73;
goto yy147;
}
}
} else {
- if (yych <= 'r') {
- if (yych <= 'm') {
- if (yych == 'f') goto yy147;
+ if(yych <= 'r') {
+ if(yych <= 'm') {
+ if(yych == 'f') goto yy147;
goto yy73;
} else {
- if (yych <= 'n') goto yy147;
- if (yych <= 'q') goto yy73;
+ if(yych <= 'n') goto yy147;
+ if(yych <= 'q') goto yy73;
goto yy147;
}
} else {
- if (yych <= 'u') {
- if (yych == 't') goto yy147;
+ if(yych <= 'u') {
+ if(yych == 't') goto yy147;
goto yy73;
} else {
- if (yych <= 'v') goto yy147;
- if (yych == 'x') goto yy152;
+ if(yych <= 'v') goto yy147;
+ if(yych == 'x') goto yy152;
goto yy73;
}
}
}
yy150:
++YYCURSOR;
+#line 83 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_STRING_LITERAL); }
+#line 727 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy152:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy73;
- if (yych <= '9') goto yy155;
+ if(yych <= '@') {
+ if(yych <= '/') goto yy73;
+ if(yych <= '9') goto yy155;
goto yy73;
} else {
- if (yych <= 'F') goto yy155;
- if (yych <= '`') goto yy73;
- if (yych <= 'f') goto yy155;
+ if(yych <= 'F') goto yy155;
+ if(yych <= '`') goto yy73;
+ if(yych <= 'f') goto yy155;
goto yy73;
}
yy153:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '"') {
- if (yych == '\n') goto yy73;
- if (yych <= '!') goto yy147;
+ if(yych <= '"') {
+ if(yych == 0x0A) goto yy73;
+ if(yych <= '!') goto yy147;
goto yy150;
} else {
- if (yych <= '7') {
- if (yych <= '/') goto yy147;
+ if(yych <= '7') {
+ if(yych <= '/') goto yy147;
goto yy153;
} else {
- if (yych == '\\') goto yy149;
+ if(yych == '\\') goto yy149;
goto yy147;
}
}
yy155:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '9') {
- if (yych <= '!') {
- if (yych == '\n') goto yy73;
+ if(yych <= '9') {
+ if(yych <= '!') {
+ if(yych == 0x0A) goto yy73;
goto yy147;
} else {
- if (yych <= '"') goto yy150;
- if (yych <= '/') goto yy147;
+ if(yych <= '"') goto yy150;
+ if(yych <= '/') goto yy147;
goto yy155;
}
} else {
- if (yych <= '[') {
- if (yych <= '@') goto yy147;
- if (yych <= 'F') goto yy155;
+ if(yych <= '[') {
+ if(yych <= '@') goto yy147;
+ if(yych <= 'F') goto yy155;
goto yy147;
} else {
- if (yych <= '\\') goto yy149;
- if (yych <= '`') goto yy147;
- if (yych <= 'f') goto yy155;
+ if(yych <= '\\') goto yy149;
+ if(yych <= '`') goto yy147;
+ if(yych <= 'f') goto yy155;
goto yy147;
}
}
yy157:
yych = *++YYCURSOR;
- if (yych == '.') goto yy166;
+ if(yych == '.') goto yy166;
goto yy73;
yy158:
yyaccept = 5;
YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
- if (yych <= 'K') {
- if (yych <= 'D') {
- if (yych <= '/') goto yy160;
- if (yych <= '9') goto yy158;
+ if(yych <= 'K') {
+ if(yych <= 'D') {
+ if(yych <= '/') goto yy160;
+ if(yych <= '9') goto yy158;
} else {
- if (yych <= 'E') goto yy161;
- if (yych <= 'F') goto yy162;
+ if(yych <= 'E') goto yy161;
+ if(yych <= 'F') goto yy162;
}
} else {
- if (yych <= 'e') {
- if (yych <= 'L') goto yy162;
- if (yych >= 'e') goto yy161;
+ if(yych <= 'e') {
+ if(yych <= 'L') goto yy162;
+ if(yych >= 'e') goto yy161;
} else {
- if (yych <= 'f') goto yy162;
- if (yych == 'l') goto yy162;
+ if(yych <= 'f') goto yy162;
+ if(yych == 'l') goto yy162;
}
}
yy160:
+#line 80 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_FLOAT_LITERAL); }
+#line 813 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy161:
yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych == '+') goto yy163;
+ if(yych <= ',') {
+ if(yych == '+') goto yy163;
goto yy73;
} else {
- if (yych <= '-') goto yy163;
- if (yych <= '/') goto yy73;
- if (yych <= '9') goto yy164;
+ if(yych <= '-') goto yy163;
+ if(yych <= '/') goto yy73;
+ if(yych <= '9') goto yy164;
goto yy73;
}
yy162:
@@ -716,86 +826,88 @@
goto yy160;
yy163:
yych = *++YYCURSOR;
- if (yych <= '/') goto yy73;
- if (yych >= ':') goto yy73;
+ if(yych <= '/') goto yy73;
+ if(yych >= ':') goto yy73;
yy164:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'K') {
- if (yych <= '9') {
- if (yych <= '/') goto yy160;
+ if(yych <= 'K') {
+ if(yych <= '9') {
+ if(yych <= '/') goto yy160;
goto yy164;
} else {
- if (yych == 'F') goto yy162;
+ if(yych == 'F') goto yy162;
goto yy160;
}
} else {
- if (yych <= 'f') {
- if (yych <= 'L') goto yy162;
- if (yych <= 'e') goto yy160;
+ if(yych <= 'f') {
+ if(yych <= 'L') goto yy162;
+ if(yych <= 'e') goto yy160;
goto yy162;
} else {
- if (yych == 'l') goto yy162;
+ if(yych == 'l') goto yy162;
goto yy160;
}
}
yy166:
++YYCURSOR;
+#line 85 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ RET(TOKEN_ELLIPSIS); }
+#line 858 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy168:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy169:
- if (yych <= '&') {
- if (yych == '\n') goto yy73;
+ if(yych <= '&') {
+ if(yych == 0x0A) goto yy73;
goto yy168;
} else {
- if (yych <= '\'') goto yy171;
- if (yych != '\\') goto yy168;
+ if(yych <= '\'') goto yy171;
+ if(yych != '\\') goto yy168;
}
yy170:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'b') {
- if (yych <= '7') {
- if (yych <= '&') {
- if (yych == '"') goto yy168;
+ if(yych <= 'b') {
+ if(yych <= '7') {
+ if(yych <= '&') {
+ if(yych == '"') goto yy168;
goto yy73;
} else {
- if (yych <= '\'') goto yy168;
- if (yych <= '/') goto yy73;
+ if(yych <= '\'') goto yy168;
+ if(yych <= '/') goto yy73;
goto yy173;
}
} else {
- if (yych <= '[') {
- if (yych == '?') goto yy168;
+ if(yych <= '[') {
+ if(yych == '?') goto yy168;
goto yy73;
} else {
- if (yych <= '\\') goto yy168;
- if (yych <= '`') goto yy73;
+ if(yych <= '\\') goto yy168;
+ if(yych <= '`') goto yy73;
goto yy168;
}
}
} else {
- if (yych <= 'r') {
- if (yych <= 'm') {
- if (yych == 'f') goto yy168;
+ if(yych <= 'r') {
+ if(yych <= 'm') {
+ if(yych == 'f') goto yy168;
goto yy73;
} else {
- if (yych <= 'n') goto yy168;
- if (yych <= 'q') goto yy73;
+ if(yych <= 'n') goto yy168;
+ if(yych <= 'q') goto yy73;
goto yy168;
}
} else {
- if (yych <= 'u') {
- if (yych == 't') goto yy168;
+ if(yych <= 'u') {
+ if(yych == 't') goto yy168;
goto yy73;
} else {
- if (yych <= 'v') goto yy168;
- if (yych == 'x') goto yy172;
+ if(yych <= 'v') goto yy168;
+ if(yych == 'x') goto yy172;
goto yy73;
}
}
@@ -805,375 +917,380 @@
goto yy7;
yy172:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy73;
- if (yych <= '9') goto yy175;
+ if(yych <= '@') {
+ if(yych <= '/') goto yy73;
+ if(yych <= '9') goto yy175;
goto yy73;
} else {
- if (yych <= 'F') goto yy175;
- if (yych <= '`') goto yy73;
- if (yych <= 'f') goto yy175;
+ if(yych <= 'F') goto yy175;
+ if(yych <= '`') goto yy73;
+ if(yych <= 'f') goto yy175;
goto yy73;
}
yy173:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '\'') {
- if (yych == '\n') goto yy73;
- if (yych <= '&') goto yy168;
+ if(yych <= '\'') {
+ if(yych == 0x0A) goto yy73;
+ if(yych <= '&') goto yy168;
goto yy171;
} else {
- if (yych <= '7') {
- if (yych <= '/') goto yy168;
+ if(yych <= '7') {
+ if(yych <= '/') goto yy168;
goto yy173;
} else {
- if (yych == '\\') goto yy170;
+ if(yych == '\\') goto yy170;
goto yy168;
}
}
yy175:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '9') {
- if (yych <= '&') {
- if (yych == '\n') goto yy73;
+ if(yych <= '9') {
+ if(yych <= '&') {
+ if(yych == 0x0A) goto yy73;
goto yy168;
} else {
- if (yych <= '\'') goto yy171;
- if (yych <= '/') goto yy168;
+ if(yych <= '\'') goto yy171;
+ if(yych <= '/') goto yy168;
goto yy175;
}
} else {
- if (yych <= '[') {
- if (yych <= '@') goto yy168;
- if (yych <= 'F') goto yy175;
+ if(yych <= '[') {
+ if(yych <= '@') goto yy168;
+ if(yych <= 'F') goto yy175;
goto yy168;
} else {
- if (yych <= '\\') goto yy170;
- if (yych <= '`') goto yy168;
- if (yych <= 'f') goto yy175;
+ if(yych <= '\\') goto yy170;
+ if(yych <= '`') goto yy168;
+ if(yych <= 'f') goto yy175;
goto yy168;
}
}
yy177:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy188;
- if (yych == 'e') goto yy188;
+ if(yych == 'E') goto yy188;
+ if(yych == 'e') goto yy188;
goto yy187;
yy178:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
yy179:
- if (yych <= 'L') {
- if (yych <= '9') {
- if (yych == '.') goto yy177;
- if (yych <= '/') goto yy7;
+ if(yych <= 'L') {
+ if(yych <= '9') {
+ if(yych == '.') goto yy177;
+ if(yych <= '/') goto yy7;
goto yy178;
} else {
- if (yych == 'E') goto yy180;
- if (yych <= 'K') goto yy7;
+ if(yych == 'E') goto yy180;
+ if(yych <= 'K') goto yy7;
goto yy181;
}
} else {
- if (yych <= 'e') {
- if (yych == 'U') goto yy181;
- if (yych <= 'd') goto yy7;
+ if(yych <= 'e') {
+ if(yych == 'U') goto yy181;
+ if(yych <= 'd') goto yy7;
} else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy7;
+ if(yych <= 'l') {
+ if(yych <= 'k') goto yy7;
goto yy181;
} else {
- if (yych == 'u') goto yy181;
+ if(yych == 'u') goto yy181;
goto yy7;
}
}
}
yy180:
yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych == '+') goto yy183;
+ if(yych <= ',') {
+ if(yych == '+') goto yy183;
goto yy73;
} else {
- if (yych <= '-') goto yy183;
- if (yych <= '/') goto yy73;
- if (yych <= '9') goto yy184;
+ if(yych <= '-') goto yy183;
+ if(yych <= '/') goto yy73;
+ if(yych <= '9') goto yy184;
goto yy73;
}
yy181:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'L') goto yy181;
- if (yych <= 'T') goto yy7;
+ if(yych <= 'U') {
+ if(yych == 'L') goto yy181;
+ if(yych <= 'T') goto yy7;
goto yy181;
} else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy7;
+ if(yych <= 'l') {
+ if(yych <= 'k') goto yy7;
goto yy181;
} else {
- if (yych == 'u') goto yy181;
+ if(yych == 'u') goto yy181;
goto yy7;
}
}
yy183:
yych = *++YYCURSOR;
- if (yych <= '/') goto yy73;
- if (yych >= ':') goto yy73;
+ if(yych <= '/') goto yy73;
+ if(yych >= ':') goto yy73;
yy184:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'K') {
- if (yych <= '9') {
- if (yych <= '/') goto yy160;
+ if(yych <= 'K') {
+ if(yych <= '9') {
+ if(yych <= '/') goto yy160;
goto yy184;
} else {
- if (yych == 'F') goto yy162;
+ if(yych == 'F') goto yy162;
goto yy160;
}
} else {
- if (yych <= 'f') {
- if (yych <= 'L') goto yy162;
- if (yych <= 'e') goto yy160;
+ if(yych <= 'f') {
+ if(yych <= 'L') goto yy162;
+ if(yych <= 'e') goto yy160;
goto yy162;
} else {
- if (yych == 'l') goto yy162;
+ if(yych == 'l') goto yy162;
goto yy160;
}
}
yy186:
yyaccept = 5;
YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
yy187:
- if (yych <= 'K') {
- if (yych <= 'D') {
- if (yych <= '/') goto yy160;
- if (yych <= '9') goto yy186;
+ if(yych <= 'K') {
+ if(yych <= 'D') {
+ if(yych <= '/') goto yy160;
+ if(yych <= '9') goto yy186;
goto yy160;
} else {
- if (yych <= 'E') goto yy192;
- if (yych <= 'F') goto yy162;
+ if(yych <= 'E') goto yy192;
+ if(yych <= 'F') goto yy162;
goto yy160;
}
} else {
- if (yych <= 'e') {
- if (yych <= 'L') goto yy162;
- if (yych <= 'd') goto yy160;
+ if(yych <= 'e') {
+ if(yych <= 'L') goto yy162;
+ if(yych <= 'd') goto yy160;
goto yy192;
} else {
- if (yych <= 'f') goto yy162;
- if (yych == 'l') goto yy162;
+ if(yych <= 'f') goto yy162;
+ if(yych == 'l') goto yy162;
goto yy160;
}
}
yy188:
yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych != '+') goto yy73;
+ if(yych <= ',') {
+ if(yych != '+') goto yy73;
} else {
- if (yych <= '-') goto yy189;
- if (yych <= '/') goto yy73;
- if (yych <= '9') goto yy190;
+ if(yych <= '-') goto yy189;
+ if(yych <= '/') goto yy73;
+ if(yych <= '9') goto yy190;
goto yy73;
}
yy189:
yych = *++YYCURSOR;
- if (yych <= '/') goto yy73;
- if (yych >= ':') goto yy73;
+ if(yych <= '/') goto yy73;
+ if(yych >= ':') goto yy73;
yy190:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'K') {
- if (yych <= '9') {
- if (yych <= '/') goto yy160;
+ if(yych <= 'K') {
+ if(yych <= '9') {
+ if(yych <= '/') goto yy160;
goto yy190;
} else {
- if (yych == 'F') goto yy162;
+ if(yych == 'F') goto yy162;
goto yy160;
}
} else {
- if (yych <= 'f') {
- if (yych <= 'L') goto yy162;
- if (yych <= 'e') goto yy160;
+ if(yych <= 'f') {
+ if(yych <= 'L') goto yy162;
+ if(yych <= 'e') goto yy160;
goto yy162;
} else {
- if (yych == 'l') goto yy162;
+ if(yych == 'l') goto yy162;
goto yy160;
}
}
yy192:
yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych != '+') goto yy73;
+ if(yych <= ',') {
+ if(yych != '+') goto yy73;
} else {
- if (yych <= '-') goto yy193;
- if (yych <= '/') goto yy73;
- if (yych <= '9') goto yy194;
+ if(yych <= '-') goto yy193;
+ if(yych <= '/') goto yy73;
+ if(yych <= '9') goto yy194;
goto yy73;
}
yy193:
yych = *++YYCURSOR;
- if (yych <= '/') goto yy73;
- if (yych >= ':') goto yy73;
+ if(yych <= '/') goto yy73;
+ if(yych >= ':') goto yy73;
yy194:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'K') {
- if (yych <= '9') {
- if (yych <= '/') goto yy160;
+ if(yych <= 'K') {
+ if(yych <= '9') {
+ if(yych <= '/') goto yy160;
goto yy194;
} else {
- if (yych == 'F') goto yy162;
+ if(yych == 'F') goto yy162;
goto yy160;
}
} else {
- if (yych <= 'f') {
- if (yych <= 'L') goto yy162;
- if (yych <= 'e') goto yy160;
+ if(yych <= 'f') {
+ if(yych <= 'L') goto yy162;
+ if(yych <= 'e') goto yy160;
goto yy162;
} else {
- if (yych == 'l') goto yy162;
+ if(yych == 'l') goto yy162;
goto yy160;
}
}
yy196:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
yy197:
- if (yych <= 'L') {
- if (yych <= '9') {
- if (yych == '.') goto yy177;
- if (yych <= '/') goto yy7;
+ if(yych <= 'L') {
+ if(yych <= '9') {
+ if(yych == '.') goto yy177;
+ if(yych <= '/') goto yy7;
goto yy196;
} else {
- if (yych == 'E') goto yy180;
- if (yych <= 'K') goto yy7;
+ if(yych == 'E') goto yy180;
+ if(yych <= 'K') goto yy7;
goto yy203;
}
} else {
- if (yych <= 'e') {
- if (yych == 'U') goto yy203;
- if (yych <= 'd') goto yy7;
+ if(yych <= 'e') {
+ if(yych == 'U') goto yy203;
+ if(yych <= 'd') goto yy7;
goto yy180;
} else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy7;
+ if(yych <= 'l') {
+ if(yych <= 'k') goto yy7;
goto yy203;
} else {
- if (yych == 'u') goto yy203;
+ if(yych == 'u') goto yy203;
goto yy7;
}
}
}
yy198:
yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy73;
- if (yych >= ':') goto yy73;
+ if(yych <= '@') {
+ if(yych <= '/') goto yy73;
+ if(yych >= ':') goto yy73;
} else {
- if (yych <= 'F') goto yy199;
- if (yych <= '`') goto yy73;
- if (yych >= 'g') goto yy73;
+ if(yych <= 'F') goto yy199;
+ if(yych <= '`') goto yy73;
+ if(yych >= 'g') goto yy73;
}
yy199:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'T') {
- if (yych <= '@') {
- if (yych <= '/') goto yy7;
- if (yych <= '9') goto yy199;
+ if(yych <= 'T') {
+ if(yych <= '@') {
+ if(yych <= '/') goto yy7;
+ if(yych <= '9') goto yy199;
goto yy7;
} else {
- if (yych <= 'F') goto yy199;
- if (yych != 'L') goto yy7;
+ if(yych <= 'F') goto yy199;
+ if(yych != 'L') goto yy7;
}
} else {
- if (yych <= 'k') {
- if (yych <= 'U') goto yy201;
- if (yych <= '`') goto yy7;
- if (yych <= 'f') goto yy199;
+ if(yych <= 'k') {
+ if(yych <= 'U') goto yy201;
+ if(yych <= '`') goto yy7;
+ if(yych <= 'f') goto yy199;
goto yy7;
} else {
- if (yych <= 'l') goto yy201;
- if (yych != 'u') goto yy7;
+ if(yych <= 'l') goto yy201;
+ if(yych != 'u') goto yy7;
}
}
yy201:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'L') goto yy201;
- if (yych <= 'T') goto yy7;
+ if(yych <= 'U') {
+ if(yych == 'L') goto yy201;
+ if(yych <= 'T') goto yy7;
goto yy201;
} else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy7;
+ if(yych <= 'l') {
+ if(yych <= 'k') goto yy7;
goto yy201;
} else {
- if (yych == 'u') goto yy201;
+ if(yych == 'u') goto yy201;
goto yy7;
}
}
yy203:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'L') goto yy203;
- if (yych <= 'T') goto yy7;
+ if(yych <= 'U') {
+ if(yych == 'L') goto yy203;
+ if(yych <= 'T') goto yy7;
goto yy203;
} else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy7;
+ if(yych <= 'l') {
+ if(yych <= 'k') goto yy7;
goto yy203;
} else {
- if (yych == 'u') goto yy203;
+ if(yych == 'u') goto yy203;
goto yy7;
}
}
yy205:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy206:
- if (yych <= 'Z') {
- if (yych <= '/') goto yy5;
- if (yych <= '9') goto yy205;
- if (yych <= '@') goto yy5;
+ if(yych <= 'Z') {
+ if(yych <= '/') goto yy5;
+ if(yych <= '9') goto yy205;
+ if(yych <= '@') goto yy5;
goto yy205;
} else {
- if (yych <= '_') {
- if (yych <= '^') goto yy5;
+ if(yych <= '_') {
+ if(yych <= '^') goto yy5;
goto yy205;
} else {
- if (yych <= '`') goto yy5;
- if (yych <= 'z') goto yy205;
+ if(yych <= '`') goto yy5;
+ if(yych <= 'z') goto yy205;
goto yy5;
}
}
yy207:
++YYCURSOR;
+#line 71 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ goto singlelinecomment; }
+#line 1287 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy209:
++YYCURSOR;
+#line 70 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ goto multilinecomment; }
+#line 1292 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
}
+#line 137 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
multilinecomment:
@@ -1181,28 +1298,38 @@
RET(TOKEN_PP_INCOMPLETE_COMMENT);
// The "*\/" is just to avoid screwing up text editor syntax highlighting.
+#line 1302 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
{
YYCTYPE yych;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- if (yych <= '\f') {
- if (yych == '\n') goto yy215;
+ if(yych <= 0x0C) {
+ if(yych == 0x0A) goto yy215;
goto yy218;
} else {
- if (yych <= '\r') goto yy217;
- if (yych != '*') goto yy218;
+ if(yych <= 0x0D) goto yy217;
+ if(yych != '*') goto yy218;
}
++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy220;
+ if((yych = *YYCURSOR) == '/') goto yy220;
yy214:
+#line 155 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ goto multilinecomment; }
+#line 1319 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy215:
++YYCURSOR;
yy216:
- { s->line++; goto multilinecomment; }
+#line 149 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
+ {
+ s->line++;
+ token = cursor-1;
+ saw_newline = 1;
+ goto multilinecomment;
+ }
+#line 1330 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy217:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy219;
+ if(yych == 0x0A) goto yy219;
goto yy216;
yy218:
yych = *++YYCURSOR;
@@ -1212,37 +1339,50 @@
goto yy216;
yy220:
++YYCURSOR;
- { goto scanner_loop; }
+#line 144 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
+ {
+ if (saw_newline)
+ RET('\n');
+ goto scanner_loop;
+ }
+#line 1349 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
}
+#line 156 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
singlelinecomment:
if (YYLIMIT == YYCURSOR)
RET(TOKEN_EOI);
+#line 1358 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
{
YYCTYPE yych;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- if (yych == '\n') goto yy224;
- if (yych == '\r') goto yy226;
+ if(yych == 0x0A) goto yy224;
+ if(yych == 0x0D) goto yy226;
goto yy227;
yy224:
++YYCURSOR;
yy225:
- { s->line++; goto scanner_loop; }
+#line 162 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
+ { s->line++; token = cursor-1; RET('\n'); }
+#line 1371 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy226:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy229;
+ if(yych == 0x0A) goto yy229;
goto yy225;
yy227:
++YYCURSOR;
+#line 163 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ goto singlelinecomment; }
+#line 1380 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy229:
++YYCURSOR;
yych = *YYCURSOR;
goto yy225;
}
+#line 164 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
// !!! FIXME
@@ -1253,45 +1393,52 @@
*/
+#line 1397 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
{
YYCTYPE yych;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy237;
- if (yych != '\n') goto yy235;
+ if(yych <= 0x0C) {
+ if(yych <= 0x08) goto yy237;
+ if(yych != 0x0A) goto yy235;
} else {
- if (yych <= '\r') goto yy234;
- if (yych == ' ') goto yy235;
+ if(yych <= 0x0D) goto yy234;
+ if(yych == ' ') goto yy235;
goto yy237;
}
++YYCURSOR;
yy233:
+#line 174 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ s->line++; goto scanner_loop; }
+#line 1414 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy234:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy241;
+ if(yych == 0x0A) goto yy241;
goto yy233;
yy235:
++YYCURSOR;
yych = *YYCURSOR;
goto yy240;
yy236:
+#line 175 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ goto scanner_loop; }
+#line 1426 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy237:
++YYCURSOR;
+#line 176 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
{ goto singlelinecomment; }
+#line 1431 "/home/icculus/projects/mojoshader/mojoshader_lexer.c"
yy239:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy240:
- if (yych <= '\n') {
- if (yych == '\t') goto yy239;
+ if(yych <= 0x0A) {
+ if(yych == 0x09) goto yy239;
goto yy236;
} else {
- if (yych <= '\f') goto yy239;
- if (yych == ' ') goto yy239;
+ if(yych <= 0x0C) goto yy239;
+ if(yych == ' ') goto yy239;
goto yy236;
}
yy241:
@@ -1299,6 +1446,7 @@
yych = *YYCURSOR;
goto yy233;
}
+#line 177 "/home/icculus/projects/mojoshader/mojoshader_lexer.re"
assert(0 && "Shouldn't hit this code");