From 9ceb485d06d9888b6ea86ce5f684486ef28a4b10 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 18 Feb 2009 14:43:11 -0500 Subject: [PATCH] Updated re2c-generated code. --- mojoshader_lexer.c | 1569 +++++++++++++++++++++++--------------------- 1 file changed, 821 insertions(+), 748 deletions(-) diff --git a/mojoshader_lexer.c b/mojoshader_lexer.c index 959044fe..fd35e21c 100644 --- a/mojoshader_lexer.c +++ b/mojoshader_lexer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.12.1 */ +/* Generated by re2c 0.13.5 */ /** * MojoShader; generate shader programs from bytecode of compiled * Direct3D shaders. @@ -25,18 +25,37 @@ typedef unsigned char uchar; -#define RET(t) do { update_state(s, cursor, token); return t; } while (0) +#define YYMAXFILL 8 +#define RET(t) do { return update_state(s, eoi, cursor, token, t); } while (0) #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER s->lexer_marker -#define YYFILL(n) { if ((n) == 1) { RET(TOKEN_EOI); } } +#define YYFILL(n) { if ((n) == 1) { cursor = sentinel; limit = cursor + YYMAXFILL; eoi = 1; } } -static void update_state(IncludeState *s, const uchar *cur, const uchar *tok) +static uchar sentinel[YYMAXFILL]; + +static Token update_state(IncludeState *s, int eoi, const uchar *cur, + const uchar *tok, const Token val) { - s->bytes_left -= (unsigned int) (cur - ((const uchar *) s->source)); - s->source = (const char *) cur; - s->token = (const char *) tok; + if (eoi) + { + s->bytes_left = 0; + s->source = (const char *) s->source_base + s->orig_length; + if ( (tok >= sentinel) && (tok < (sentinel+YYMAXFILL)) ) + s->token = s->source; + else + s->token = (const char *) tok; + } // if + else + { + s->bytes_left -= (unsigned int) (cur - ((const uchar *) s->source)); + s->source = (const char *) cur; + s->token = (const char *) tok; + } // else + s->tokenlen = (unsigned int) (s->source - s->token); + s->tokenval = val; + return val; } // update_state Token preprocessor_lexer(IncludeState *s) @@ -45,14 +64,13 @@ Token preprocessor_lexer(IncludeState *s) const uchar *token; const uchar *matchptr; const uchar *limit = cursor + s->bytes_left; + int eoi = 0; int saw_newline = 0; scanner_loop: + if (YYLIMIT == YYCURSOR) YYFILL(1); token = cursor; - if (YYLIMIT == YYCURSOR) - RET(TOKEN_EOI); - @@ -60,30 +78,31 @@ Token preprocessor_lexer(IncludeState *s) YYCTYPE yych; unsigned int yyaccept = 0; - if((YYLIMIT - YYCURSOR) < 8) YYFILL(8); + if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8); yych = *YYCURSOR; - switch(yych) { - case 0x09: - case 0x0B: - case 0x0C: - case ' ': goto yy61; - case 0x0A: goto yy63; - case 0x0D: goto yy65; - case '!': goto yy34; - case '"': goto yy13; - case '#': goto yy36; - case '%': goto yy24; - case '&': goto yy28; - case '\'': goto yy9; - case '(': goto yy37; - case ')': goto yy39; - case '*': goto yy22; - case '+': goto yy18; - case ',': goto yy45; - case '-': goto yy20; - case '.': goto yy11; - case '/': goto yy2; - case '0': goto yy6; + switch (yych) { + case 0x00: goto yy60; + case '\t': + case '\v': + case '\f': + case ' ': goto yy62; + case '\n': goto yy64; + case '\r': goto yy66; + case '!': goto yy35; + case '"': goto yy14; + case '#': goto yy37; + case '%': goto yy25; + case '&': goto yy29; + case '\'': goto yy11; + case '(': goto yy38; + case ')': goto yy40; + case '*': goto yy23; + case '+': goto yy19; + case ',': goto yy46; + case '-': goto yy21; + case '.': goto yy12; + case '/': goto yy4; + case '0': goto yy8; case '1': case '2': case '3': @@ -92,13 +111,13 @@ Token preprocessor_lexer(IncludeState *s) case '6': case '7': case '8': - case '9': goto yy8; - case ':': goto yy49; - case ';': goto yy51; - case '<': goto yy16; - case '=': goto yy32; - case '>': goto yy14; - case '?': goto yy57; + case '9': goto yy10; + case ':': goto yy50; + case ';': goto yy52; + case '<': goto yy17; + case '=': goto yy33; + case '>': goto yy15; + case '?': goto yy58; case 'A': case 'B': case 'C': @@ -151,1201 +170,1255 @@ Token preprocessor_lexer(IncludeState *s) case 'w': case 'x': case 'y': - case 'z': goto yy4; - case '[': goto yy41; - case '\\': goto yy59; - case ']': goto yy43; - case '^': goto yy26; - case '{': goto yy53; - case '|': goto yy30; - case '}': goto yy55; - case '~': goto yy47; - default: goto yy66; + case 'z': goto yy6; + case '[': goto yy42; + case '\\': goto yy2; + case ']': goto yy44; + case '^': goto yy27; + case '{': goto yy54; + case '|': goto yy31; + case '}': goto yy56; + case '~': goto yy48; + default: goto yy67; } yy2: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 0x08) goto yy3; + if (yych <= '\r') goto yy233; + if (yych == ' ') goto yy233; +yy3: + { goto bad_chars; } +yy4: ++YYCURSOR; - if((yych = *YYCURSOR) <= '.') { - if(yych == '*') goto yy229; + if ((yych = *YYCURSOR) <= '.') { + if (yych == '*') goto yy230; } else { - if(yych <= '/') goto yy227; - if(yych == '=') goto yy225; + if (yych <= '/') goto yy228; + if (yych == '=') goto yy226; } { RET('/'); } -yy4: +yy6: ++YYCURSOR; yych = *YYCURSOR; - goto yy224; -yy5: + goto yy225; +yy7: { RET(TOKEN_IDENTIFIER); } -yy6: - yyaccept = 0; +yy8: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= 'X') { - if(yych <= 'T') { - if(yych == 'L') goto yy199; - goto yy215; - } else { - if(yych <= 'U') goto yy199; - if(yych <= 'W') goto yy215; + if (yych <= 'X') { + if (yych <= 'T') { + if (yych == 'L') goto yy200; goto yy216; + } else { + if (yych <= 'U') goto yy200; + if (yych <= 'W') goto yy216; + goto yy217; } } else { - if(yych <= 't') { - if(yych == 'l') goto yy199; - goto yy215; + if (yych <= 't') { + if (yych == 'l') goto yy200; + goto yy216; } else { - if(yych <= 'u') goto yy199; - if(yych == 'x') goto yy216; - goto yy215; + if (yych <= 'u') goto yy200; + if (yych == 'x') goto yy217; + goto yy216; } } -yy7: - { RET(TOKEN_INT_LITERAL); } -yy8: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy197; yy9: + { RET(TOKEN_INT_LITERAL); } +yy10: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 0x0A) goto yy10; - if(yych != 0x0D) goto yy187; -yy10: - { goto bad_chars; } + goto yy198; yy11: - ++YYCURSOR; - if((yych = *YYCURSOR) <= '/') goto yy12; - if(yych <= '9') goto yy178; + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '\n') goto yy3; + if (yych == '\r') goto yy3; + goto yy188; yy12: - { RET('.'); } + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy13; + if (yych <= '9') goto yy179; yy13: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 0x0A) goto yy10; - if(yych == 0x0D) goto yy10; - goto yy169; + { RET('.'); } yy14: - ++YYCURSOR; - if((yych = *YYCURSOR) <= '<') goto yy15; - if(yych <= '=') goto yy162; - if(yych <= '>') goto yy164; + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '\n') goto yy3; + if (yych == '\r') goto yy3; + goto yy170; yy15: - { RET('>'); } -yy16: ++YYCURSOR; - if((yych = *YYCURSOR) <= ';') goto yy17; - if(yych <= '<') goto yy158; - if(yych <= '=') goto yy156; + if ((yych = *YYCURSOR) <= '<') goto yy16; + if (yych <= '=') goto yy163; + if (yych <= '>') goto yy165; +yy16: + { RET('>'); } yy17: - { RET('<'); } + ++YYCURSOR; + if ((yych = *YYCURSOR) <= ';') goto yy18; + if (yych <= '<') goto yy159; + if (yych <= '=') goto yy157; yy18: + { RET('<'); } +yy19: ++YYCURSOR; - if((yych = *YYCURSOR) == '+') goto yy152; - if(yych == '=') goto yy154; + if ((yych = *YYCURSOR) == '+') goto yy153; + if (yych == '=') goto yy155; { RET('+'); } -yy20: +yy21: ++YYCURSOR; - if((yych = *YYCURSOR) == '-') goto yy148; - if(yych == '=') goto yy150; + if ((yych = *YYCURSOR) == '-') goto yy149; + if (yych == '=') goto yy151; { RET('-'); } -yy22: +yy23: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy146; + if ((yych = *YYCURSOR) == '=') goto yy147; { RET('*'); } -yy24: +yy25: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy144; + if ((yych = *YYCURSOR) == '=') goto yy145; { RET('%'); } -yy26: +yy27: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy142; + if ((yych = *YYCURSOR) == '=') goto yy143; { RET('^'); } -yy28: +yy29: ++YYCURSOR; - if((yych = *YYCURSOR) == '&') goto yy138; - if(yych == '=') goto yy140; + if ((yych = *YYCURSOR) == '&') goto yy139; + if (yych == '=') goto yy141; { RET('&'); } -yy30: +yy31: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy136; - if(yych == '|') goto yy134; + if ((yych = *YYCURSOR) == '=') goto yy137; + if (yych == '|') goto yy135; { RET('|'); } -yy32: +yy33: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy132; + if ((yych = *YYCURSOR) == '=') goto yy133; { RET('='); } -yy34: +yy35: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy130; + if ((yych = *YYCURSOR) == '=') goto yy131; { RET('!'); } -yy36: - yyaccept = 1; +yy37: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= 'c') { - if(yych <= 0x1F) { - if(yych == 0x09) goto yy71; - goto yy10; + if (yych <= 'c') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy72; + goto yy3; } else { - if(yych <= ' ') goto yy71; - if(yych == '#') goto yy78; - goto yy10; + if (yych <= ' ') goto yy72; + if (yych == '#') goto yy79; + goto yy3; } } else { - if(yych <= 'k') { - if(yych <= 'e') goto yy71; - if(yych == 'i') goto yy71; - goto yy10; + if (yych <= 'k') { + if (yych <= 'e') goto yy72; + if (yych == 'i') goto yy72; + goto yy3; } else { - if(yych <= 'l') goto yy71; - if(yych == 'u') goto yy71; - goto yy10; + if (yych <= 'l') goto yy72; + if (yych == 'u') goto yy72; + goto yy3; } } -yy37: +yy38: ++YYCURSOR; { RET('('); } -yy39: +yy40: ++YYCURSOR; { RET(')'); } -yy41: +yy42: ++YYCURSOR; { RET('['); } -yy43: +yy44: ++YYCURSOR; { RET(']'); } -yy45: +yy46: ++YYCURSOR; { RET(','); } -yy47: +yy48: ++YYCURSOR; { RET('~'); } -yy49: +yy50: ++YYCURSOR; { RET(':'); } -yy51: +yy52: ++YYCURSOR; { RET(';'); } -yy53: +yy54: ++YYCURSOR; { RET('{'); } -yy55: +yy56: ++YYCURSOR; { RET('}'); } -yy57: +yy58: ++YYCURSOR; { RET('?'); } -yy59: +yy60: ++YYCURSOR; - { RET('\\'); } -yy61: + { if (eoi) { RET(TOKEN_EOI); } goto bad_chars; } +yy62: ++YYCURSOR; yych = *YYCURSOR; - goto yy69; -yy62: - { goto scanner_loop; } + goto yy70; yy63: - ++YYCURSOR; + { if (s->report_whitespace) RET(' '); goto scanner_loop; } yy64: - { s->line++; RET('\n'); } + ++YYCURSOR; yy65: - yych = *++YYCURSOR; - if(yych == 0x0A) goto yy67; - goto yy64; + { s->line++; RET('\n'); } yy66: yych = *++YYCURSOR; - goto yy10; + if (yych == '\n') goto yy68; + goto yy65; yy67: yych = *++YYCURSOR; - goto yy64; + goto yy3; yy68: + yych = *++YYCURSOR; + goto yy65; +yy69: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy69: - if(yych <= 0x0A) { - if(yych == 0x09) goto yy68; - goto yy62; +yy70: + if (yych <= '\n') { + if (yych == '\t') goto yy69; + goto yy63; } else { - if(yych <= 0x0C) goto yy68; - if(yych == ' ') goto yy68; - goto yy62; + if (yych <= '\f') goto yy69; + if (yych == ' ') goto yy69; + goto yy63; } -yy70: +yy71: ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; -yy71: - if(yych <= 'e') { - if(yych <= 0x1F) { - if(yych == 0x09) goto yy70; +yy72: + if (yych <= 'e') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy71; } else { - if(yych <= ' ') goto yy70; - if(yych <= 'c') goto yy72; - if(yych <= 'd') goto yy76; - goto yy73; + if (yych <= ' ') goto yy71; + if (yych <= 'c') goto yy73; + if (yych <= 'd') goto yy77; + goto yy74; } } else { - if(yych <= 'k') { - if(yych == 'i') goto yy74; + if (yych <= 'k') { + if (yych == 'i') goto yy75; } else { - if(yych <= 'l') goto yy77; - if(yych == 'u') goto yy75; + if (yych <= 'l') goto yy78; + if (yych == 'u') goto yy76; } } -yy72: +yy73: YYCURSOR = YYMARKER; - if(yyaccept <= 1) { - if(yyaccept <= 0) { - goto yy7; + if (yyaccept <= 1) { + if (yyaccept <= 0) { + goto yy3; } else { - goto yy10; + goto yy9; } } else { - if(yyaccept <= 2) { - goto yy97; + if (yyaccept <= 2) { + goto yy98; } else { - goto yy180; + goto yy181; } } -yy73: +yy74: yych = *++YYCURSOR; - if(yych <= 'm') { - if(yych == 'l') goto yy113; - goto yy72; + if (yych <= 'm') { + if (yych == 'l') goto yy114; + goto yy73; } else { - if(yych <= 'n') goto yy114; - if(yych == 'r') goto yy115; - goto yy72; + if (yych <= 'n') goto yy115; + if (yych == 'r') goto yy116; + goto yy73; } -yy74: - yych = *++YYCURSOR; - if(yych == 'f') goto yy96; - if(yych == 'n') goto yy95; - goto yy72; yy75: yych = *++YYCURSOR; - if(yych == 'n') goto yy90; - goto yy72; + if (yych == 'f') goto yy97; + if (yych == 'n') goto yy96; + goto yy73; yy76: yych = *++YYCURSOR; - if(yych == 'e') goto yy84; - goto yy72; + if (yych == 'n') goto yy91; + goto yy73; yy77: yych = *++YYCURSOR; - if(yych == 'i') goto yy80; - goto yy72; + if (yych == 'e') goto yy85; + goto yy73; yy78: + yych = *++YYCURSOR; + if (yych == 'i') goto yy81; + goto yy73; +yy79: ++YYCURSOR; { RET(TOKEN_HASHHASH); } -yy80: +yy81: yych = *++YYCURSOR; - if(yych != 'n') goto yy72; + if (yych != 'n') goto yy73; yych = *++YYCURSOR; - if(yych != 'e') goto yy72; + if (yych != 'e') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_LINE); } -yy84: +yy85: yych = *++YYCURSOR; - if(yych != 'f') goto yy72; + if (yych != 'f') goto yy73; yych = *++YYCURSOR; - if(yych != 'i') goto yy72; + if (yych != 'i') goto yy73; yych = *++YYCURSOR; - if(yych != 'n') goto yy72; + if (yych != 'n') goto yy73; yych = *++YYCURSOR; - if(yych != 'e') goto yy72; + if (yych != 'e') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_DEFINE); } -yy90: +yy91: yych = *++YYCURSOR; - if(yych != 'd') goto yy72; + if (yych != 'd') goto yy73; yych = *++YYCURSOR; - if(yych != 'e') goto yy72; + if (yych != 'e') goto yy73; yych = *++YYCURSOR; - if(yych != 'f') goto yy72; + if (yych != 'f') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_UNDEF); } -yy95: - yych = *++YYCURSOR; - if(yych == 'c') goto yy107; - goto yy72; yy96: + yych = *++YYCURSOR; + if (yych == 'c') goto yy108; + goto yy73; +yy97: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'd') goto yy99; - if(yych == 'n') goto yy98; -yy97: - { RET(TOKEN_PP_IF); } + if (yych == 'd') goto yy100; + if (yych == 'n') goto yy99; yy98: - yych = *++YYCURSOR; - if(yych == 'd') goto yy103; - goto yy72; + { RET(TOKEN_PP_IF); } yy99: yych = *++YYCURSOR; - if(yych != 'e') goto yy72; + if (yych == 'd') goto yy104; + goto yy73; +yy100: + yych = *++YYCURSOR; + if (yych != 'e') goto yy73; yych = *++YYCURSOR; - if(yych != 'f') goto yy72; + if (yych != 'f') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_IFDEF); } -yy103: +yy104: yych = *++YYCURSOR; - if(yych != 'e') goto yy72; + if (yych != 'e') goto yy73; yych = *++YYCURSOR; - if(yych != 'f') goto yy72; + if (yych != 'f') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_IFNDEF); } -yy107: +yy108: yych = *++YYCURSOR; - if(yych != 'l') goto yy72; + if (yych != 'l') goto yy73; yych = *++YYCURSOR; - if(yych != 'u') goto yy72; + if (yych != 'u') goto yy73; yych = *++YYCURSOR; - if(yych != 'd') goto yy72; + if (yych != 'd') goto yy73; yych = *++YYCURSOR; - if(yych != 'e') goto yy72; + if (yych != 'e') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_INCLUDE); } -yy113: - yych = *++YYCURSOR; - if(yych == 'i') goto yy124; - if(yych == 's') goto yy125; - goto yy72; yy114: yych = *++YYCURSOR; - if(yych == 'd') goto yy120; - goto yy72; + if (yych == 'i') goto yy125; + if (yych == 's') goto yy126; + goto yy73; yy115: yych = *++YYCURSOR; - if(yych != 'r') goto yy72; + if (yych == 'd') goto yy121; + goto yy73; +yy116: yych = *++YYCURSOR; - if(yych != 'o') goto yy72; + if (yych != 'r') goto yy73; yych = *++YYCURSOR; - if(yych != 'r') goto yy72; + if (yych != 'o') goto yy73; + yych = *++YYCURSOR; + if (yych != 'r') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_ERROR); } -yy120: +yy121: yych = *++YYCURSOR; - if(yych != 'i') goto yy72; + if (yych != 'i') goto yy73; yych = *++YYCURSOR; - if(yych != 'f') goto yy72; + if (yych != 'f') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_ENDIF); } -yy124: - yych = *++YYCURSOR; - if(yych == 'f') goto yy128; - goto yy72; yy125: yych = *++YYCURSOR; - if(yych != 'e') goto yy72; + if (yych == 'f') goto yy129; + goto yy73; +yy126: + yych = *++YYCURSOR; + if (yych != 'e') goto yy73; ++YYCURSOR; { RET(TOKEN_PP_ELSE); } -yy128: +yy129: ++YYCURSOR; { RET(TOKEN_PP_ELIF); } -yy130: +yy131: ++YYCURSOR; { RET(TOKEN_NEQ); } -yy132: +yy133: ++YYCURSOR; { RET(TOKEN_EQL); } -yy134: +yy135: ++YYCURSOR; { RET(TOKEN_OROR); } -yy136: +yy137: ++YYCURSOR; { RET(TOKEN_ORASSIGN); } -yy138: +yy139: ++YYCURSOR; { RET(TOKEN_ANDAND); } -yy140: +yy141: ++YYCURSOR; { RET(TOKEN_ANDASSIGN); } -yy142: +yy143: ++YYCURSOR; { RET(TOKEN_XORASSIGN); } -yy144: +yy145: ++YYCURSOR; { RET(TOKEN_MODASSIGN); } -yy146: +yy147: ++YYCURSOR; { RET(TOKEN_MULTASSIGN); } -yy148: +yy149: ++YYCURSOR; { RET(TOKEN_DECREMENT); } -yy150: +yy151: ++YYCURSOR; { RET(TOKEN_SUBASSIGN); } -yy152: +yy153: ++YYCURSOR; { RET(TOKEN_INCREMENT); } -yy154: +yy155: ++YYCURSOR; { RET(TOKEN_ADDASSIGN); } -yy156: +yy157: ++YYCURSOR; { RET(TOKEN_LEQ); } -yy158: +yy159: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy160; + if ((yych = *YYCURSOR) == '=') goto yy161; { RET(TOKEN_LSHIFT); } -yy160: +yy161: ++YYCURSOR; { RET(TOKEN_LSHIFTASSIGN); } -yy162: +yy163: ++YYCURSOR; { RET(TOKEN_GEQ); } -yy164: +yy165: ++YYCURSOR; - if((yych = *YYCURSOR) == '=') goto yy166; + if ((yych = *YYCURSOR) == '=') goto yy167; { RET(TOKEN_RSHIFT); } -yy166: +yy167: ++YYCURSOR; { RET(TOKEN_RSHIFTASSIGN); } -yy168: +yy169: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy169: - if(yych <= 0x0D) { - if(yych == 0x0A) goto yy72; - if(yych <= 0x0C) goto yy168; - goto yy72; +yy170: + if (yych <= '\r') { + if (yych == '\n') goto yy73; + if (yych <= '\f') goto yy169; + goto yy73; } else { - if(yych <= '"') { - if(yych <= '!') goto yy168; - goto yy171; + if (yych <= '"') { + if (yych <= '!') goto yy169; + goto yy172; } else { - if(yych != '\\') goto yy168; + if (yych != '\\') goto yy169; } } -yy170: +yy171: ++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; - goto yy72; + if (yych <= 'b') { + if (yych <= '7') { + if (yych <= '&') { + if (yych == '"') goto yy169; + goto yy73; } else { - if(yych <= '\'') goto yy168; - if(yych <= '/') goto yy72; - goto yy174; + if (yych <= '\'') goto yy169; + if (yych <= '/') goto yy73; + goto yy175; } } else { - if(yych <= '[') { - if(yych == '?') goto yy168; - goto yy72; + if (yych <= '[') { + if (yych == '?') goto yy169; + goto yy73; } else { - if(yych <= '\\') goto yy168; - if(yych <= '`') goto yy72; - goto yy168; + if (yych <= '\\') goto yy169; + if (yych <= '`') goto yy73; + goto yy169; } } } else { - if(yych <= 'r') { - if(yych <= 'm') { - if(yych == 'f') goto yy168; - goto yy72; + if (yych <= 'r') { + if (yych <= 'm') { + if (yych == 'f') goto yy169; + goto yy73; } else { - if(yych <= 'n') goto yy168; - if(yych <= 'q') goto yy72; - goto yy168; + if (yych <= 'n') goto yy169; + if (yych <= 'q') goto yy73; + goto yy169; } } else { - if(yych <= 'u') { - if(yych == 't') goto yy168; - goto yy72; + if (yych <= 'u') { + if (yych == 't') goto yy169; + goto yy73; } else { - if(yych <= 'v') goto yy168; - if(yych == 'x') goto yy173; - goto yy72; + if (yych <= 'v') goto yy169; + if (yych == 'x') goto yy174; + goto yy73; } } } -yy171: +yy172: ++YYCURSOR; { RET(TOKEN_STRING_LITERAL); } -yy173: +yy174: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= '@') { - if(yych <= '/') goto yy72; - if(yych <= '9') goto yy176; - goto yy72; + if (yych <= '@') { + if (yych <= '/') goto yy73; + if (yych <= '9') goto yy177; + goto yy73; } else { - if(yych <= 'F') goto yy176; - if(yych <= '`') goto yy72; - if(yych <= 'f') goto yy176; - goto yy72; + if (yych <= 'F') goto yy177; + if (yych <= '`') goto yy73; + if (yych <= 'f') goto yy177; + goto yy73; } -yy174: +yy175: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= '!') { - if(yych <= 0x0A) { - if(yych <= 0x09) goto yy168; - goto yy72; + if (yych <= '!') { + if (yych <= '\n') { + if (yych <= '\t') goto yy169; + goto yy73; } else { - if(yych == 0x0D) goto yy72; - goto yy168; + if (yych == '\r') goto yy73; + goto yy169; } } else { - if(yych <= '7') { - if(yych <= '"') goto yy171; - if(yych <= '/') goto yy168; - goto yy174; + if (yych <= '7') { + if (yych <= '"') goto yy172; + if (yych <= '/') goto yy169; + goto yy175; } else { - if(yych == '\\') goto yy170; - goto yy168; + if (yych == '\\') goto yy171; + goto yy169; } } -yy176: +yy177: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= '/') { - if(yych <= 0x0C) { - if(yych == 0x0A) goto yy72; - goto yy168; + if (yych <= '/') { + if (yych <= '\f') { + if (yych == '\n') goto yy73; + goto yy169; } else { - if(yych <= 0x0D) goto yy72; - if(yych == '"') goto yy171; - goto yy168; + if (yych <= '\r') goto yy73; + if (yych == '"') goto yy172; + goto yy169; } } else { - if(yych <= '[') { - if(yych <= '9') goto yy176; - if(yych <= '@') goto yy168; - if(yych <= 'F') goto yy176; - goto yy168; + if (yych <= '[') { + if (yych <= '9') goto yy177; + if (yych <= '@') goto yy169; + if (yych <= 'F') goto yy177; + goto yy169; } else { - if(yych <= '\\') goto yy170; - if(yych <= '`') goto yy168; - if(yych <= 'f') goto yy176; - goto yy168; + if (yych <= '\\') goto yy171; + if (yych <= '`') goto yy169; + if (yych <= 'f') goto yy177; + goto yy169; } } -yy178: +yy179: yyaccept = 3; 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 yy180; - if(yych <= '9') goto yy178; + if (yych <= 'K') { + if (yych <= 'D') { + if (yych <= '/') goto yy181; + if (yych <= '9') goto yy179; } else { - if(yych <= 'E') goto yy181; - if(yych <= 'F') goto yy182; + if (yych <= 'E') goto yy182; + if (yych <= 'F') goto yy183; } } else { - if(yych <= 'e') { - if(yych <= 'L') goto yy182; - if(yych >= 'e') goto yy181; + if (yych <= 'e') { + if (yych <= 'L') goto yy183; + if (yych >= 'e') goto yy182; } else { - if(yych <= 'f') goto yy182; - if(yych == 'l') goto yy182; + if (yych <= 'f') goto yy183; + if (yych == 'l') goto yy183; } } -yy180: - { RET(TOKEN_FLOAT_LITERAL); } yy181: + { RET(TOKEN_FLOAT_LITERAL); } +yy182: yych = *++YYCURSOR; - if(yych <= ',') { - if(yych == '+') goto yy183; - goto yy72; + if (yych <= ',') { + if (yych == '+') goto yy184; + goto yy73; } else { - if(yych <= '-') goto yy183; - if(yych <= '/') goto yy72; - if(yych <= '9') goto yy184; - goto yy72; + if (yych <= '-') goto yy184; + if (yych <= '/') goto yy73; + if (yych <= '9') goto yy185; + goto yy73; } -yy182: - yych = *++YYCURSOR; - goto yy180; yy183: yych = *++YYCURSOR; - if(yych <= '/') goto yy72; - if(yych >= ':') goto yy72; + goto yy181; yy184: + yych = *++YYCURSOR; + if (yych <= '/') goto yy73; + if (yych >= ':') goto yy73; +yy185: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'K') { - if(yych <= '9') { - if(yych <= '/') goto yy180; - goto yy184; + if (yych <= 'K') { + if (yych <= '9') { + if (yych <= '/') goto yy181; + goto yy185; } else { - if(yych == 'F') goto yy182; - goto yy180; + if (yych == 'F') goto yy183; + goto yy181; } } else { - if(yych <= 'f') { - if(yych <= 'L') goto yy182; - if(yych <= 'e') goto yy180; - goto yy182; + if (yych <= 'f') { + if (yych <= 'L') goto yy183; + if (yych <= 'e') goto yy181; + goto yy183; } else { - if(yych == 'l') goto yy182; - goto yy180; + if (yych == 'l') goto yy183; + goto yy181; } } -yy186: +yy187: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy187: - if(yych <= 0x0D) { - if(yych == 0x0A) goto yy72; - if(yych <= 0x0C) goto yy186; - goto yy72; +yy188: + if (yych <= '\r') { + if (yych == '\n') goto yy73; + if (yych <= '\f') goto yy187; + goto yy73; } else { - if(yych <= '\'') { - if(yych <= '&') goto yy186; - goto yy189; + if (yych <= '\'') { + if (yych <= '&') goto yy187; + goto yy190; } else { - if(yych != '\\') goto yy186; + if (yych != '\\') goto yy187; } } -yy188: +yy189: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'b') { - if(yych <= '7') { - if(yych <= '&') { - if(yych == '"') goto yy186; - goto yy72; + if (yych <= 'b') { + if (yych <= '7') { + if (yych <= '&') { + if (yych == '"') goto yy187; + goto yy73; } else { - if(yych <= '\'') goto yy186; - if(yych <= '/') goto yy72; - goto yy191; + if (yych <= '\'') goto yy187; + if (yych <= '/') goto yy73; + goto yy192; } } else { - if(yych <= '[') { - if(yych == '?') goto yy186; - goto yy72; + if (yych <= '[') { + if (yych == '?') goto yy187; + goto yy73; } else { - if(yych <= '\\') goto yy186; - if(yych <= '`') goto yy72; - goto yy186; + if (yych <= '\\') goto yy187; + if (yych <= '`') goto yy73; + goto yy187; } } } else { - if(yych <= 'r') { - if(yych <= 'm') { - if(yych == 'f') goto yy186; - goto yy72; + if (yych <= 'r') { + if (yych <= 'm') { + if (yych == 'f') goto yy187; + goto yy73; } else { - if(yych <= 'n') goto yy186; - if(yych <= 'q') goto yy72; - goto yy186; + if (yych <= 'n') goto yy187; + if (yych <= 'q') goto yy73; + goto yy187; } } else { - if(yych <= 'u') { - if(yych == 't') goto yy186; - goto yy72; + if (yych <= 'u') { + if (yych == 't') goto yy187; + goto yy73; } else { - if(yych <= 'v') goto yy186; - if(yych == 'x') goto yy190; - goto yy72; + if (yych <= 'v') goto yy187; + if (yych == 'x') goto yy191; + goto yy73; } } } -yy189: - yych = *++YYCURSOR; - goto yy7; yy190: + yych = *++YYCURSOR; + goto yy9; +yy191: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= '@') { - if(yych <= '/') goto yy72; - if(yych <= '9') goto yy193; - goto yy72; + if (yych <= '@') { + if (yych <= '/') goto yy73; + if (yych <= '9') goto yy194; + goto yy73; } else { - if(yych <= 'F') goto yy193; - if(yych <= '`') goto yy72; - if(yych <= 'f') goto yy193; - goto yy72; + if (yych <= 'F') goto yy194; + if (yych <= '`') goto yy73; + if (yych <= 'f') goto yy194; + goto yy73; } -yy191: +yy192: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= '&') { - if(yych <= 0x0A) { - if(yych <= 0x09) goto yy186; - goto yy72; + if (yych <= '&') { + if (yych <= '\n') { + if (yych <= '\t') goto yy187; + goto yy73; } else { - if(yych == 0x0D) goto yy72; - goto yy186; + if (yych == '\r') goto yy73; + goto yy187; } } else { - if(yych <= '7') { - if(yych <= '\'') goto yy189; - if(yych <= '/') goto yy186; - goto yy191; + if (yych <= '7') { + if (yych <= '\'') goto yy190; + if (yych <= '/') goto yy187; + goto yy192; } else { - if(yych == '\\') goto yy188; - goto yy186; + if (yych == '\\') goto yy189; + goto yy187; } } -yy193: +yy194: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= '/') { - if(yych <= 0x0C) { - if(yych == 0x0A) goto yy72; - goto yy186; + if (yych <= '/') { + if (yych <= '\f') { + if (yych == '\n') goto yy73; + goto yy187; } else { - if(yych <= 0x0D) goto yy72; - if(yych == '\'') goto yy189; - goto yy186; + if (yych <= '\r') goto yy73; + if (yych == '\'') goto yy190; + goto yy187; } } else { - if(yych <= '[') { - if(yych <= '9') goto yy193; - if(yych <= '@') goto yy186; - if(yych <= 'F') goto yy193; - goto yy186; + if (yych <= '[') { + if (yych <= '9') goto yy194; + if (yych <= '@') goto yy187; + if (yych <= 'F') goto yy194; + goto yy187; } else { - if(yych <= '\\') goto yy188; - if(yych <= '`') goto yy186; - if(yych <= 'f') goto yy193; - goto yy186; + if (yych <= '\\') goto yy189; + if (yych <= '`') goto yy187; + if (yych <= 'f') goto yy194; + goto yy187; } } -yy195: +yy196: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'E') goto yy206; - if(yych == 'e') goto yy206; - goto yy205; -yy196: - yyaccept = 0; + if (yych == 'E') goto yy207; + if (yych == 'e') goto yy207; + goto yy206; +yy197: + yyaccept = 1; 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 yy195; - if(yych <= '/') goto yy7; - goto yy196; +yy198: + if (yych <= 'L') { + if (yych <= '9') { + if (yych == '.') goto yy196; + if (yych <= '/') goto yy9; + goto yy197; } else { - if(yych == 'E') goto yy198; - if(yych <= 'K') goto yy7; - goto yy199; + if (yych == 'E') goto yy199; + if (yych <= 'K') goto yy9; + goto yy200; } } else { - if(yych <= 'e') { - if(yych == 'U') goto yy199; - if(yych <= 'd') goto yy7; + if (yych <= 'e') { + if (yych == 'U') goto yy200; + if (yych <= 'd') goto yy9; } else { - if(yych <= 'l') { - if(yych <= 'k') goto yy7; - goto yy199; + if (yych <= 'l') { + if (yych <= 'k') goto yy9; + goto yy200; } else { - if(yych == 'u') goto yy199; - goto yy7; + if (yych == 'u') goto yy200; + goto yy9; } } } -yy198: +yy199: yych = *++YYCURSOR; - if(yych <= ',') { - if(yych == '+') goto yy201; - goto yy72; + if (yych <= ',') { + if (yych == '+') goto yy202; + goto yy73; } else { - if(yych <= '-') goto yy201; - if(yych <= '/') goto yy72; - if(yych <= '9') goto yy202; - goto yy72; + if (yych <= '-') goto yy202; + if (yych <= '/') goto yy73; + if (yych <= '9') goto yy203; + goto yy73; } -yy199: +yy200: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'U') { - if(yych == 'L') goto yy199; - if(yych <= 'T') goto yy7; - goto yy199; + if (yych <= 'U') { + if (yych == 'L') goto yy200; + if (yych <= 'T') goto yy9; + goto yy200; } else { - if(yych <= 'l') { - if(yych <= 'k') goto yy7; - goto yy199; + if (yych <= 'l') { + if (yych <= 'k') goto yy9; + goto yy200; } else { - if(yych == 'u') goto yy199; - goto yy7; + if (yych == 'u') goto yy200; + goto yy9; } } -yy201: - yych = *++YYCURSOR; - if(yych <= '/') goto yy72; - if(yych >= ':') goto yy72; yy202: + yych = *++YYCURSOR; + if (yych <= '/') goto yy73; + if (yych >= ':') goto yy73; +yy203: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'K') { - if(yych <= '9') { - if(yych <= '/') goto yy180; - goto yy202; + if (yych <= 'K') { + if (yych <= '9') { + if (yych <= '/') goto yy181; + goto yy203; } else { - if(yych == 'F') goto yy182; - goto yy180; + if (yych == 'F') goto yy183; + goto yy181; } } else { - if(yych <= 'f') { - if(yych <= 'L') goto yy182; - if(yych <= 'e') goto yy180; - goto yy182; + if (yych <= 'f') { + if (yych <= 'L') goto yy183; + if (yych <= 'e') goto yy181; + goto yy183; } else { - if(yych == 'l') goto yy182; - goto yy180; + if (yych == 'l') goto yy183; + goto yy181; } } -yy204: +yy205: yyaccept = 3; YYMARKER = ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); + if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; -yy205: - if(yych <= 'K') { - if(yych <= 'D') { - if(yych <= '/') goto yy180; - if(yych <= '9') goto yy204; - goto yy180; +yy206: + if (yych <= 'K') { + if (yych <= 'D') { + if (yych <= '/') goto yy181; + if (yych <= '9') goto yy205; + goto yy181; } else { - if(yych <= 'E') goto yy210; - if(yych <= 'F') goto yy182; - goto yy180; + if (yych <= 'E') goto yy211; + if (yych <= 'F') goto yy183; + goto yy181; } } else { - if(yych <= 'e') { - if(yych <= 'L') goto yy182; - if(yych <= 'd') goto yy180; - goto yy210; + if (yych <= 'e') { + if (yych <= 'L') goto yy183; + if (yych <= 'd') goto yy181; + goto yy211; } else { - if(yych <= 'f') goto yy182; - if(yych == 'l') goto yy182; - goto yy180; + if (yych <= 'f') goto yy183; + if (yych == 'l') goto yy183; + goto yy181; } } -yy206: +yy207: yych = *++YYCURSOR; - if(yych <= ',') { - if(yych != '+') goto yy72; + if (yych <= ',') { + if (yych != '+') goto yy73; } else { - if(yych <= '-') goto yy207; - if(yych <= '/') goto yy72; - if(yych <= '9') goto yy208; - goto yy72; + if (yych <= '-') goto yy208; + if (yych <= '/') goto yy73; + if (yych <= '9') goto yy209; + goto yy73; } -yy207: - yych = *++YYCURSOR; - if(yych <= '/') goto yy72; - if(yych >= ':') goto yy72; yy208: + yych = *++YYCURSOR; + if (yych <= '/') goto yy73; + if (yych >= ':') goto yy73; +yy209: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'K') { - if(yych <= '9') { - if(yych <= '/') goto yy180; - goto yy208; + if (yych <= 'K') { + if (yych <= '9') { + if (yych <= '/') goto yy181; + goto yy209; } else { - if(yych == 'F') goto yy182; - goto yy180; + if (yych == 'F') goto yy183; + goto yy181; } } else { - if(yych <= 'f') { - if(yych <= 'L') goto yy182; - if(yych <= 'e') goto yy180; - goto yy182; + if (yych <= 'f') { + if (yych <= 'L') goto yy183; + if (yych <= 'e') goto yy181; + goto yy183; } else { - if(yych == 'l') goto yy182; - goto yy180; + if (yych == 'l') goto yy183; + goto yy181; } } -yy210: +yy211: yych = *++YYCURSOR; - if(yych <= ',') { - if(yych != '+') goto yy72; + if (yych <= ',') { + if (yych != '+') goto yy73; } else { - if(yych <= '-') goto yy211; - if(yych <= '/') goto yy72; - if(yych <= '9') goto yy212; - goto yy72; + if (yych <= '-') goto yy212; + if (yych <= '/') goto yy73; + if (yych <= '9') goto yy213; + goto yy73; } -yy211: - yych = *++YYCURSOR; - if(yych <= '/') goto yy72; - if(yych >= ':') goto yy72; yy212: + yych = *++YYCURSOR; + if (yych <= '/') goto yy73; + if (yych >= ':') goto yy73; +yy213: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'K') { - if(yych <= '9') { - if(yych <= '/') goto yy180; - goto yy212; + if (yych <= 'K') { + if (yych <= '9') { + if (yych <= '/') goto yy181; + goto yy213; } else { - if(yych == 'F') goto yy182; - goto yy180; + if (yych == 'F') goto yy183; + goto yy181; } } else { - if(yych <= 'f') { - if(yych <= 'L') goto yy182; - if(yych <= 'e') goto yy180; - goto yy182; + if (yych <= 'f') { + if (yych <= 'L') goto yy183; + if (yych <= 'e') goto yy181; + goto yy183; } else { - if(yych == 'l') goto yy182; - goto yy180; + if (yych == 'l') goto yy183; + goto yy181; } } -yy214: - yyaccept = 0; +yy215: + yyaccept = 1; YYMARKER = ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; -yy215: - if(yych <= 'L') { - if(yych <= '9') { - if(yych == '.') goto yy195; - if(yych <= '/') goto yy7; - goto yy214; +yy216: + if (yych <= 'L') { + if (yych <= '9') { + if (yych == '.') goto yy196; + if (yych <= '/') goto yy9; + goto yy215; } else { - if(yych == 'E') goto yy198; - if(yych <= 'K') goto yy7; - goto yy221; + if (yych == 'E') goto yy199; + if (yych <= 'K') goto yy9; + goto yy222; } } else { - if(yych <= 'e') { - if(yych == 'U') goto yy221; - if(yych <= 'd') goto yy7; - goto yy198; + if (yych <= 'e') { + if (yych == 'U') goto yy222; + if (yych <= 'd') goto yy9; + goto yy199; } else { - if(yych <= 'l') { - if(yych <= 'k') goto yy7; - goto yy221; + if (yych <= 'l') { + if (yych <= 'k') goto yy9; + goto yy222; } else { - if(yych == 'u') goto yy221; - goto yy7; + if (yych == 'u') goto yy222; + goto yy9; } } } -yy216: +yy217: yych = *++YYCURSOR; - if(yych <= '@') { - if(yych <= '/') goto yy72; - if(yych >= ':') goto yy72; + if (yych <= '@') { + if (yych <= '/') goto yy73; + if (yych >= ':') goto yy73; } else { - if(yych <= 'F') goto yy217; - if(yych <= '`') goto yy72; - if(yych >= 'g') goto yy72; + if (yych <= 'F') goto yy218; + if (yych <= '`') goto yy73; + if (yych >= 'g') goto yy73; } -yy217: +yy218: ++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 yy217; - goto yy7; + if (yych <= 'T') { + if (yych <= '@') { + if (yych <= '/') goto yy9; + if (yych <= '9') goto yy218; + goto yy9; } else { - if(yych <= 'F') goto yy217; - if(yych != 'L') goto yy7; + if (yych <= 'F') goto yy218; + if (yych != 'L') goto yy9; } } else { - if(yych <= 'k') { - if(yych <= 'U') goto yy219; - if(yych <= '`') goto yy7; - if(yych <= 'f') goto yy217; - goto yy7; + if (yych <= 'k') { + if (yych <= 'U') goto yy220; + if (yych <= '`') goto yy9; + if (yych <= 'f') goto yy218; + goto yy9; } else { - if(yych <= 'l') goto yy219; - if(yych != 'u') goto yy7; + if (yych <= 'l') goto yy220; + if (yych != 'u') goto yy9; } } -yy219: +yy220: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'U') { - if(yych == 'L') goto yy219; - if(yych <= 'T') goto yy7; - goto yy219; + if (yych <= 'U') { + if (yych == 'L') goto yy220; + if (yych <= 'T') goto yy9; + goto yy220; } else { - if(yych <= 'l') { - if(yych <= 'k') goto yy7; - goto yy219; + if (yych <= 'l') { + if (yych <= 'k') goto yy9; + goto yy220; } else { - if(yych == 'u') goto yy219; - goto yy7; + if (yych == 'u') goto yy220; + goto yy9; } } -yy221: +yy222: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= 'U') { - if(yych == 'L') goto yy221; - if(yych <= 'T') goto yy7; - goto yy221; + if (yych <= 'U') { + if (yych == 'L') goto yy222; + if (yych <= 'T') goto yy9; + goto yy222; } else { - if(yych <= 'l') { - if(yych <= 'k') goto yy7; - goto yy221; + if (yych <= 'l') { + if (yych <= 'k') goto yy9; + goto yy222; } else { - if(yych == 'u') goto yy221; - goto yy7; + if (yych == 'u') goto yy222; + goto yy9; } } -yy223: +yy224: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy224: - if(yych <= 'Z') { - if(yych <= '/') goto yy5; - if(yych <= '9') goto yy223; - if(yych <= '@') goto yy5; - goto yy223; +yy225: + if (yych <= 'Z') { + if (yych <= '/') goto yy7; + if (yych <= '9') goto yy224; + if (yych <= '@') goto yy7; + goto yy224; } else { - if(yych <= '_') { - if(yych <= '^') goto yy5; - goto yy223; + if (yych <= '_') { + if (yych <= '^') goto yy7; + goto yy224; } else { - if(yych <= '`') goto yy5; - if(yych <= 'z') goto yy223; - goto yy5; + if (yych <= '`') goto yy7; + if (yych <= 'z') goto yy224; + goto yy7; } } -yy225: +yy226: ++YYCURSOR; { RET(TOKEN_DIVASSIGN); } -yy227: +yy228: ++YYCURSOR; { goto singlelinecomment; } -yy229: +yy230: ++YYCURSOR; { goto multilinecomment; } +yy232: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; +yy233: + if (yych <= '\f') { + if (yych <= 0x08) goto yy73; + if (yych != '\n') goto yy232; + } else { + if (yych <= '\r') goto yy236; + if (yych == ' ') goto yy232; + goto yy73; + } +yy234: + ++YYCURSOR; +yy235: + { s->line++; goto scanner_loop; } +yy236: + ++YYCURSOR; + if ((yych = *YYCURSOR) == '\n') goto yy234; + goto yy235; } multilinecomment: - if (YYLIMIT == YYCURSOR) - RET(TOKEN_INCOMPLETE_COMMENT); + if (YYLIMIT == YYCURSOR) YYFILL(1); matchptr = cursor; // The "*\/" is just to avoid screwing up text editor syntax highlighting. { YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if(yych <= 0x0C) { - if(yych == 0x0A) goto yy235; - goto yy238; + if (yych <= '\f') { + if (yych <= 0x00) goto yy244; + if (yych == '\n') goto yy241; + goto yy246; } else { - if(yych <= 0x0D) goto yy237; - if(yych != '*') goto yy238; + if (yych <= '\r') goto yy243; + if (yych != '*') goto yy246; } ++YYCURSOR; - if((yych = *YYCURSOR) == '/') goto yy240; -yy234: + if ((yych = *YYCURSOR) == '/') goto yy248; +yy240: { goto multilinecomment; } -yy235: +yy241: ++YYCURSOR; -yy236: +yy242: { s->line++; token = matchptr; saw_newline = 1; goto multilinecomment; } -yy237: +yy243: yych = *++YYCURSOR; - if(yych == 0x0A) goto yy239; - goto yy236; -yy238: + if (yych == '\n') goto yy247; + goto yy242; +yy244: + ++YYCURSOR; + { + if (eoi) + RET(TOKEN_INCOMPLETE_COMMENT); + goto multilinecomment; + } +yy246: yych = *++YYCURSOR; - goto yy234; -yy239: + goto yy240; +yy247: yych = *++YYCURSOR; - goto yy236; -yy240: + goto yy242; +yy248: ++YYCURSOR; { if (saw_newline) RET('\n'); + else if (s->report_whitespace) + RET(' '); goto scanner_loop; } } singlelinecomment: - if (YYLIMIT == YYCURSOR) - RET(TOKEN_EOI); + if (YYLIMIT == YYCURSOR) YYFILL(1); matchptr = cursor; { YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if(yych == 0x0A) goto yy244; - if(yych == 0x0D) goto yy246; - goto yy247; -yy244: + if (yych <= '\n') { + if (yych <= 0x00) goto yy255; + if (yych <= '\t') goto yy257; + } else { + if (yych == '\r') goto yy254; + goto yy257; + } ++YYCURSOR; -yy245: +yy253: { s->line++; token = matchptr; RET('\n'); } -yy246: +yy254: yych = *++YYCURSOR; - if(yych == 0x0A) goto yy249; - goto yy245; -yy247: + if (yych == '\n') goto yy259; + goto yy253; +yy255: + ++YYCURSOR; + { if (eoi) { RET(TOKEN_EOI); } goto singlelinecomment; } +yy257: ++YYCURSOR; { goto singlelinecomment; } -yy249: +yy259: ++YYCURSOR; yych = *YYCURSOR; - goto yy245; + goto yy253; } bad_chars: - if (YYLIMIT == YYCURSOR) - RET(TOKEN_BAD_CHARS); - + if (YYLIMIT == YYCURSOR) YYFILL(1); { YYCTYPE yych; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych <= '#') { - if(yych <= 0x1F) { - if(yych <= 0x08) goto yy254; - if(yych >= 0x0E) goto yy254; + if (yych <= '#') { + if (yych <= '\r') { + if (yych <= 0x00) goto yy264; + if (yych <= 0x08) goto yy266; } else { - if(yych == '"') goto yy254; + if (yych <= 0x1F) goto yy266; + if (yych == '"') goto yy266; } } else { - if(yych <= '@') { - if(yych <= '$') goto yy254; - if(yych >= '@') goto yy254; + if (yych <= '@') { + if (yych <= '$') goto yy266; + if (yych >= '@') goto yy266; } else { - if(yych == '`') goto yy254; - if(yych >= 0x7F) goto yy254; + if (yych == '`') goto yy266; + if (yych >= 0x7F) goto yy266; } } ++YYCURSOR; { cursor--; RET(TOKEN_BAD_CHARS); } -yy254: +yy264: + ++YYCURSOR; + { + if (eoi) + { + assert( !((token >= sentinel) && + (token < sentinel+YYMAXFILL)) ); + eoi = 0; + cursor = (uchar *) s->source_base + s->orig_length; + RET(TOKEN_BAD_CHARS); // next call will be EOI. + } + goto bad_chars; + } +yy266: ++YYCURSOR; { goto bad_chars; } }