📄 lex.swf4.c
字号:
60, 58, 64, 60, 99, 59, 60, 75, 102, 64, 62, 63, 97, 75, 63, 63, 96, 103, 84, 104, 68, 63, 84, 84, 63, 62, 62, 90, 90, 90, 84, 91, 74, 91, 91, 91, 106, 105, 107, 109, 98, 110, 111, 112, 99, 113, 75, 114, 115, 116, 118, 117, 122, 119, 121, 103, 123, 136, 120, 126, 605, 125, 133, 104, 105, 124, 127, 131, 137, 111, 129, 134, 132, 130, 114, 113, 135, 138, 139, 115, 119, 110, 106, 143, 107, 109, 120, 122, 125, 116, 117, 140, 121, 112, 119, 123, 118, 126, 124, 132, 129, 127, 130, 133, 136, 131, 135, 141, 125, 144, 142, 145, 130, 146, 137, 147, 132, 139, 148, 134, 150, 143, 149, 138, 151, 152, 155, 155, 158, 158, 158, 140, 163, 166, 141, 162, 140, 142, 165, 142, 141, 167, 168, 170, 172, 174, 175, 176, 150, 149, 178, 144, 171, 146, 147, 142, 145, 151, 179, 151, 152, 180, 162, 149, 148, 182, 149, 165, 181, 171, 163, 166, 167, 183, 171, 185, 175, 184, 174, 187, 186, 188, 170, 189, 165, 172, 182, 168, 192, 193, 197, 180, 190, 176, 191, 195, 196, 198, 199, 171, 209, 178, 200, 201, 204, 202, 179, 205, 206, 181, 208, 207, 188, 210, 211, 218, 189, 183, 186, 184, 185, 190, 203, 213, 187, 191, 214, 193, 197, 217, 195, 196, 202, 201, 209, 192, 215, 200, 199, 203, 216, 198, 196, 220, 203, 204, 207, 219, 221, 205, 218, 226, 224, 206, 230, 208, 214, 213, 227, 210, 211, 216, 228, 232, 203, 231, 234, 235, 203, 203, 203, 233, 236, 217, 241, 240, 234, 215, 226, 234, 243, 242, 216, 220, 245, 230, 216, 236, 216, 224, 233, 237, 219, 227, 221, 236, 231, 228, 239, 249, 244, 250, 246, 252, 237, 253, 254, 232, 242, 256, 255, 239, 244, 235, 257, 233, 240, 258, 259, 262, 244, 260, 241, 246, 261, 263, 243, 257, 265, 264, 245, 266, 250, 267, 252, 272, 253, 249, 270, 273, 274, 254, 255, 267, 271, 276, 267, 265, 277, 259, 278, 260, 279, 256, 280, 281, 283, 262, 266, 282, 284, 285, 272, 258, 264, 267, 287, 270, 261, 263, 288, 289, 265, 271, 290, 274, 292, 293, 297, 279, 295, 280, 296, 273, 294, 300, 276, 298, 299, 301, 292, 302, 303, 285, 278, 304, 277, 305, 294, 282, 306, 281, 283, 290, 307, 308, 284, 309, 312, 305, 287, 289, 297, 314, 316, 299, 288, 310, 293, 317, 295, 318, 294, 303, 312, 319, 296, 320, 298, 300, 302, 321, 322, 301, 309, 323, 325, 324, 326, 304, 327, 316, 328, 329, 306, 307, 330, 331, 310, 308, 335, 324, 332, 333, 320, 334, 319, 336, 337, 314, 317, 339, 338, 341, 344, 342, 318, 327, 340, 346, 337, 345, 347, 322, 323, 324, 321, 328, 349, 350, 325, 330, 326, 348, 333, 348, 352, 329, 337, 331, 354, 332, 342, 353, 335, 338, 334, 355, 345, 340, 358, 336, 357, 359, 341, 339, 350, 361, 349, 360, 346, 344, 363, 357, 347, 367, 365, 354, 366, 368, 364, 369, 371, 373, 355, 375, 374, 375, 375, 376, 378, 377, 379, 358, 352, 380, 360, 353, 364, 381, 382, 384, 383, 385, 367, 387, 368, 359, 365, 388, 386, 391, 384, 392, 361, 371, 363, 374, 377, 366, 389, 390, 393, 369, 376, 373, 395, 379, 378, 394, 400, 397, 396, 399, 403, 401, 402, 404, 382, 381, 387, 380, 383, 386, 391, 385, 384, 389, 390, 405, 399, 389, 406, 388, 407, 408, 409, 392, 389, 396, 394, 393, 397, 411, 410, 413, 415, 414, 416, 400, 401, 402, 395, 403, 418, 421, 404, 422, 424, 423, 425, 407, 426, 406, 427, 428, 429, 405, 408, 434, 432, 430, 431, 435, 413, 439, 409, 410, 414, 433, 436, 437, 421, 438, 444, 418, 423, 440, 442, 445, 411, 415, 416, 448, 443, 426, 422, 432, 446, 423, 423, 425, 430, 431, 424, 447, 433, 439, 429, 434, 437, 436, 428, 449, 438, 427, 435, 450, 440, 442, 448, 451, 452, 435, 443, 453, 456, 445, 444, 446, 455, 458, 457, 460, 461, 462, 447, 465, 463, 464, 466, 467, 468, 472, 449, 469, 473, 474, 450, 470, 475, 477, 479, 483, 480, 482, 451, 456, 453, 457, 455, 476, 460, 478, 481, 458, 463, 484, 452, 461, 464, 487, 469, 488, 495, 486, 489, 465, 492, 462, 470, 466, 472, 468, 477, 467, 486, 470, 498, 476, 473, 474, 499, 478, 500, 501, 475, 483, 503, 479, 480, 482, 487, 489, 481, 502, 492, 504, 505, 481, 506, 484, 507, 506, 508, 512, 495, 511, 510, 488, 513, 514, 501, 515, 516, 517, 518, 521, 517, 522, 523, 524, 500, 498, 527, 530, 528, 529, 499, 531, 502, 532, 507, 536, 503, 537, 505, 510, 538, 514, 539, 513, 540, 504, 521, 546, 541, 545, 515, 547, 508, 527, 511, 523, 518, 512, 548, 529, 549, 550, 516, 551, 554, 522, 528, 555, 524, 553, 536, 532, 556, 539, 558, 538, 546, 559, 530, 541, 563, 537, 531, 545, 564, 571, 573, 572, 570, 574, 575, 549, 578, 579, 555, 540, 581, 547, 548, 582, 553, 580, 554, 583, 584, 585, 588, 550, 586, 587, 592, 563, 559, 558, 551, 570, 600, 601, 556, 573, 571, 575, 579, 594, 604, 603, 594, 581, 602, 599, 564, 572, 598, 574, 597, 580, 587, 578, 596, 595, 593, 582, 591, 586, 590, 600, 589, 577, 583, 585, 576, 601, 588, 569, 568, 584, 592, 567, 566, 565, 562, 561, 560, 557, 552, 544, 543, 542, 535, 534, 604, 608, 608, 608, 608, 608, 608, 609, 533, 526, 609, 609, 610, 610, 610, 610, 610, 610, 611, 611, 611, 611, 612, 525, 612, 613, 520, 519, 613, 613, 614, 509, 497, 614, 614, 496, 494, 493, 491, 490, 485, 471, 459, 454, 441, 420, 419, 417, 412, 398, 372, 370, 362, 356, 351, 343, 315, 313, 311, 291, 286, 275, 269, 268, 251, 248, 247, 238, 229, 223, 222, 212, 194, 177, 173, 169, 164, 161, 157, 156, 154, 108, 100, 93, 92, 85, 83, 77, 72, 71, 70, 66, 50, 28, 27, 26, 17, 13, 12, 10, 9, 5, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607 } ;static yy_state_type yy_last_accepting_state;static char *yy_last_accepting_cpos;extern int swf4_flex_debug;int swf4_flex_debug = 0;/* 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 *swf4text;#line 1 "./swf4compiler.flex"#line 2 "./swf4compiler.flex"#include <math.h>#include <string.h>#include <stdlib.h>#include "compile.h"#include "actiontypes.h"#include "blocks/error.h"#include "swf4compiler.tab.h" /* defines token types */static int swf4debug;static const 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)#define YY_NO_UNISTD_H#define YY_USE_PROTOS/* 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;}static void unescape(char *buf){ char *r, *w; r=buf; // read w=buf; // write while (*r) { if ( *r == '\\' ) { r++; switch(*r) { case 'b' : *w = '\b'; break; case 'f' : *w = '\f'; break; case 'n' : *w = '\n'; break; case 'r' : *w = '\r'; break; case 't' : *w = '\t'; break; case 'x' : case 'u' : fprintf(stderr,"unsupported escape sequence\n"); } w++; r++; } else { *w++ = *r++; } } *w='\0';}void swf4ParseInit(const char *script, int debug, int version){ swf4restart(NULL); swf4debug = debug; lexBuffer = script; lexBufferLen = strlen(script); sLineNumber = 0; column = 0; msgline = msgbufs[0]; swfVersion = version;}#line 96 "./swf4compiler.flex" // forward declaration needed by the following function#ifndef YY_PROTO#ifdef YY_USE_PROTOS#define YY_PROTO(proto) proto#else#define YY_PROTO(proto) ()#endif#endif static void yyunput YY_PROTO(( int c, char *buf_ptr )); void do_unput4(const char c) { unput(c); }#line 1071 "lex.swf4.c"#define INITIAL 0#define asm 1#ifndef YY_NO_UNISTD_H/* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */#include <unistd.h>#endif#ifndef YY_EXTRA_TYPE#define YY_EXTRA_TYPE void *#endifstatic int yy_init_globals (void );/* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */int swf4lex_destroy (void );int swf4get_debug (void );void swf4set_debug (int debug_flag );YY_EXTRA_TYPE swf4get_extra (void );void swf4set_extra (YY_EXTRA_TYPE user_defined );FILE *swf4get_in (void );void swf4set_in (FILE * in_str );FILE *swf4get_out (void );void swf4set_out (FILE * out_str );int swf4get_leng (void );char *swf4get_text (void );int swf4get_lineno (void );void swf4set_lineno (int line_number );/* Macros after this point can all be overridden by user definitions in * section 1. */#ifndef YY_SKIP_YYWRAP#ifdef __cplusplusextern "C" int swf4wrap (void );#elseextern int swf4wrap (void );#endif#endif static void yyunput (int c,char *buf_ptr ); #ifndef yytext_ptrstatic void yy_flex_strncpy (char *,yyconst char *,int );#endif#ifdef YY_NEED_STRLENstatic int yy_flex_strlen (yyconst char * );#endif#ifndef YY_NO_INPUT#ifdef __cplusplusstatic int yyinput (void );#elsestatic int input (void );#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 fwrite( swf4text, swf4leng, 1, swf4out )#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_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ size_t n; \ for ( n = 0; n < max_size && \ (c = getc( swf4in )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( swf4in ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, swf4in))==0 && ferror(swf4in)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(swf4in); \ } \ }\\#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/* end tables serialization structures and prototypes *//* Default declaration of generated scanner - a define so the user can * easily add parameters. */#ifndef YY_DECL#define YY_DECL_IS_OURS 1extern int swf4lex (void);#define YY_DECL int swf4lex (void)#endif /* !YY_DECL *//* Code executed at the beginning of each rule, after swf4text and swf4leng * 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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -