X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fas3%2Ftokenizer.lex;h=4fe519799a32c30ee89739dc08486dc74d89a795;hb=540179d9b2b5f045b28feb1f09aba22b1f5d45bc;hp=89f5e1923090760535424c0f368e022eb042dc62;hpb=348ac4449eb156089ed17c821ef6a39ac41a7b6a;p=swftools.git diff --git a/lib/as3/tokenizer.lex b/lib/as3/tokenizer.lex index 89f5e19..4fe5197 100644 --- a/lib/as3/tokenizer.lex +++ b/lib/as3/tokenizer.lex @@ -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]);}