From d1fb98291d7979f57a7364a05a83e907e622b560 Mon Sep 17 00:00:00 2001 From: kramm Date: Tue, 30 Dec 2008 23:05:50 +0000 Subject: [PATCH] only allow sign in front of a number if it's safe --- lib/as3/tokenizer.lex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/as3/tokenizer.lex b/lib/as3/tokenizer.lex index fe14b1c..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]*)?|-?\.[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);} @@ -485,6 +488,7 @@ 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***"; -- 1.7.10.4