1 // Copyright 2000-2005 the Contributors, as shown in the revision logs.
2 // Licensed under the Apache Public Source License 2.0 ("the License").
3 // You may not use this file except in compliance with the License.
7 /** this class contains a <tt>public static final int</tt> for each valid token */
10 // Token Constants //////////////////////////////////////////////////////////
12 // arithmetic operations; also valid as bytecodes
13 public static final int BITOR = 0; // |
14 public static final int ASSIGN_BITOR = 1; // |=
15 public static final int BITXOR = 2; // ^
16 public static final int ASSIGN_BITXOR = 3; // ^=
17 public static final int BITAND = 4; // &
18 public static final int ASSIGN_BITAND = 5; // &=
19 public static final int LSH = 6; // <<
20 public static final int ASSIGN_LSH = 7; // <<=
21 public static final int RSH = 8; // >>
22 public static final int ASSIGN_RSH = 9; // >>=
23 public static final int URSH = 10; // >>>
24 public static final int ASSIGN_URSH = 11; // >>>=
25 public static final int ADD = 12; // +
26 public static final int ASSIGN_ADD = 13; // +=
27 public static final int SUB = 14; // -
28 public static final int ASSIGN_SUB = 15; // -=
29 public static final int MUL = 16; // *
30 public static final int ASSIGN_MUL = 17; // *=
31 public static final int DIV = 18; // /
32 public static final int ASSIGN_DIV = 19; // /=
33 public static final int MOD = 20; // %
34 public static final int ASSIGN_MOD = 21; // %=
35 public static final int BITNOT = 22; // ~
36 public static final int ASSIGN_BITNOT = 23; // ~=
38 // logical operations; also valid as bytecodes
39 public static final int OR = 24; // ||
40 public static final int AND = 25; // &&
41 public static final int BANG = 26; // !
43 // equality operations; also valid as bytecodes
44 public static final int EQ = 27; // ==
45 public static final int NE = 28; // !=
46 public static final int LT = 29; // <
47 public static final int LE = 30; // <=
48 public static final int GT = 31; // >
49 public static final int GE = 32; // >=
50 public static final int SHEQ = 33; // ===
51 public static final int SHNE = 34; // !==
53 // other permissible bytecode tokens
54 public static final int RETURN = 35; // return
55 public static final int TYPEOF = 36; // typeof
56 public static final int BREAK = 37; // break keyword
57 public static final int CONTINUE = 38; // continue keyword
58 public static final int TRY = 39; // try
59 public static final int THROW = 40; // throw
60 public static final int ASSERT = 41; // assert keyword
62 public static final int NAME = 42; // *** identifiers ***
63 public static final int NUMBER = 43; // *** numeric literals ***
64 public static final int STRING = 44; // *** string literals ***
65 public static final int NULL = 45; // null
66 public static final int THIS = 46; // this
67 public static final int FALSE = 47; // false
68 public static final int TRUE = 48; // true
69 public static final int IN = 49; // in
71 public static final int SEMI = 50; // ;
72 public static final int LB = 51; // [
73 public static final int RB = 52; // ]
74 public static final int LC = 53; // {
75 public static final int RC = 54; // }
76 public static final int LP = 55; // (
77 public static final int RP = 56; // )
78 public static final int COMMA = 57; // ,
79 public static final int ASSIGN = 58; // =
80 public static final int HOOK = 59; // ?
81 public static final int COLON = 60; // :
82 public static final int INC = 61; // ++
83 public static final int DEC = 62; // --
84 public static final int DOT = 63; // .
85 public static final int FUNCTION = 64; // function
86 public static final int IF = 65; // if keyword
87 public static final int ELSE = 66; // else keyword
88 public static final int SWITCH = 67; // switch keyword
89 public static final int CASE = 68; // case keyword
90 public static final int DEFAULT = 69; // default keyword
91 public static final int WHILE = 70; // while keyword
92 public static final int DO = 71; // do keyword
93 public static final int FOR = 72; // for keyword
94 public static final int VAR = 73; // var keyword
95 public static final int WITH = 74; // with keyword
96 public static final int CATCH = 75; // catch keyword
97 public static final int FINALLY = 76; // finally keyword
98 public static final int RESERVED = 77; // reserved keyword
99 public static final int GRAMMAR = 78; // the grammar-definition operator (::=)
100 public static final int ADD_TRAP = 79; // the add-trap operator (++=)
101 public static final int DEL_TRAP = 80; // the del-trap operator (--=)
102 public static final int CASCADE = 81; // cascade expression - arg==true for write cascade
104 public static final int MAX_TOKEN = DEL_TRAP;
106 public final static String[] codeToString = new String[] {
107 "BITOR", "ASSIGN_BITOR", "BITXOR", "ASSIGN_BITXOR", "BITAND",
108 "ASSIGN_BITAND", "LSH", "ASSIGN_LSH", "RSH", "ASSIGN_RSH",
109 "URSH", "ASSIGN_URSH", "ADD", "ASSIGN_ADD", "SUB",
110 "ASSIGN_SUB", "MUL", "ASSIGN_MUL", "DIV", "ASSIGN_DIV", "MOD",
111 "ASSIGN_MOD", "BITNOT", "ASSIGN_BITNOT", "OR", "AND", "BANG",
112 "EQ", "NE", "LT", "LE", "GT", "GE", "SHEQ", "SHNE", "RETURN",
113 "TYPEOF", "BREAK", "CONTINUE", "TRY", "THROW", "ASSERT", "NAME",
114 "NUMBER", "STRING", "NULL", "THIS", "FALSE", "TRUE", "IN",
115 "SEMI", "LB", "RB", "LC", "RC", "LP", "RP", "COMMA", "ASSIGN",
116 "HOOK", "COLON", "INC", "DEC", "DOT", "FUNCTION", "IF",
117 "ELSE", "SWITCH", "CASE", "DEFAULT", "WHILE", "DO", "FOR",
118 "VAR", "WITH", "CATCH", "FINALLY", "RESERVED", "GRAMMAR",
119 "ADD_TRAP", "DEL_TRAP", "CASCADE"