X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Ftokenizer.lex;h=6f7d05b75548a78becb352c57ce106f3928b199d;hb=d1fb98291d7979f57a7364a05a83e907e622b560;hp=2238ace660a17c8e58051a37a50318ee30f9ab58;hpb=9e103111a918b0d69c2b25a8a199c54eb719b8ac;p=swftools.git diff --git a/lib/as3/tokenizer.lex b/lib/as3/tokenizer.lex index 2238ace..6f7d05b 100644 --- a/lib/as3/tokenizer.lex +++ b/lib/as3/tokenizer.lex @@ -343,7 +343,8 @@ void initialize_scanner(); NAME [a-zA-Z_][a-zA-Z0-9_\\]* -NUMBER -?[0-9]+(\.[0-9]*)? +NUMBER [0-9]+(\.[0-9]*)?|-?\.[0-9]+ +NUMBERWITHSIGN [+-]?({NUMBER}) STRING ["](\\[\x00-\xff]|[^\\"\n])*["]|['](\\[\x00-\xff]|[^\\'\n])*['] S [ \n\r\t] @@ -363,6 +364,7 @@ REGEXP [/]([^/\n]|\\[/])*[/][a-zA-Z]* { {REGEXP} {c(); BEGIN(INITIAL);return m(T_REGEXP);} +{NUMBERWITHSIGN} {c(); BEGIN(INITIAL);return handlenumber();} } \xef\xbb\xbf {/* utf 8 bom */} @@ -410,6 +412,7 @@ private {c();return m(KW_PRIVATE);} Boolean {c();return m(KW_BOOLEAN);} dynamic {c();return m(KW_DYNAMIC);} extends {c();return m(KW_EXTENDS);} +delete {c();return m(KW_DELETE);} return {c();return m(KW_RETURN);} public {c();return m(KW_PUBLIC);} native {c();return m(KW_NATIVE);} @@ -438,7 +441,7 @@ if {c();return m(KW_IF) ;} as {c();return m(KW_AS);} {NAME} {c();BEGIN(INITIAL);return mkid(T_IDENTIFIER);} -[+-\/*^~@$!%&\(=\[\]\{\}|?:;,.<>] {c();BEGIN(REGEXPOK);return m(yytext[0]);} +[+-\/*^~@$!%&\(=\[\]\{\}|?:;,<>] {c();BEGIN(REGEXPOK);return m(yytext[0]);} [\)\]] {c();BEGIN(INITIAL);return m(yytext[0]);} . {char c1=yytext[0]; @@ -480,11 +483,12 @@ int yywrap() } static char mbuf[256]; -char*token2string(enum yytokentype nr) +char*token2string(enum yytokentype nr, YYSTYPE v) { if(nr==T_STRING) return ""; else if(nr==T_INT) return ""; else if(nr==T_UINT) return ""; + else if(nr==T_BYTE) return ""; else if(nr==T_FLOAT) return ""; else if(nr==T_REGEXP) return "REGEXP"; else if(nr==T_EOF) return "***END***";