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;
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;
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);
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;
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;
}
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;