removed Boolean, Number, uint, int from keywords
[swftools.git] / lib / as3 / tokenizer.lex
index fe14b1c..ee71c96 100644 (file)
@@ -336,6 +336,10 @@ void initialize_scanner();
 
 #define c() {countlines(yytext, yyleng);}
 
+//Boolean                      {c();return m(KW_BOOLEAN);}
+//int                          {c();return m(KW_INT);}
+//uint                         {c();return m(KW_UINT);}
+//Number                       {c();return m(KW_NUMBER);}
 %}
 
 %s REGEXPOK
@@ -343,7 +347,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 +368,7 @@ REGEXP   [/]([^/\n]|\\[/])*[/][a-zA-Z]*
 
 <BEGINNING,REGEXPOK>{
 {REGEXP}                     {c(); BEGIN(INITIAL);return m(T_REGEXP);} 
+{NUMBERWITHSIGN}             {c(); BEGIN(INITIAL);return handlenumber();}
 }
 
 \xef\xbb\xbf                 {/* utf 8 bom */}
@@ -376,6 +382,7 @@ REGEXP   [/]([^/\n]|\\[/])*[/][a-zA-Z]*
 [&][&]                       {c();BEGIN(REGEXPOK);return m(T_ANDAND);}
 [|][|]                       {c();BEGIN(REGEXPOK);return m(T_OROR);}
 [!][=]                       {c();BEGIN(REGEXPOK);return m(T_NE);}
+[!][=][=]                    {c();BEGIN(REGEXPOK);return m(T_NEE);}
 [=][=][=]                    {c();BEGIN(REGEXPOK);return m(T_EQEQEQ);}
 [=][=]                       {c();BEGIN(REGEXPOK);return m(T_EQEQ);}
 [>][=]                       {c();return m(T_GE);}
@@ -407,15 +414,14 @@ internal                     {c();return m(KW_INTERNAL);}
 function                     {c();return m(KW_FUNCTION);}
 package                      {c();return m(KW_PACKAGE);}
 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);}
 static                       {c();return m(KW_STATIC);}
 import                       {c();return m(KW_IMPORT);}
-Number                       {c();return m(KW_NUMBER);}
 while                        {c();return m(KW_WHILE);}
 class                        {c();return m(KW_CLASS);}
 const                        {c();return m(KW_CONST);}
@@ -423,11 +429,9 @@ final                        {c();return m(KW_FINAL);}
 false                        {c();return m(KW_FALSE);}
 break                        {c();return m(KW_BREAK);}
 true                         {c();return m(KW_TRUE);}
-uint                         {c();return m(KW_UINT);}
 null                         {c();return m(KW_NULL);}
 else                         {c();return m(KW_ELSE);}
 use                          {c();return m(KW_USE);}
-int                          {c();return m(KW_INT);}
 new                          {c();return m(KW_NEW);}
 get                          {c();return m(KW_GET);}
 for                          {c();return m(KW_FOR);}
@@ -485,6 +489,7 @@ char*token2string(enum yytokentype nr, YYSTYPE v)
     if(nr==T_STRING)     return "<string>";
     else if(nr==T_INT)     return "<int>";
     else if(nr==T_UINT)     return "<uint>";
+    else if(nr==T_BYTE)     return "<byte>";
     else if(nr==T_FLOAT)     return "<float>";
     else if(nr==T_REGEXP)     return "REGEXP";
     else if(nr==T_EOF)        return "***END***";