X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fjs%2FLexer.java;h=f20901b5b8a855d1dee78c2d8576ef19b5f1173e;hp=47d46f7609e6ae7bb79b0c28dba1264be9a3ca58;hb=1bd9bc0c2100ba4a1dc2a5f4ca25ec9e0d1b2265;hpb=b032d1c2f1aacd938b4a823bd400937f8fee0e42 diff --git a/src/org/xwt/js/Lexer.java b/src/org/xwt/js/Lexer.java index 47d46f7..f20901b 100644 --- a/src/org/xwt/js/Lexer.java +++ b/src/org/xwt/js/Lexer.java @@ -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;