📄 lex.swf4.cpp
字号:
173, 177, 176, 75, 182, 184, 185, 179, 181, 180, 75, 183, 75, 75, 75, 75, 190, 75, 75, 75, 187, 188, 75, 75, 75, 186, 75, 75, 189, 75, 75, 193, 194, 191, 192, 197, 75, 75, 75, 75, 198, 202, 75, 75, 75, 204, 195, 196, 200, 207, 199, 203, 75, 75, 75, 205, 75, 201, 209, 75, 75, 214, 75, 206, 75, 75, 213, 75, 208, 211, 212, 215, 210, 216, 220, 75, 75, 75, 75, 75, 75, 217, 75, 75, 218, 219, 75, 221, 222, 75, 223, 228, 75, 75, 225, 75, 226, 75, 230, 75, 224, 75, 75, 227, 75, 75, 233, 232, 229, 231, 75, 235, 239, 75, 75, 234, 75, 242, 240, 237, 75, 236, 247, 244, 75, 75, 238, 75, 241, 75, 75, 75, 248, 75, 75, 75, 75, 243, 249, 245, 75, 246, 252, 253, 75, 75, 254, 75, 257, 75, 75, 75, 255, 75, 75, 75, 251, 250, 75, 75, 75, 75, 263, 256, 265, 261, 75, 75, 258, 259, 266, 75, 260, 262, 75, 75, 75, 75, 268, 269, 270, 264, 267, 75, 271, 272, 276, 275, 274, 273, 75, 75, 75, 75, 75, 278, 75, 75, 75, 282, 277, 75, 75, 75, 75, 75, 75, 280, 281, 279, 287, 285, 75, 286, 75, 288, 284, 75, 289, 295, 293, 283, 75, 290, 292, 75, 75, 75, 75, 294, 75, 297, 296, 75, 291, 75, 75, 75, 299, 75, 300, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 306, 75, 298, 301, 75, 304, 75, 302, 305, 312, 303, 75, 310, 309, 311, 75, 75, 75, 75, 75, 75, 75, 307, 314, 308, 313, 75, 315, 75, 75, 75, 316, 49, 49, 49, 49, 49, 49, 54, 54, 54, 54, 54, 54, 69, 69, 69, 75, 69, 76, 76, 76, 114, 114, 114, 119, 75, 75, 119, 155, 155, 155, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 64, 64, 75, 75, 75, 118, 117, 116, 64, 64, 317, 317, 112, 111, 75, 74, 73, 72, 58, 53, 48, 317, 3, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317 } ;static yyconst short int yy_chk[680] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 10, 8, 14, 16, 10, 17, 17, 29, 31, 18, 32, 16, 14, 18, 18, 19, 107, 19, 19, 30, 18, 8, 10, 35, 33, 34, 36, 38, 316, 37, 79, 39, 30, 32, 31, 107, 29, 33, 315, 30, 31, 35, 34, 36, 41, 30, 37, 44, 35, 40, 33, 34, 36, 33, 39, 37, 38, 39, 43, 79, 39, 41, 40, 42, 82, 54, 40, 44, 49, 54, 49, 43, 50, 55, 50, 41, 41, 55, 66, 66, 42, 70, 70, 42, 42, 78, 77, 54, 80, 42, 49, 82, 42, 64, 50, 55, 83, 64, 64, 71, 84, 71, 71, 77, 64, 85, 86, 87, 78, 88, 90, 91, 92, 80, 93, 94, 95, 96, 97, 86, 98, 99, 101, 84, 314, 92, 83, 100, 106, 102, 96, 104, 95, 103, 85, 105, 91, 98, 87, 109, 88, 90, 102, 110, 108, 94, 99, 103, 97, 93, 120, 100, 106, 101, 104, 102, 105, 108, 115, 115, 118, 118, 109, 120, 110, 121, 123, 124, 125, 126, 128, 129, 132, 133, 130, 134, 108, 137, 135, 138, 140, 123, 139, 141, 144, 125, 142, 143, 121, 133, 124, 132, 145, 147, 128, 135, 140, 123, 129, 126, 130, 146, 148, 129, 151, 150, 134, 149, 152, 141, 138, 144, 153, 137, 156, 139, 143, 142, 158, 148, 150, 151, 145, 147, 146, 157, 149, 159, 160, 162, 163, 158, 164, 165, 167, 153, 156, 166, 169, 168, 152, 170, 173, 157, 174, 175, 162, 163, 159, 160, 166, 176, 177, 179, 180, 166, 169, 178, 183, 184, 173, 164, 165, 168, 176, 167, 170, 189, 190, 186, 174, 187, 168, 178, 192, 191, 184, 195, 175, 194, 198, 183, 196, 177, 179, 180, 186, 178, 187, 192, 197, 199, 200, 201, 202, 204, 189, 203, 205, 190, 191, 207, 194, 195, 206, 196, 201, 209, 210, 198, 208, 199, 211, 203, 212, 197, 213, 215, 200, 217, 219, 206, 205, 202, 204, 220, 208, 212, 221, 222, 207, 224, 217, 213, 210, 223, 209, 223, 220, 227, 225, 211, 228, 215, 229, 231, 233, 224, 234, 235, 236, 237, 219, 225, 221, 239, 222, 229, 231, 240, 243, 233, 241, 236, 242, 244, 245, 234, 246, 249, 248, 228, 227, 250, 251, 252, 253, 243, 235, 245, 241, 254, 257, 237, 239, 246, 255, 240, 242, 256, 258, 259, 260, 249, 250, 251, 244, 248, 265, 252, 253, 257, 256, 255, 254, 262, 264, 266, 267, 268, 259, 269, 270, 271, 265, 258, 272, 273, 274, 277, 275, 279, 262, 264, 260, 270, 268, 278, 269, 282, 271, 267, 281, 272, 279, 277, 266, 283, 273, 275, 284, 287, 290, 293, 278, 294, 282, 281, 295, 274, 297, 296, 298, 284, 299, 287, 300, 304, 309, 305, 310, 313, 311, 312, 308, 307, 297, 306, 283, 290, 303, 295, 302, 293, 296, 309, 294, 301, 304, 300, 305, 292, 291, 289, 288, 286, 285, 280, 298, 311, 299, 310, 276, 312, 263, 261, 247, 313, 318, 318, 318, 318, 318, 318, 319, 319, 319, 319, 319, 319, 320, 320, 320, 238, 320, 321, 321, 321, 322, 322, 322, 323, 232, 230, 323, 324, 324, 324, 226, 218, 216, 214, 193, 188, 185, 182, 181, 172, 171, 161, 155, 154, 136, 131, 127, 122, 119, 114, 113, 89, 81, 76, 75, 73, 72, 69, 63, 57, 52, 48, 46, 28, 24, 23, 22, 13, 9, 7, 3, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317 } ;static yy_state_type yy_last_accepting_state;static char *yy_last_accepting_cpos;/* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */#define REJECT reject_used_but_not_detected#define yymore() yymore_used_but_not_detected#define YY_MORE_ADJ 0#define YY_RESTORE_YY_MORE_OFFSETchar *yytext;#line 1 "swf4compiler.flex"#define INITIAL 0#line 2 "swf4compiler.flex"#include <math.h>#include <string.h>#include "compile.h"#include "action.h"#include "swf4compiler.tab.h" /* defines token types */int swf4debug;static char *lexBuffer = NULL;static int lexBufferLen = 0;static int sLineNumber = 0;static char szLine[1024];static char msgbufs[2][1024] = { {0}, {0} }, *msgline = {0};static int column = 0;static void comment();static void comment1();static void count();static void warning(char *msg);#define YY_INPUT(buf,result,max_size) result=lexBufferInput(buf, max_size)/* thanks to the prolific and brilliant Raff: */static int lexBufferInput(char *buf, int max_size){ int l = lexBufferLen > max_size ? max_size : lexBufferLen; if (lexBufferLen <= 0) return YY_NULL; memcpy(buf, lexBuffer, l); lexBuffer += l; lexBufferLen -= l; return l;} /* very inefficient method of unescaping strings */static void unescape(char *buf){ char *p, *p1; for (p1=buf; (p=strchr(p1, '\\')) != 0; p1 = p+1) { switch(p[1]) { case 'b' : p[1] = '\b'; break; case 'f' : p[1] = '\f'; break; case 'n' : p[1] = '\n'; break; case 'r' : p[1] = '\r'; break; case 't' : p[1] = '\t'; break; case 'x' : case 'u' : warning("unsupported escape sequence"); } strcpy(p, p+1); }}void swf4ParseInit(char *script, int debug){ checksbyteOrder(); yyrestart(NULL); swf4debug = debug; lexBuffer = script; lexBufferLen = strlen(script); sLineNumber = 0; column = 0; msgline = msgbufs[0];}#line 710 "lex.swf4.c"/* Macros after this point can all be overridden by user definitions in * section 1. */#ifndef YY_SKIP_YYWRAP#ifdef __cplusplusextern "C" int yywrap YY_PROTO(( void ));#elseextern int yywrap YY_PROTO(( void ));#endif#endif#ifndef YY_NO_UNPUTstatic void yyunput YY_PROTO(( int c, char *buf_ptr ));#endif#ifndef yytext_ptrstatic void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));#endif#ifdef YY_NEED_STRLENstatic int yy_flex_strlen YY_PROTO(( yyconst char * ));#endif#ifndef YY_NO_INPUT#ifdef __cplusplusstatic int yyinput YY_PROTO(( void ));#elsestatic int input YY_PROTO(( void ));#endif#endif#if YY_STACK_USEDstatic int yy_start_stack_ptr = 0;static int yy_start_stack_depth = 0;static int *yy_start_stack = 0;#ifndef YY_NO_PUSH_STATEstatic void yy_push_state YY_PROTO(( int new_state ));#endif#ifndef YY_NO_POP_STATEstatic void yy_pop_state YY_PROTO(( void ));#endif#ifndef YY_NO_TOP_STATEstatic int yy_top_state YY_PROTO(( void ));#endif#else#define YY_NO_PUSH_STATE 1#define YY_NO_POP_STATE 1#define YY_NO_TOP_STATE 1#endif#ifdef YY_MALLOC_DECLYY_MALLOC_DECL#else#if __STDC__#ifndef __cplusplus#include <stdlib.h>#endif#else/* Just try to get by without declaring the routines. This will fail * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) * or sizeof(void*) != sizeof(int). */#endif#endif/* Amount of stuff to slurp up with each read. */#ifndef YY_READ_BUF_SIZE#define YY_READ_BUF_SIZE 8192#endif/* Copy whatever the last rule matched to the standard output. */#ifndef ECHO/* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )#endif/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */#ifndef YY_INPUT#define YY_INPUT(buf,result,max_size) \ if ( yy_current_buffer->yy_is_interactive ) \ { \ int c = '*', n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" );#endif/* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */#ifndef yyterminate#define yyterminate() return YY_NULL#endif/* Number of entries by which start-condition stack grows. */#ifndef YY_START_STACK_INCR#define YY_START_STACK_INCR 25#endif/* Report a fatal error. */#ifndef YY_FATAL_ERROR#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )#endif/* Default declaration of generated scanner - a define so the user can * easily add parameters. */#ifndef YY_DECL#define YY_DECL int yylex YY_PROTO(( void ))#endif/* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */#ifndef YY_USER_ACTION#define YY_USER_ACTION#endif/* Code executed at the end of each rule. */#ifndef YY_BREAK#define YY_BREAK break;#endif#define YY_RULE_SETUP \ YY_USER_ACTIONYY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act;#line 81 "swf4compiler.flex"#line 864 "lex.swf4.c" if ( yy_init ) { yy_init = 0;#ifdef YY_USER_INIT YY_USER_INIT;#endif if ( ! yy_start ) yy_start = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_load_buffer_state(); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = yy_c_buf_p; /* Support of yytext. */ *yy_cp = yy_hold_char; /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = yy_start;yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 318 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } while ( yy_base[yy_current_state] != 625 );yy_find_action: yy_act = yy_accept[yy_current_state]; if ( yy_act == 0 ) { /* have to back up */ yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION;do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = yy_hold_char; yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; goto yy_find_action;case 1:YY_RULE_SETUP#line 83 "swf4compiler.flex"{ count(); swf4lval.str = strdup(yytext); return NUMBER; } YY_BREAKcase 2:YY_RULE_SETUP#line 85 "swf4compiler.flex"{ count(); swf4lval.str = strdup(yytext); return NUMBER; } YY_BREAKcase 3:YY_RULE_SETUP#line 87 "swf4compiler.flex"{ count(); swf4lval.str = strdup("1"); return NUMBER; } YY_BREAKcase 4:YY_RULE_SETUP#line 89 "swf4compiler.flex"{ count(); swf4lval.str = strdup("0"); return NUMBER; } YY_BREAKcase 5:YY_RULE_SETUP#line 91 "swf4compiler.flex"{ count(); return BREAK; } YY_BREAKcase 6:YY_RULE_SETUP#line 92 "swf4compiler.flex"{ count(); return CONTINUE; } YY_BREAKcase 7:YY_RULE_SETUP#line 93 "swf4compiler.flex"{ count(); return ELSE; } YY_BREAKcase 8:YY_RULE_SETUP#line 94 "swf4compiler.flex"{ count(); return FOR; } YY_BREAKcase 9:YY_RULE_SETUP#line 95 "swf4compiler.flex"{ count(); return IF; } YY_BREAKcase 10:YY_RULE_SETUP#line 96 "swf4compiler.flex"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -