new keywords do, continue
[swftools.git] / lib / as3 / tokenizer.lex
index 89f5e19..4fe5197 100644 (file)
@@ -339,7 +339,7 @@ static inline int handleint()
 
 static inline int handlehex()
 {
-    char l = (yytext[0]=='-');
+    char l = (yytext[0]=='-')+2;
 
     if(yyleng-l>8)
         syntaxerror("integer overflow");
@@ -359,7 +359,7 @@ static inline int handlehex()
     if(!l && v>2147483647)
         syntaxerror("unsigned integer overflow");
 
-    if(l) {
+    if(l==3) {
         return setint(-(int)v);
     } else {
         return setuint(v);
@@ -449,11 +449,13 @@ REGEXP   [/]([^/\n]|\\[/])*[/][a-zA-Z]*
 \.                           {c();return m('.');}
 ::                           {c();return m(T_COLONCOLON);}
 :                            {c();return m(':');}
+instanceof                   {c();return m(KW_INSTANCEOF);}
 implements                   {c();return m(KW_IMPLEMENTS);}
 interface                    {c();return m(KW_INTERFACE);}
 namespace                    {c();return m(KW_NAMESPACE);}
 protected                    {c();return m(KW_PROTECTED);}
 undefined                    {c();return m(KW_UNDEFINED);}
+continue                     {c();return m(KW_CONTINUE);}
 override                     {c();return m(KW_OVERRIDE);}
 internal                     {c();return m(KW_INTERNAL);}
 function                     {c();return m(KW_FUNCTION);}
@@ -474,6 +476,7 @@ const                        {c();return m(KW_CONST);}
 final                        {c();return m(KW_FINAL);}
 false                        {c();return m(KW_FALSE);}
 break                        {c();return m(KW_BREAK);}
+super                        {c();return m(KW_SUPER);}
 void                         {c();return m(KW_VOID);}
 true                         {c();return m(KW_TRUE);}
 null                         {c();return m(KW_NULL);}
@@ -487,6 +490,7 @@ var                          {c();return m(KW_VAR);}
 is                           {c();return m(KW_IS) ;}
 if                           {c();return m(KW_IF) ;}
 as                           {c();return m(KW_AS);}
+do                           {c();return m(KW_DO);}
 {NAME}                       {c();BEGIN(INITIAL);return mkid(T_IDENTIFIER);}
 
 [+-\/*^~@$!%&\(=\[\]\{\}|?:;,<>] {c();BEGIN(REGEXPOK);return m(yytext[0]);}