- private SmartReader in;
- private boolean pushedBack = false;
-
- private int op;
- public Number number;
- public String string;
-
- public Lexer(Reader r) throws IOException { in = new SmartReader(r); }
- public int peekToken() throws IOException { int ret = peekToken(); pushBackToken(); return ret; }
- public void pushBackToken() { if (pushedBack) throw new Error("can't push back twice"); pushedBack = true; }
-
- // Token Constants //////////////////////////////////////////////////////////
-
- public final static int
- EOL = 1, // end of line
- RETURN = 5, // return
- GOTO = 6, // goto
- BITOR = 11, // |
- ASSIGN_BITOR = 211, // |=
- BITXOR = 12, // ^
- ASSIGN_BITXOR= 212, // ^=
- BITAND = 13, // &
- ASSIGN_BITAND= 213, // &=
- EQ = 14, // ==
- NE = 15, // !=
- LT = 16, // <
- LE = 17, // <=
- GT = 18, // >
- GE = 19, // >=
- LSH = 20, // <<
- ASSIGN_LSH = 220, // <<=
- RSH = 21, // >>
- ASSIGN_RSH = 221, // >>=
- URSH = 22, // >>>
- ASSIGN_URSH = 222, // >>>=
- ADD = 23, // +
- ASSIGN_ADD = 223, // +=
- SUB = 24, // -
- ASSIGN_SUB = 224, // -=
- MUL = 25, // *
- ASSIGN_MUL = 225, // *=
- DIV = 26, // /
- ASSIGN_DIV = 226, // /=
- MOD = 27, // %
- ASSIGN_MOD = 227, // %=
- BITNOT = 28, // ~
- ASSIGN_BITNOT= 228, // ~=
- DELPROP = 31, // delete
- TYPEOF = 32, // typeof
- NAME = 44, // *** identifiers ***
- NUMBER = 45, // *** numeric literals ***
- STRING = 46, // *** string literals ***
- NULL = 49, // null
- THIS = 50, // this
- FALSE = 51, // false
- TRUE = 52, // true
- SHEQ = 53, // ===
- SHNE = 54, // !==
- THROW = 62, // throw
- IN = 63, // in
- INSTANCEOF = 64, // instanceof
- TRY = 75, // try
- SEMI = 89, // ;
- LB = 90, // [
- RB = 91, // ]
- LC = 92, // {
- RC = 93, // }
- LP = 94, // (
- RP = 95, // )
- COMMA = 96, // ,
- ASSIGN = 97, // =
- HOOK = 98, // ?
- COLON = 99, // :
- OR = 100, // ||
- AND = 101, // &&
- INC = 106, // ++
- DEC = 107, // --
- DOT = 108, // .
- FUNCTION = 110, // function
- IF = 113, // if keyword
- ELSE = 114, // else keyword
- SWITCH = 115, // switch keyword
- CASE = 116, // case keyword
- DEFAULT = 117, // default keyword
- WHILE = 118, // while keyword
- DO = 119, // do keyword
- FOR = 120, // for keyword
- BREAK = 121, // break keyword
- CONTINUE = 122, // continue keyword
- VAR = 123, // var keyword
- WITH = 124, // with keyword
- CATCH = 125, // catch keyword
- FINALLY = 126, // finally keyword
- RESERVED = 127, // reserved keywords
- NOP = 128, // NOP
- VOID = 132, // void keyword
- MOD_ASSIGN = 133, // %=
- BANG = 134, // %=
- ASSERT = 150; // assert keyword