1 /* 2 * Generating switch for the list of 45 entries: 3 * false 4 * true 5 * null 6 * break 7 * case 8 * catch 9 * const 10 * continue 11 * debugger 12 * default 13 * delete 14 * do 15 * else 16 * finally 17 * for 18 * function 19 * if 20 * in 21 * instanceof 22 * new 23 * return 24 * switch 25 * this 26 * throw 27 * try 28 * typeof 29 * var 30 * void 31 * while 32 * with 33 * import 34 * export 35 * class 36 * extends 37 * super 38 * enum 39 * implements 40 * interface 41 * package 42 * private 43 * protected 44 * public 45 * static 46 * yield 47 * let 48 */ 49 switch (JSKW_LENGTH()) { 50 case 2: 51 if (JSKW_AT(0) == 'd') { 52 if (JSKW_AT(1)=='o') { 53 JSKW_GOT_MATCH(11) /* do */ 54 } 55 JSKW_NO_MATCH() 56 } 57 if (JSKW_AT(0) == 'i') { 58 if (JSKW_AT(1) == 'f') { 59 JSKW_GOT_MATCH(16) /* if */ 60 } 61 if (JSKW_AT(1) == 'n') { 62 JSKW_GOT_MATCH(17) /* in */ 63 } 64 JSKW_NO_MATCH() 65 } 66 JSKW_NO_MATCH() 67 case 3: 68 switch (JSKW_AT(2)) { 69 case 'r': 70 if (JSKW_AT(0) == 'f') { 71 if (JSKW_AT(1)=='o') { 72 JSKW_GOT_MATCH(14) /* for */ 73 } 74 JSKW_NO_MATCH() 75 } 76 if (JSKW_AT(0) == 'v') { 77 if (JSKW_AT(1)=='a') { 78 JSKW_GOT_MATCH(26) /* var */ 79 } 80 JSKW_NO_MATCH() 81 } 82 JSKW_NO_MATCH() 83 case 't': 84 if (JSKW_AT(0)=='l' && JSKW_AT(1)=='e') { 85 JSKW_GOT_MATCH(44) /* let */ 86 } 87 JSKW_NO_MATCH() 88 case 'w': 89 if (JSKW_AT(0)=='n' && JSKW_AT(1)=='e') { 90 JSKW_GOT_MATCH(19) /* new */ 91 } 92 JSKW_NO_MATCH() 93 case 'y': 94 if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') { 95 JSKW_GOT_MATCH(24) /* try */ 96 } 97 JSKW_NO_MATCH() 98 } 99 JSKW_NO_MATCH() 100 case 4: 101 switch (JSKW_AT(2)) { 102 case 'i': 103 if (JSKW_AT(0) == 't') { 104 if (JSKW_AT(3)=='s' && JSKW_AT(1)=='h') { 105 JSKW_GOT_MATCH(22) /* this */ 106 } 107 JSKW_NO_MATCH() 108 } 109 if (JSKW_AT(0) == 'v') { 110 if (JSKW_AT(3)=='d' && JSKW_AT(1)=='o') { 111 JSKW_GOT_MATCH(27) /* void */ 112 } 113 JSKW_NO_MATCH() 114 } 115 JSKW_NO_MATCH() 116 case 'l': 117 if (JSKW_AT(0)=='n' && JSKW_AT(1)=='u' && JSKW_AT(3)=='l') { 118 JSKW_GOT_MATCH(2) /* null */ 119 } 120 JSKW_NO_MATCH() 121 case 's': 122 if (JSKW_AT(1) == 'a') { 123 if (JSKW_AT(0)=='c' && JSKW_AT(3)=='e') { 124 JSKW_GOT_MATCH(4) /* case */ 125 } 126 JSKW_NO_MATCH() 127 } 128 if (JSKW_AT(1) == 'l') { 129 if (JSKW_AT(0)=='e' && JSKW_AT(3)=='e') { 130 JSKW_GOT_MATCH(12) /* else */ 131 } 132 JSKW_NO_MATCH() 133 } 134 JSKW_NO_MATCH() 135 case 't': 136 if (JSKW_AT(0)=='w' && JSKW_AT(1)=='i' && JSKW_AT(3)=='h') { 137 JSKW_GOT_MATCH(29) /* with */ 138 } 139 JSKW_NO_MATCH() 140 case 'u': 141 if (JSKW_AT(0) == 'e') { 142 if (JSKW_AT(3)=='m' && JSKW_AT(1)=='n') { 143 JSKW_GOT_MATCH(35) /* enum */ 144 } 145 JSKW_NO_MATCH() 146 } 147 if (JSKW_AT(0) == 't') { 148 if (JSKW_AT(3)=='e' && JSKW_AT(1)=='r') { 149 JSKW_GOT_MATCH(1) /* true */ 150 } 151 JSKW_NO_MATCH() 152 } 153 JSKW_NO_MATCH() 154 } 155 JSKW_NO_MATCH() 156 case 5: 157 switch (JSKW_AT(3)) { 158 case 'a': 159 if (JSKW_AT(0)=='b' && JSKW_AT(1)=='r' && JSKW_AT(2)=='e' && JSKW_AT(4)=='k') { 160 JSKW_GOT_MATCH(3) /* break */ 161 } 162 JSKW_NO_MATCH() 163 case 'c': 164 if (JSKW_AT(0)=='c' && JSKW_AT(1)=='a' && JSKW_AT(2)=='t' && JSKW_AT(4)=='h') { 165 JSKW_GOT_MATCH(5) /* catch */ 166 } 167 JSKW_NO_MATCH() 168 case 'e': 169 if (JSKW_AT(0)=='s' && JSKW_AT(1)=='u' && JSKW_AT(2)=='p' && JSKW_AT(4)=='r') { 170 JSKW_GOT_MATCH(34) /* super */ 171 } 172 JSKW_NO_MATCH() 173 case 'l': 174 if (JSKW_AT(0) == 'w') { 175 if (JSKW_AT(4)=='e' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') { 176 JSKW_GOT_MATCH(28) /* while */ 177 } 178 JSKW_NO_MATCH() 179 } 180 if (JSKW_AT(0) == 'y') { 181 if (JSKW_AT(4)=='d' && JSKW_AT(1)=='i' && JSKW_AT(2)=='e') { 182 JSKW_GOT_MATCH(43) /* yield */ 183 } 184 JSKW_NO_MATCH() 185 } 186 JSKW_NO_MATCH() 187 case 'o': 188 if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(4)=='w') { 189 JSKW_GOT_MATCH(23) /* throw */ 190 } 191 JSKW_NO_MATCH() 192 case 's': 193 if (JSKW_AT(0) == 'c') { 194 if (JSKW_AT(4) == 's') { 195 if (JSKW_AT(2)=='a' && JSKW_AT(1)=='l') { 196 JSKW_GOT_MATCH(32) /* class */ 197 } 198 JSKW_NO_MATCH() 199 } 200 if (JSKW_AT(4) == 't') { 201 if (JSKW_AT(2)=='n' && JSKW_AT(1)=='o') { 202 JSKW_GOT_MATCH(6) /* const */ 203 } 204 JSKW_NO_MATCH() 205 } 206 JSKW_NO_MATCH() 207 } 208 if (JSKW_AT(0) == 'f') { 209 if (JSKW_AT(4)=='e' && JSKW_AT(1)=='a' && JSKW_AT(2)=='l') { 210 JSKW_GOT_MATCH(0) /* false */ 211 } 212 JSKW_NO_MATCH() 213 } 214 JSKW_NO_MATCH() 215 } 216 JSKW_NO_MATCH() 217 case 6: 218 switch (JSKW_AT(0)) { 219 case 'd': 220 JSKW_TEST_GUESS(10) /* delete */ 221 case 'e': 222 JSKW_TEST_GUESS(31) /* export */ 223 case 'i': 224 JSKW_TEST_GUESS(30) /* import */ 225 case 'p': 226 JSKW_TEST_GUESS(41) /* public */ 227 case 'r': 228 JSKW_TEST_GUESS(20) /* return */ 229 case 's': 230 if (JSKW_AT(1) == 't') { 231 if (JSKW_AT(5)=='c' && JSKW_AT(4)=='i' && JSKW_AT(2)=='a' && JSKW_AT(3)=='t') { 232 JSKW_GOT_MATCH(42) /* static */ 233 } 234 JSKW_NO_MATCH() 235 } 236 if (JSKW_AT(1) == 'w') { 237 if (JSKW_AT(5)=='h' && JSKW_AT(4)=='c' && JSKW_AT(2)=='i' && JSKW_AT(3)=='t') { 238 JSKW_GOT_MATCH(21) /* switch */ 239 } 240 JSKW_NO_MATCH() 241 } 242 JSKW_NO_MATCH() 243 case 't': 244 JSKW_TEST_GUESS(25) /* typeof */ 245 } 246 JSKW_NO_MATCH() 247 case 7: 248 switch (JSKW_AT(0)) { 249 case 'd': 250 JSKW_TEST_GUESS(9) /* default */ 251 case 'e': 252 JSKW_TEST_GUESS(33) /* extends */ 253 case 'f': 254 JSKW_TEST_GUESS(13) /* finally */ 255 case 'p': 256 if (JSKW_AT(1) == 'a') { 257 JSKW_TEST_GUESS(38) /* package */ 258 } 259 if (JSKW_AT(1) == 'r') { 260 JSKW_TEST_GUESS(39) /* private */ 261 } 262 JSKW_NO_MATCH() 263 } 264 JSKW_NO_MATCH() 265 case 8: 266 if (JSKW_AT(2) == 'b') { 267 JSKW_TEST_GUESS(8) /* debugger */ 268 } 269 if (JSKW_AT(2) == 'n') { 270 if (JSKW_AT(0) == 'c') { 271 JSKW_TEST_GUESS(7) /* continue */ 272 } 273 if (JSKW_AT(0) == 'f') { 274 JSKW_TEST_GUESS(15) /* function */ 275 } 276 JSKW_NO_MATCH() 277 } 278 JSKW_NO_MATCH() 279 case 9: 280 if (JSKW_AT(0) == 'i') { 281 JSKW_TEST_GUESS(37) /* interface */ 282 } 283 if (JSKW_AT(0) == 'p') { 284 JSKW_TEST_GUESS(40) /* protected */ 285 } 286 JSKW_NO_MATCH() 287 case 10: 288 if (JSKW_AT(1) == 'n') { 289 JSKW_TEST_GUESS(18) /* instanceof */ 290 } 291 if (JSKW_AT(1) == 'm') { 292 JSKW_TEST_GUESS(36) /* implements */ 293 } 294 JSKW_NO_MATCH() 295 } 296 JSKW_NO_MATCH() 297