2003/06/07 12:00:57
[org.ibex.core.git] / src / org / xwt / js / Lexer.java
index 47d46f7..f20901b 100644 (file)
@@ -85,8 +85,8 @@ class Lexer implements Tokens {
             case 3: switch (s.charAt(0)) {
                 case 'a': if (s.charAt(2)=='d' && s.charAt(1)=='n') return AND; break;
                 case 'f': if (s.charAt(2)=='r' && s.charAt(1)=='o') return FOR; break;
-                case 'i': if (s.charAt(2)=='t' && s.charAt(1)=='n') return RESERVED; break;
-                case 'n': if (s.charAt(2)=='w' && s.charAt(1)=='e') throw new IOException("the new keyword is not permitted in XWT scripts");
+                case 'i': if (s.charAt(2)=='t' && s.charAt(1)=='n') return RESERVED;
+                case 'n': if (s.charAt(2)=='w' && s.charAt(1)=='e') return RESERVED;
                 case 't': if (s.charAt(2)=='y' && s.charAt(1)=='r') return TRY; break;
                 case 'v': if (s.charAt(2)=='r' && s.charAt(1)=='a') return VAR; break;
                 } break;
@@ -107,8 +107,8 @@ class Lexer implements Tokens {
                     if (c=='e') { if (s.charAt(2)=='u' && s.charAt(1)=='r') return TRUE; }
                     else if (c=='s') { if (s.charAt(2)=='i' && s.charAt(1)=='h') return THIS; }
                    return -1;
-               case 'w': if (s.equals("with")) throw new IOException("the WITH keyword is not permitted in XWT scripts"); else return -1;
-               case 'v': if (s.equals("void")) throw new IOException("the VOID keyword is not permitted in XWT scripts"); else return -1;
+               case 'w': if (s.equals("with")) return RESERVED; else return -1;
+               case 'v': if (s.equals("void")) return RESERVED; else return -1;
                 } break;
             case 5: switch (s.charAt(2)) {
                 case 'a': return s.equals("class") ? RESERVED : -1;
@@ -116,7 +116,7 @@ class Lexer implements Tokens {
                 case 'i': return s.equals("while") ? WHILE : -1;
                case 'l': return s.equals("false") ? FALSE : -1;
                 case 'n': c=s.charAt(0);
-                   if (s.equals("const")) throw new IOException("the const keyword is not permitted in XWT");
+                   if (s.equals("const")) return RESERVED;
                     else if (s.equals("final")) return RESERVED;
                    return -1;
                case 'o': c=s.charAt(0);
@@ -130,7 +130,7 @@ class Lexer implements Tokens {
             case 6: switch (s.charAt(1)) {
                case 'a': return s.equals("class") ? RESERVED : -1;
                 case 'e': c=s.charAt(0);
-                    if (s.equals("delete")) throw new IOException("the delete keyword is not permitted in XWT scripts");
+                    if (s.equals("delete")) return RESERVED;
                     else if (c=='r') return s.equals("return") ? RETURN : -1;
                     break;
                case 'h': return s.equals("throws") ? RESERVED : -1;
@@ -162,7 +162,7 @@ class Lexer implements Tokens {
                 break;
             case 10: c=s.charAt(1);
                 if (c=='m') return s.equals("implements") ? RESERVED : -1;
-                else if (c=='n' && s.equals("instanceof")) throw new IOException("the instanceof keyword is not permitted in XWT scripts");
+                else if (c=='n' && s.equals("instanceof")) return RESERVED;
                 break;
             case 12: return s.equals("synchronized") ? RESERVED : -1;
             }
@@ -305,7 +305,7 @@ class Lexer implements Tokens {
         case '&': return in.match('&') ? AND : in.match('=') ? ASSIGN_BITAND : BITAND;
         case '=': return !in.match('=') ? ASSIGN : in.match('=') ? SHEQ : EQ;
         case '!': return !in.match('=') ? BANG : in.match('=') ? SHNE : NE;
-        case '%': return in.match('=') ? MOD_ASSIGN : MOD;
+        case '%': return in.match('=') ? ASSIGN_MOD : MOD;
         case '~': return BITNOT;
         case '+': return in.match('=') ? ASSIGN_ADD : in.match('+') ? INC : ADD;
         case '-': return in.match('=') ? ASSIGN_SUB: in.match('-') ? DEC : SUB;