X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Ftokenizer.yy.c;h=86a15392ba75a97e6c20bcb35858bf25014c3752;hb=71c8242a8242eeb6e8b6dcf57239550a6f35c88a;hp=edd631736b4ecd3e4045d93638274ad3f27a5af1;hpb=98274d31d2a91c0f8a577e6779219e11aaf293bb;p=swftools.git diff --git a/lib/as3/tokenizer.yy.c b/lib/as3/tokenizer.yy.c index edd6317..86a1539 100644 --- a/lib/as3/tokenizer.yy.c +++ b/lib/as3/tokenizer.yy.c @@ -1471,7 +1471,7 @@ void handleInclude(char*text, int len, char quotes) filename = strdup(&text[i1]); } - char*fullfilename = find_file(filename); + char*fullfilename = find_file(filename, 1); enter_file2(filename, fullfilename, YY_CURRENT_BUFFER); as3_in = fopen(fullfilename, "rb"); if (!as3_in) { @@ -1574,8 +1574,15 @@ static int do_unescape(const char*s, const char*end, char*n) } break; } - default: - syntaxerror("unknown escape sequence: \"\\%c\"", *s); + default: { + if(o) { + o[len+0] = '\\'; + o[len+1] = *s; + } + s++; + len+=2; + break; + } } } if(o) o[len]=0; @@ -1603,12 +1610,6 @@ static void handleCData(char*s, int len) static void handleString(char*s, int len) { - if(as3_pass < 2) { - // don't bother decoding strings in pass 1 - memset(&a3_lval, 0, sizeof(a3_lval)); - return; - } - if(s[0]=='"') { if(s[len-1]!='"') syntaxerror("String doesn't end with '\"'"); s++;len-=2; @@ -1618,7 +1619,6 @@ static void handleString(char*s, int len) s++;len-=2; } else syntaxerror("String incorrectly terminated"); - a3_lval.str = string_unescape(s, len); } @@ -1831,14 +1831,18 @@ static inline void c() { current_column+=as3_leng; } -static trie_t*namespaces = 0; -void tokenizer_register_namespace(const char*id) +trie_t*active_namespaces = 0; +/*void tokenizer_register_namespace(const char*id) { - trie_put(&namespaces, id); + trie_put(namespaces, id, 0); } +void tokenizer_unregister_namespace(const char*id) +{ + trie_remove(namespaces, id); +}*/ static inline tokenizer_is_namespace(const char*id) { - return trie_lookup(namespaces, id); + return trie_contains(active_namespaces, id); } static inline int handleIdentifier() @@ -1861,7 +1865,7 @@ static inline int handleIdentifier() -#line 1865 "tokenizer.yy.c" +#line 1869 "tokenizer.yy.c" #define INITIAL 0 #define REGEXPOK 1 @@ -2048,11 +2052,11 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 571 "tokenizer.lex" +#line 575 "tokenizer.lex" -#line 2056 "tokenizer.yy.c" +#line 2060 "tokenizer.yy.c" if ( !(yy_init) ) { @@ -2135,18 +2139,18 @@ do_action: /* This label is used only to access EOF actions. */ case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 574 "tokenizer.lex" +#line 578 "tokenizer.lex" {l(); /* single line comment */} YY_BREAK case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 575 "tokenizer.lex" +#line 579 "tokenizer.lex" {l(); /* multi line comment */} YY_BREAK case 3: YY_RULE_SETUP -#line 576 "tokenizer.lex" +#line 580 "tokenizer.lex" {syntaxerror("syntax error: unterminated comment", as3_text);} YY_BREAK case 4: @@ -2155,7 +2159,7 @@ case 4: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 578 "tokenizer.lex" +#line 582 "tokenizer.lex" {l();handleInclude(as3_text, as3_leng, 1);} YY_BREAK case 5: @@ -2164,25 +2168,25 @@ case 5: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 579 "tokenizer.lex" +#line 583 "tokenizer.lex" {l();handleInclude(as3_text, as3_leng, 0);} YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 580 "tokenizer.lex" +#line 584 "tokenizer.lex" {l(); BEGIN(INITIAL);handleString(as3_text, as3_leng);return T_STRING;} YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP -#line 581 "tokenizer.lex" +#line 585 "tokenizer.lex" {l(); BEGIN(INITIAL);handleCData(as3_text, as3_leng);return T_STRING;} YY_BREAK case 8: YY_RULE_SETUP -#line 584 "tokenizer.lex" +#line 588 "tokenizer.lex" {c(); BEGIN(INITIAL);return handleregexp();} YY_BREAK case 9: @@ -2191,7 +2195,7 @@ case 9: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 585 "tokenizer.lex" +#line 589 "tokenizer.lex" {c(); BEGIN(INITIAL);return handlehex();} YY_BREAK case 10: @@ -2200,7 +2204,7 @@ case 10: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 586 "tokenizer.lex" +#line 590 "tokenizer.lex" {c(); BEGIN(INITIAL);return handlehexfloat();} YY_BREAK case 11: @@ -2209,7 +2213,7 @@ case 11: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 587 "tokenizer.lex" +#line 591 "tokenizer.lex" {c(); BEGIN(INITIAL);return handleint();} YY_BREAK case 12: @@ -2218,29 +2222,29 @@ case 12: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 588 "tokenizer.lex" +#line 592 "tokenizer.lex" {c(); BEGIN(INITIAL);return handlefloat();} YY_BREAK case 13: YY_RULE_SETUP -#line 591 "tokenizer.lex" +#line 595 "tokenizer.lex" {c(); BEGIN(REGEXPOK);return m(T_DICTSTART);} YY_BREAK case 14: YY_RULE_SETUP -#line 592 "tokenizer.lex" +#line 596 "tokenizer.lex" {c(); BEGIN(INITIAL); return m('{');} YY_BREAK case 15: YY_RULE_SETUP -#line 594 "tokenizer.lex" +#line 598 "tokenizer.lex" {/* utf 8 bom */} YY_BREAK case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 595 "tokenizer.lex" +#line 599 "tokenizer.lex" {l();} YY_BREAK case 17: @@ -2249,7 +2253,7 @@ case 17: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 597 "tokenizer.lex" +#line 601 "tokenizer.lex" {c(); BEGIN(INITIAL);return handlehex();} YY_BREAK case 18: @@ -2258,7 +2262,7 @@ case 18: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 598 "tokenizer.lex" +#line 602 "tokenizer.lex" {c(); BEGIN(INITIAL);return handlehexfloat();} YY_BREAK case 19: @@ -2267,7 +2271,7 @@ case 19: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 599 "tokenizer.lex" +#line 603 "tokenizer.lex" {c(); BEGIN(INITIAL);return handleint();} YY_BREAK case 20: @@ -2276,12 +2280,12 @@ case 20: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 600 "tokenizer.lex" +#line 604 "tokenizer.lex" {c(); BEGIN(INITIAL);return handlefloat();} YY_BREAK case 21: YY_RULE_SETUP -#line 602 "tokenizer.lex" +#line 606 "tokenizer.lex" {/* for debugging: generates a tokenizer-level error */ syntaxerror("3rr0r");} YY_BREAK @@ -2291,7 +2295,7 @@ case 22: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 605 "tokenizer.lex" +#line 609 "tokenizer.lex" {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-3);return T_FOR;} YY_BREAK case 23: @@ -2300,7 +2304,7 @@ case 23: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 606 "tokenizer.lex" +#line 610 "tokenizer.lex" {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-2);return T_DO;} YY_BREAK case 24: @@ -2309,7 +2313,7 @@ case 24: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 607 "tokenizer.lex" +#line 611 "tokenizer.lex" {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-5);return T_WHILE;} YY_BREAK case 25: @@ -2318,432 +2322,432 @@ case 25: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 608 "tokenizer.lex" +#line 612 "tokenizer.lex" {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-6);return T_SWITCH;} YY_BREAK case 26: YY_RULE_SETUP -#line 609 "tokenizer.lex" +#line 613 "tokenizer.lex" {c();BEGIN(INITIAL);a3_lval.id="";return T_FOR;} YY_BREAK case 27: YY_RULE_SETUP -#line 610 "tokenizer.lex" +#line 614 "tokenizer.lex" {c();BEGIN(INITIAL);a3_lval.id="";return T_DO;} YY_BREAK case 28: YY_RULE_SETUP -#line 611 "tokenizer.lex" +#line 615 "tokenizer.lex" {c();BEGIN(INITIAL);a3_lval.id="";return T_WHILE;} YY_BREAK case 29: YY_RULE_SETUP -#line 612 "tokenizer.lex" +#line 616 "tokenizer.lex" {c();BEGIN(INITIAL);a3_lval.id="";return T_SWITCH;} YY_BREAK case 30: YY_RULE_SETUP -#line 614 "tokenizer.lex" +#line 618 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_ANDAND);} YY_BREAK case 31: YY_RULE_SETUP -#line 615 "tokenizer.lex" +#line 619 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_OROR);} YY_BREAK case 32: YY_RULE_SETUP -#line 616 "tokenizer.lex" +#line 620 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_NE);} YY_BREAK case 33: YY_RULE_SETUP -#line 617 "tokenizer.lex" +#line 621 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_NEE);} YY_BREAK case 34: YY_RULE_SETUP -#line 618 "tokenizer.lex" +#line 622 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_EQEQEQ);} YY_BREAK case 35: YY_RULE_SETUP -#line 619 "tokenizer.lex" +#line 623 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_EQEQ);} YY_BREAK case 36: YY_RULE_SETUP -#line 620 "tokenizer.lex" +#line 624 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_GE);} YY_BREAK case 37: YY_RULE_SETUP -#line 621 "tokenizer.lex" +#line 625 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_LE);} YY_BREAK case 38: YY_RULE_SETUP -#line 622 "tokenizer.lex" +#line 626 "tokenizer.lex" {c();BEGIN(INITIAL);return m(T_MINUSMINUS);} YY_BREAK case 39: YY_RULE_SETUP -#line 623 "tokenizer.lex" +#line 627 "tokenizer.lex" {c();BEGIN(INITIAL);return m(T_PLUSPLUS);} YY_BREAK case 40: YY_RULE_SETUP -#line 624 "tokenizer.lex" +#line 628 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_PLUSBY);} YY_BREAK case 41: YY_RULE_SETUP -#line 625 "tokenizer.lex" +#line 629 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_XORBY);} YY_BREAK case 42: YY_RULE_SETUP -#line 626 "tokenizer.lex" +#line 630 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_MINUSBY);} YY_BREAK case 43: YY_RULE_SETUP -#line 627 "tokenizer.lex" +#line 631 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_DIVBY);} YY_BREAK case 44: YY_RULE_SETUP -#line 628 "tokenizer.lex" +#line 632 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_MODBY);} YY_BREAK case 45: YY_RULE_SETUP -#line 629 "tokenizer.lex" +#line 633 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_MULBY);} YY_BREAK case 46: YY_RULE_SETUP -#line 630 "tokenizer.lex" +#line 634 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_ORBY);} YY_BREAK case 47: YY_RULE_SETUP -#line 631 "tokenizer.lex" +#line 635 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_SHRBY);} YY_BREAK case 48: YY_RULE_SETUP -#line 632 "tokenizer.lex" +#line 636 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_SHLBY);} YY_BREAK case 49: YY_RULE_SETUP -#line 633 "tokenizer.lex" +#line 637 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_USHRBY);} YY_BREAK case 50: YY_RULE_SETUP -#line 634 "tokenizer.lex" +#line 638 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_SHL);} YY_BREAK case 51: YY_RULE_SETUP -#line 635 "tokenizer.lex" +#line 639 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_USHR);} YY_BREAK case 52: YY_RULE_SETUP -#line 636 "tokenizer.lex" +#line 640 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_SHR);} YY_BREAK case 53: YY_RULE_SETUP -#line 637 "tokenizer.lex" +#line 641 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);} YY_BREAK case 54: YY_RULE_SETUP -#line 638 "tokenizer.lex" +#line 642 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_DOTDOT);} YY_BREAK case 55: YY_RULE_SETUP -#line 639 "tokenizer.lex" +#line 643 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m('.');} YY_BREAK case 56: YY_RULE_SETUP -#line 640 "tokenizer.lex" +#line 644 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(T_COLONCOLON);} YY_BREAK case 57: YY_RULE_SETUP -#line 641 "tokenizer.lex" -{c();BEGIN(INITIAL);return m(':');} +#line 645 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(':');} YY_BREAK case 58: YY_RULE_SETUP -#line 642 "tokenizer.lex" +#line 646 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);} YY_BREAK case 59: YY_RULE_SETUP -#line 643 "tokenizer.lex" +#line 647 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);} YY_BREAK case 60: YY_RULE_SETUP -#line 644 "tokenizer.lex" +#line 648 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_INTERFACE);} YY_BREAK case 61: YY_RULE_SETUP -#line 645 "tokenizer.lex" +#line 649 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_NAMESPACE);} YY_BREAK case 62: YY_RULE_SETUP -#line 646 "tokenizer.lex" +#line 650 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_PROTECTED);} YY_BREAK case 63: YY_RULE_SETUP -#line 647 "tokenizer.lex" +#line 651 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_UNDEFINED);} YY_BREAK case 64: YY_RULE_SETUP -#line 648 "tokenizer.lex" +#line 652 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_CONTINUE);} YY_BREAK case 65: YY_RULE_SETUP -#line 649 "tokenizer.lex" +#line 653 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_OVERRIDE);} YY_BREAK case 66: YY_RULE_SETUP -#line 650 "tokenizer.lex" +#line 654 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_INTERNAL);} YY_BREAK case 67: YY_RULE_SETUP -#line 651 "tokenizer.lex" +#line 655 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_FUNCTION);} YY_BREAK case 68: YY_RULE_SETUP -#line 652 "tokenizer.lex" +#line 656 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_FINALLY);} YY_BREAK case 69: YY_RULE_SETUP -#line 653 "tokenizer.lex" +#line 657 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_DEFAULT);} YY_BREAK case 70: YY_RULE_SETUP -#line 654 "tokenizer.lex" +#line 658 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_PACKAGE);} YY_BREAK case 71: YY_RULE_SETUP -#line 655 "tokenizer.lex" +#line 659 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_PRIVATE);} YY_BREAK case 72: YY_RULE_SETUP -#line 656 "tokenizer.lex" +#line 660 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_DYNAMIC);} YY_BREAK case 73: YY_RULE_SETUP -#line 657 "tokenizer.lex" +#line 661 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_EXTENDS);} YY_BREAK case 74: YY_RULE_SETUP -#line 658 "tokenizer.lex" +#line 662 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_DELETE);} YY_BREAK case 75: YY_RULE_SETUP -#line 659 "tokenizer.lex" +#line 663 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_RETURN);} YY_BREAK case 76: YY_RULE_SETUP -#line 660 "tokenizer.lex" +#line 664 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_PUBLIC);} YY_BREAK case 77: YY_RULE_SETUP -#line 661 "tokenizer.lex" +#line 665 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_NATIVE);} YY_BREAK case 78: YY_RULE_SETUP -#line 662 "tokenizer.lex" +#line 666 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_STATIC);} YY_BREAK case 79: YY_RULE_SETUP -#line 663 "tokenizer.lex" +#line 667 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_IMPORT);} YY_BREAK case 80: YY_RULE_SETUP -#line 664 "tokenizer.lex" +#line 668 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_TYPEOF);} YY_BREAK case 81: YY_RULE_SETUP -#line 665 "tokenizer.lex" +#line 669 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_THROW);} YY_BREAK case 82: YY_RULE_SETUP -#line 666 "tokenizer.lex" +#line 670 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_CLASS);} YY_BREAK case 83: YY_RULE_SETUP -#line 667 "tokenizer.lex" +#line 671 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_CONST);} YY_BREAK case 84: YY_RULE_SETUP -#line 668 "tokenizer.lex" +#line 672 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_CATCH);} YY_BREAK case 85: YY_RULE_SETUP -#line 669 "tokenizer.lex" +#line 673 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_FINAL);} YY_BREAK case 86: YY_RULE_SETUP -#line 670 "tokenizer.lex" +#line 674 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_FALSE);} YY_BREAK case 87: YY_RULE_SETUP -#line 671 "tokenizer.lex" +#line 675 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_BREAK);} YY_BREAK case 88: YY_RULE_SETUP -#line 672 "tokenizer.lex" +#line 676 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_SUPER);} YY_BREAK case 89: YY_RULE_SETUP -#line 673 "tokenizer.lex" +#line 677 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_EACH);} YY_BREAK case 90: YY_RULE_SETUP -#line 674 "tokenizer.lex" +#line 678 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_VOID);} YY_BREAK case 91: YY_RULE_SETUP -#line 675 "tokenizer.lex" +#line 679 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_TRUE);} YY_BREAK case 92: YY_RULE_SETUP -#line 676 "tokenizer.lex" +#line 680 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_NULL);} YY_BREAK case 93: YY_RULE_SETUP -#line 677 "tokenizer.lex" +#line 681 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_ELSE);} YY_BREAK case 94: YY_RULE_SETUP -#line 678 "tokenizer.lex" +#line 682 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_CASE);} YY_BREAK case 95: YY_RULE_SETUP -#line 679 "tokenizer.lex" +#line 683 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_WITH);} YY_BREAK case 96: YY_RULE_SETUP -#line 680 "tokenizer.lex" +#line 684 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_USE);} YY_BREAK case 97: YY_RULE_SETUP -#line 681 "tokenizer.lex" +#line 685 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_NEW);} YY_BREAK case 98: YY_RULE_SETUP -#line 682 "tokenizer.lex" +#line 686 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_GET);} YY_BREAK case 99: YY_RULE_SETUP -#line 683 "tokenizer.lex" +#line 687 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_SET);} YY_BREAK case 100: YY_RULE_SETUP -#line 684 "tokenizer.lex" +#line 688 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_VAR);} YY_BREAK case 101: YY_RULE_SETUP -#line 685 "tokenizer.lex" +#line 689 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_TRY);} YY_BREAK case 102: YY_RULE_SETUP -#line 686 "tokenizer.lex" +#line 690 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_IS) ;} YY_BREAK case 103: YY_RULE_SETUP -#line 687 "tokenizer.lex" +#line 691 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_IN) ;} YY_BREAK case 104: YY_RULE_SETUP -#line 688 "tokenizer.lex" +#line 692 "tokenizer.lex" {c();BEGIN(INITIAL);return m(KW_IF) ;} YY_BREAK case 105: YY_RULE_SETUP -#line 689 "tokenizer.lex" +#line 693 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(KW_AS);} YY_BREAK case 106: YY_RULE_SETUP -#line 690 "tokenizer.lex" +#line 694 "tokenizer.lex" {c();BEGIN(INITIAL);return handleIdentifier();} YY_BREAK case 107: YY_RULE_SETUP -#line 692 "tokenizer.lex" +#line 696 "tokenizer.lex" {c();BEGIN(INITIAL);return m(as3_text[0]);} YY_BREAK case 108: YY_RULE_SETUP -#line 693 "tokenizer.lex" +#line 697 "tokenizer.lex" {c();BEGIN(REGEXPOK);return m(as3_text[0]);} YY_BREAK case 109: YY_RULE_SETUP -#line 694 "tokenizer.lex" +#line 698 "tokenizer.lex" {c();BEGIN(INITIAL);return m(as3_text[0]);} YY_BREAK case 110: YY_RULE_SETUP -#line 696 "tokenizer.lex" +#line 700 "tokenizer.lex" {/* ERROR */ char c1=as3_text[0]; char buf[128]; @@ -2768,7 +2772,7 @@ YY_RULE_SETUP case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(REGEXPOK): case YY_STATE_EOF(BEGINNING): -#line 716 "tokenizer.lex" +#line 720 "tokenizer.lex" {l(); void*b = leave_file(); if (!b) { @@ -2783,10 +2787,10 @@ case YY_STATE_EOF(BEGINNING): YY_BREAK case 111: YY_RULE_SETUP -#line 728 "tokenizer.lex" +#line 732 "tokenizer.lex" ECHO; YY_BREAK -#line 2790 "tokenizer.yy.c" +#line 2794 "tokenizer.yy.c" case YY_END_OF_BUFFER: { @@ -3796,7 +3800,7 @@ void as3_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 728 "tokenizer.lex" +#line 732 "tokenizer.lex"