moved global variables/routines to common.h
[swftools.git] / lib / as3 / tokenizer.yy.c
index 7c0e478..415fefa 100644 (file)
@@ -1343,53 +1343,12 @@ char *as3_text;
 #include <stdio.h>
 #include <stdarg.h>
 #include "../utf8.h"
+#include "common.h"
 #include "tokenizer.h"
 #include "files.h"
 
-int as3_pass = 0;
-int as3_verbosity = 1;
 unsigned int as3_tokencount = 0;
 
-void as3_error(const char*format, ...)
-{
-    char buf[1024];
-    int l;
-    va_list arglist;
-    if(as3_verbosity<0)
-        exit(1);
-    va_start(arglist, format);
-    vsprintf(buf, format, arglist);
-    va_end(arglist);
-    fprintf(stderr, "%s:%d:%d: error: %s\n", current_filename, current_line, current_column, buf);
-    fflush(stderr);
-    exit(1);
-}
-void as3_warning(const char*format, ...)
-{
-    char buf[1024];
-    int l;
-    va_list arglist;
-    if(as3_verbosity<1)
-        return;
-    va_start(arglist, format);
-    vsprintf(buf, format, arglist);
-    va_end(arglist);
-    fprintf(stderr, "%s:%d:%d: warning: %s\n", current_filename, current_line, current_column, buf);
-    fflush(stderr);
-}
-void as3_softwarning(const char*format, ...)
-{
-    char buf[1024];
-    int l;
-    va_list arglist;
-    if(as3_verbosity<2)
-       return;
-    va_start(arglist, format);
-    vsprintf(buf, format, arglist);
-    va_end(arglist);
-    fprintf(stderr, "%s:%d:%d: warning: %s\n", current_filename, current_line, current_column, buf);
-    fflush(stderr);
-}
 static void dbg(const char*format, ...)
 {
     char buf[1024];
@@ -1865,7 +1824,7 @@ static inline int handleIdentifier()
 
 
 
-#line 1869 "tokenizer.yy.c"
+#line 1828 "tokenizer.yy.c"
 
 #define INITIAL 0
 #define REGEXPOK 1
@@ -2052,11 +2011,11 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
     
-#line 575 "tokenizer.lex"
+#line 534 "tokenizer.lex"
 
 
 
-#line 2060 "tokenizer.yy.c"
+#line 2019 "tokenizer.yy.c"
 
        if ( !(yy_init) )
                {
@@ -2139,18 +2098,18 @@ do_action:      /* This label is used only to access EOF actions. */
 case 1:
 /* rule 1 can match eol */
 YY_RULE_SETUP
-#line 578 "tokenizer.lex"
+#line 537 "tokenizer.lex"
 {l(); /* single line comment */}
        YY_BREAK
 case 2:
 /* rule 2 can match eol */
 YY_RULE_SETUP
-#line 579 "tokenizer.lex"
+#line 538 "tokenizer.lex"
 {l(); /* multi line comment */}
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 580 "tokenizer.lex"
+#line 539 "tokenizer.lex"
 {syntaxerror("syntax error: unterminated comment", as3_text);}
        YY_BREAK
 case 4:
@@ -2159,7 +2118,7 @@ case 4:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 582 "tokenizer.lex"
+#line 541 "tokenizer.lex"
 {l();handleInclude(as3_text, as3_leng, 1);}
        YY_BREAK
 case 5:
@@ -2168,25 +2127,25 @@ case 5:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 583 "tokenizer.lex"
+#line 542 "tokenizer.lex"
 {l();handleInclude(as3_text, as3_leng, 0);}
        YY_BREAK
 case 6:
 /* rule 6 can match eol */
 YY_RULE_SETUP
-#line 584 "tokenizer.lex"
+#line 543 "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 585 "tokenizer.lex"
+#line 544 "tokenizer.lex"
 {l(); BEGIN(INITIAL);handleCData(as3_text, as3_leng);return T_STRING;}
        YY_BREAK
 
 case 8:
 YY_RULE_SETUP
-#line 588 "tokenizer.lex"
+#line 547 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handleregexp();} 
        YY_BREAK
 case 9:
@@ -2195,7 +2154,7 @@ case 9:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 589 "tokenizer.lex"
+#line 548 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handlehex();}
        YY_BREAK
 case 10:
@@ -2204,7 +2163,7 @@ case 10:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 590 "tokenizer.lex"
+#line 549 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handlehexfloat();}
        YY_BREAK
 case 11:
@@ -2213,7 +2172,7 @@ case 11:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 591 "tokenizer.lex"
+#line 550 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handleint();}
        YY_BREAK
 case 12:
@@ -2222,29 +2181,29 @@ case 12:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 592 "tokenizer.lex"
+#line 551 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handlefloat();}
        YY_BREAK
 
 case 13:
 YY_RULE_SETUP
-#line 595 "tokenizer.lex"
+#line 554 "tokenizer.lex"
 {c(); BEGIN(REGEXPOK);return m(T_DICTSTART);}
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 596 "tokenizer.lex"
+#line 555 "tokenizer.lex"
 {c(); BEGIN(INITIAL); return m('{');}
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 598 "tokenizer.lex"
+#line 557 "tokenizer.lex"
 {/* utf 8 bom */}
        YY_BREAK
 case 16:
 /* rule 16 can match eol */
 YY_RULE_SETUP
-#line 599 "tokenizer.lex"
+#line 558 "tokenizer.lex"
 {l();}
        YY_BREAK
 case 17:
@@ -2253,7 +2212,7 @@ case 17:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 601 "tokenizer.lex"
+#line 560 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handlehex();}
        YY_BREAK
 case 18:
@@ -2262,7 +2221,7 @@ case 18:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 602 "tokenizer.lex"
+#line 561 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handlehexfloat();}
        YY_BREAK
 case 19:
@@ -2271,7 +2230,7 @@ case 19:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 603 "tokenizer.lex"
+#line 562 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handleint();}
        YY_BREAK
 case 20:
@@ -2280,12 +2239,12 @@ case 20:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 604 "tokenizer.lex"
+#line 563 "tokenizer.lex"
 {c(); BEGIN(INITIAL);return handlefloat();}
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 606 "tokenizer.lex"
+#line 565 "tokenizer.lex"
 {/* for debugging: generates a tokenizer-level error */
                               syntaxerror("3rr0r");}
        YY_BREAK
@@ -2295,7 +2254,7 @@ case 22:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 609 "tokenizer.lex"
+#line 568 "tokenizer.lex"
 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-3);return T_FOR;}
        YY_BREAK
 case 23:
@@ -2304,7 +2263,7 @@ case 23:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 610 "tokenizer.lex"
+#line 569 "tokenizer.lex"
 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-2);return T_DO;}
        YY_BREAK
 case 24:
@@ -2313,7 +2272,7 @@ case 24:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 611 "tokenizer.lex"
+#line 570 "tokenizer.lex"
 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-5);return T_WHILE;}
        YY_BREAK
 case 25:
@@ -2322,432 +2281,432 @@ case 25:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up as3_text again */
 YY_RULE_SETUP
-#line 612 "tokenizer.lex"
+#line 571 "tokenizer.lex"
 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-6);return T_SWITCH;}
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 613 "tokenizer.lex"
+#line 572 "tokenizer.lex"
 {c();BEGIN(INITIAL);a3_lval.id="";return T_FOR;}
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 614 "tokenizer.lex"
+#line 573 "tokenizer.lex"
 {c();BEGIN(INITIAL);a3_lval.id="";return T_DO;}
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 615 "tokenizer.lex"
+#line 574 "tokenizer.lex"
 {c();BEGIN(INITIAL);a3_lval.id="";return T_WHILE;}
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 616 "tokenizer.lex"
+#line 575 "tokenizer.lex"
 {c();BEGIN(INITIAL);a3_lval.id="";return T_SWITCH;}
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 618 "tokenizer.lex"
+#line 577 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_ANDAND);}
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 619 "tokenizer.lex"
+#line 578 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_OROR);}
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 620 "tokenizer.lex"
+#line 579 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_NE);}
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 621 "tokenizer.lex"
+#line 580 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_NEE);}
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 622 "tokenizer.lex"
+#line 581 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_EQEQEQ);}
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 623 "tokenizer.lex"
+#line 582 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_EQEQ);}
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 624 "tokenizer.lex"
+#line 583 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_GE);}
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 625 "tokenizer.lex"
+#line 584 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_LE);}
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 626 "tokenizer.lex"
+#line 585 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(T_MINUSMINUS);}
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 627 "tokenizer.lex"
+#line 586 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(T_PLUSPLUS);}
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 628 "tokenizer.lex"
+#line 587 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_PLUSBY);}
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 629 "tokenizer.lex"
+#line 588 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_XORBY);}
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 630 "tokenizer.lex"
+#line 589 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_MINUSBY);}
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 631 "tokenizer.lex"
+#line 590 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_DIVBY);}
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 632 "tokenizer.lex"
+#line 591 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_MODBY);}
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 633 "tokenizer.lex"
+#line 592 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_MULBY);}
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 634 "tokenizer.lex"
+#line 593 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_ORBY);}
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 635 "tokenizer.lex"
+#line 594 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_SHRBY);}
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 636 "tokenizer.lex"
+#line 595 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_SHLBY);}
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 637 "tokenizer.lex"
+#line 596 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_USHRBY);}
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 638 "tokenizer.lex"
+#line 597 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_SHL);}
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 639 "tokenizer.lex"
+#line 598 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_USHR);}
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 640 "tokenizer.lex"
+#line 599 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_SHR);}
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 641 "tokenizer.lex"
+#line 600 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);}
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 642 "tokenizer.lex"
+#line 601 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_DOTDOT);}
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 643 "tokenizer.lex"
+#line 602 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m('.');}
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 644 "tokenizer.lex"
+#line 603 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(T_COLONCOLON);}
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 645 "tokenizer.lex"
+#line 604 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(':');}
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 646 "tokenizer.lex"
+#line 605 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);}
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 647 "tokenizer.lex"
+#line 606 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);}
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 648 "tokenizer.lex"
+#line 607 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_INTERFACE);}
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 649 "tokenizer.lex"
+#line 608 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_NAMESPACE);}
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 650 "tokenizer.lex"
+#line 609 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_PROTECTED);}
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 651 "tokenizer.lex"
+#line 610 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_UNDEFINED);}
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 652 "tokenizer.lex"
+#line 611 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_CONTINUE);}
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 653 "tokenizer.lex"
+#line 612 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_OVERRIDE);}
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 654 "tokenizer.lex"
+#line 613 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_INTERNAL);}
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 655 "tokenizer.lex"
+#line 614 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_FUNCTION);}
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 656 "tokenizer.lex"
+#line 615 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_FINALLY);}
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 657 "tokenizer.lex"
+#line 616 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_DEFAULT);}
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 658 "tokenizer.lex"
+#line 617 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_PACKAGE);}
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 659 "tokenizer.lex"
+#line 618 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_PRIVATE);}
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 660 "tokenizer.lex"
+#line 619 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_DYNAMIC);}
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 661 "tokenizer.lex"
+#line 620 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_EXTENDS);}
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 662 "tokenizer.lex"
+#line 621 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_DELETE);}
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 663 "tokenizer.lex"
+#line 622 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_RETURN);}
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 664 "tokenizer.lex"
+#line 623 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_PUBLIC);}
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 665 "tokenizer.lex"
+#line 624 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_NATIVE);}
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 666 "tokenizer.lex"
+#line 625 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_STATIC);}
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 667 "tokenizer.lex"
+#line 626 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_IMPORT);}
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 668 "tokenizer.lex"
+#line 627 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_TYPEOF);}
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 669 "tokenizer.lex"
+#line 628 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_THROW);}
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 670 "tokenizer.lex"
+#line 629 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_CLASS);}
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 671 "tokenizer.lex"
+#line 630 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_CONST);}
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 672 "tokenizer.lex"
+#line 631 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_CATCH);}
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 673 "tokenizer.lex"
+#line 632 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_FINAL);}
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 674 "tokenizer.lex"
+#line 633 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_FALSE);}
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 675 "tokenizer.lex"
+#line 634 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_BREAK);}
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 676 "tokenizer.lex"
+#line 635 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_SUPER);}
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 677 "tokenizer.lex"
+#line 636 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_EACH);}
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 678 "tokenizer.lex"
+#line 637 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_VOID);}
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 679 "tokenizer.lex"
+#line 638 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_TRUE);}
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 680 "tokenizer.lex"
+#line 639 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_NULL);}
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 681 "tokenizer.lex"
+#line 640 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_ELSE);}
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 682 "tokenizer.lex"
+#line 641 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_CASE);}
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 683 "tokenizer.lex"
+#line 642 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_WITH);}
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 684 "tokenizer.lex"
+#line 643 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_USE);}
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 685 "tokenizer.lex"
+#line 644 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_NEW);}
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 686 "tokenizer.lex"
+#line 645 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_GET);}
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 687 "tokenizer.lex"
+#line 646 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_SET);}
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 688 "tokenizer.lex"
+#line 647 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_VAR);}
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 689 "tokenizer.lex"
+#line 648 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_TRY);}
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 690 "tokenizer.lex"
+#line 649 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_IS) ;}
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 691 "tokenizer.lex"
+#line 650 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_IN) ;}
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 692 "tokenizer.lex"
+#line 651 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(KW_IF) ;}
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 693 "tokenizer.lex"
+#line 652 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(KW_AS);}
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 694 "tokenizer.lex"
+#line 653 "tokenizer.lex"
 {c();BEGIN(INITIAL);return handleIdentifier();}
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 696 "tokenizer.lex"
+#line 655 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(as3_text[0]);}
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 697 "tokenizer.lex"
+#line 656 "tokenizer.lex"
 {c();BEGIN(REGEXPOK);return m(as3_text[0]);}
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 698 "tokenizer.lex"
+#line 657 "tokenizer.lex"
 {c();BEGIN(INITIAL);return m(as3_text[0]);}
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 700 "tokenizer.lex"
+#line 659 "tokenizer.lex"
 {/* ERROR */
                               char c1=as3_text[0];
                               char buf[128];
@@ -2772,7 +2731,7 @@ YY_RULE_SETUP
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(REGEXPOK):
 case YY_STATE_EOF(BEGINNING):
-#line 720 "tokenizer.lex"
+#line 679 "tokenizer.lex"
 {l();
                               void*b = leave_file();
                              if (!b) {
@@ -2787,10 +2746,10 @@ case YY_STATE_EOF(BEGINNING):
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 732 "tokenizer.lex"
+#line 691 "tokenizer.lex"
 ECHO;
        YY_BREAK
-#line 2794 "tokenizer.yy.c"
+#line 2753 "tokenizer.yy.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -3800,7 +3759,7 @@ void as3_free (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 732 "tokenizer.lex"
+#line 691 "tokenizer.lex"