-
-
Save usernameak/017e1277b52a45ddea145b18896c5bae to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #define YYCTYPE unsigned char | |
| #define YYCURSOR cursor | |
| #define YYLIMIT limit | |
| #define YYMARKER marker | |
| #define YYFILL(n) {} | |
| #define YYDEBUG(s,c) | |
| const char *cursor = ScriptPtr; | |
| const char *limit = ScriptEndPtr; | |
| std1: | |
| tok = YYCURSOR; | |
| #define RET(x) TokenType = (x); goto normal_token; | |
| { | |
| YYCTYPE yych; | |
| if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); | |
| yych = *YYCURSOR; | |
| switch (yych) { | |
| case 'e': goto yy3; | |
| case 'f': goto yy4; | |
| case 'i': goto yy5; | |
| default: goto yy2; | |
| } | |
| yy2: | |
| yy3: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'x': goto yy6; | |
| default: goto yy2; | |
| } | |
| yy4: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'o': goto yy7; | |
| default: goto yy2; | |
| } | |
| yy5: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'f': goto yy8; | |
| case 'm': goto yy10; | |
| default: goto yy2; | |
| } | |
| yy6: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'p': goto yy11; | |
| default: goto yy2; | |
| } | |
| yy7: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'r': goto yy12; | |
| default: goto yy2; | |
| } | |
| yy8: | |
| ++YYCURSOR; | |
| {RET(TK_If)} | |
| yy10: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'p': goto yy14; | |
| default: goto yy2; | |
| } | |
| yy11: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'o': goto yy15; | |
| default: goto yy2; | |
| } | |
| yy12: | |
| ++YYCURSOR; | |
| {RET(TK_For)} | |
| yy14: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'o': goto yy16; | |
| default: goto yy2; | |
| } | |
| yy15: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'r': goto yy17; | |
| default: goto yy2; | |
| } | |
| yy16: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 'r': goto yy18; | |
| default: goto yy2; | |
| } | |
| yy17: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 't': goto yy19; | |
| default: goto yy2; | |
| } | |
| yy18: | |
| yych = *++YYCURSOR; | |
| switch (yych) { | |
| case 't': goto yy21; | |
| default: goto yy2; | |
| } | |
| yy19: | |
| ++YYCURSOR; | |
| {RET(TK_Export)} | |
| yy21: | |
| ++YYCURSOR; | |
| {RET(TK_Import)} | |
| } | |
| normal_token: | |
| ScriptPtr = (YYCURSOR >= YYLIMIT) ? ScriptEndPtr : cursor; | |
| StringLen = int(ScriptPtr - tok); | |
| if (tokens && (TokenType == TK_StringConst)) | |
| { | |
| StringLen -= 2; | |
| if (StringLen >= MAX_STRING_SIZE) | |
| { | |
| BigStringBuffer.assign(tok+1, StringLen); | |
| } | |
| else | |
| { | |
| memcpy (StringBuffer, tok+1, StringLen); | |
| } | |
| } | |
| else | |
| { | |
| if (StringLen >= MAX_STRING_SIZE) | |
| { | |
| BigStringBuffer.assign(tok, StringLen); | |
| } | |
| else | |
| { | |
| memcpy (StringBuffer, tok, StringLen); | |
| } | |
| } | |
| if (StringLen < MAX_STRING_SIZE) | |
| { | |
| String = StringBuffer; | |
| StringBuffer[StringLen] = '\0'; | |
| } | |
| else | |
| { | |
| String = const_cast<char*>(BigStringBuffer.c_str()); | |
| } | |
| return_val = true; | |
| goto end; | |
| end: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment