1/* Generated by re2c 0.13.5 on Thu Feb 25 21:44:55 2010 */
2/*
3 * Copyright (C) 2009 Google Inc. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 *     * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *     * Redistributions in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following disclaimer
13 * in the documentation and/or other materials provided with the
14 * distribution.
15 *     * Neither the name of Google Inc. nor the names of its
16 * contributors may be used to endorse or promote products derived from
17 * this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32// Generate js file as follows:
33//
34// re2c -isc WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js \
35// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
36// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
37// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
38// | sed 's|[*]cursor|this._charAt(cursor)|' \
39// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
40// | sed 's|{ gotoCase = \([^; continue; };]*\)|{ gotoCase = \1; continue; }|' \
41// | sed 's|unsigned\ int|var|' \
42// | sed 's|var\ yych|case 1: case 1: var yych|'
43
44WebInspector.SourceJavaScriptTokenizer = function()
45{
46    WebInspector.SourceTokenizer.call(this);
47
48    this._keywords = [
49        "null", "true", "false", "break", "case", "catch", "const", "default", "finally", "for",
50        "instanceof", "new", "var", "continue", "function", "return", "void", "delete", "if",
51        "this", "do", "while", "else", "in", "switch", "throw", "try", "typeof", "debugger",
52        "class", "enum", "export", "extends", "import", "super", "get", "set", "with"
53    ].keySet();
54
55    this._lexConditions = {
56        DIV: 0,
57        NODIV: 1,
58        COMMENT: 2,
59        DSTRING: 3,
60        SSTRING: 4,
61        REGEX: 5
62    };
63
64    this.case_DIV = 1000;
65    this.case_NODIV = 1001;
66    this.case_COMMENT = 1002;
67    this.case_DSTRING = 1003;
68    this.case_SSTRING = 1004;
69    this.case_REGEX = 1005;
70
71    this.initialCondition = { lexCondition: this._lexConditions.NODIV }
72    this.condition = this.initialCondition;
73}
74
75WebInspector.SourceJavaScriptTokenizer.prototype = {
76    nextToken: function(cursor)
77    {
78        var cursorOnEnter = cursor;
79        var gotoCase = 1;
80        while (1) {
81            switch (gotoCase)
82            // Following comment is replaced with generated state machine.
83
84        {
85            case 1: var yych;
86            var yyaccept = 0;
87            if (this.getLexCondition() < 3) {
88                if (this.getLexCondition() < 1) {
89                    { gotoCase = this.case_DIV; continue; };
90                } else {
91                    if (this.getLexCondition() < 2) {
92                        { gotoCase = this.case_NODIV; continue; };
93                    } else {
94                        { gotoCase = this.case_COMMENT; continue; };
95                    }
96                }
97            } else {
98                if (this.getLexCondition() < 4) {
99                    { gotoCase = this.case_DSTRING; continue; };
100                } else {
101                    if (this.getLexCondition() < 5) {
102                        { gotoCase = this.case_SSTRING; continue; };
103                    } else {
104                        { gotoCase = this.case_REGEX; continue; };
105                    }
106                }
107            }
108/* *********************************** */
109case this.case_COMMENT:
110
111            yych = this._charAt(cursor);
112            if (yych <= '\f') {
113                if (yych == '\n') { gotoCase = 4; continue; };
114                { gotoCase = 3; continue; };
115            } else {
116                if (yych <= '\r') { gotoCase = 4; continue; };
117                if (yych == '*') { gotoCase = 6; continue; };
118                { gotoCase = 3; continue; };
119            }
120case 2:
121            { this.tokenType = "javascript-comment"; return cursor; }
122case 3:
123            yyaccept = 0;
124            yych = this._charAt(YYMARKER = ++cursor);
125            { gotoCase = 12; continue; };
126case 4:
127            ++cursor;
128            { this.tokenType = null; return cursor; }
129case 6:
130            yyaccept = 1;
131            yych = this._charAt(YYMARKER = ++cursor);
132            if (yych == '*') { gotoCase = 9; continue; };
133            if (yych != '/') { gotoCase = 11; continue; };
134case 7:
135            ++cursor;
136            this.setLexCondition(this._lexConditions.NODIV);
137            { this.tokenType = "javascript-comment"; return cursor; }
138case 9:
139            ++cursor;
140            yych = this._charAt(cursor);
141            if (yych == '*') { gotoCase = 9; continue; };
142            if (yych == '/') { gotoCase = 7; continue; };
143case 11:
144            yyaccept = 0;
145            YYMARKER = ++cursor;
146            yych = this._charAt(cursor);
147case 12:
148            if (yych <= '\f') {
149                if (yych == '\n') { gotoCase = 2; continue; };
150                { gotoCase = 11; continue; };
151            } else {
152                if (yych <= '\r') { gotoCase = 2; continue; };
153                if (yych == '*') { gotoCase = 9; continue; };
154                { gotoCase = 11; continue; };
155            }
156/* *********************************** */
157case this.case_DIV:
158            yych = this._charAt(cursor);
159            if (yych <= '9') {
160                if (yych <= '(') {
161                    if (yych <= '#') {
162                        if (yych <= ' ') { gotoCase = 15; continue; };
163                        if (yych <= '!') { gotoCase = 17; continue; };
164                        if (yych <= '"') { gotoCase = 19; continue; };
165                    } else {
166                        if (yych <= '%') {
167                            if (yych <= '$') { gotoCase = 20; continue; };
168                            { gotoCase = 22; continue; };
169                        } else {
170                            if (yych <= '&') { gotoCase = 23; continue; };
171                            if (yych <= '\'') { gotoCase = 24; continue; };
172                            { gotoCase = 25; continue; };
173                        }
174                    }
175                } else {
176                    if (yych <= ',') {
177                        if (yych <= ')') { gotoCase = 26; continue; };
178                        if (yych <= '*') { gotoCase = 28; continue; };
179                        if (yych <= '+') { gotoCase = 29; continue; };
180                        { gotoCase = 25; continue; };
181                    } else {
182                        if (yych <= '.') {
183                            if (yych <= '-') { gotoCase = 30; continue; };
184                            { gotoCase = 31; continue; };
185                        } else {
186                            if (yych <= '/') { gotoCase = 32; continue; };
187                            if (yych <= '0') { gotoCase = 34; continue; };
188                            { gotoCase = 36; continue; };
189                        }
190                    }
191                }
192            } else {
193                if (yych <= '\\') {
194                    if (yych <= '>') {
195                        if (yych <= ';') { gotoCase = 25; continue; };
196                        if (yych <= '<') { gotoCase = 37; continue; };
197                        if (yych <= '=') { gotoCase = 38; continue; };
198                        { gotoCase = 39; continue; };
199                    } else {
200                        if (yych <= '@') {
201                            if (yych <= '?') { gotoCase = 25; continue; };
202                        } else {
203                            if (yych <= 'Z') { gotoCase = 20; continue; };
204                            if (yych <= '[') { gotoCase = 25; continue; };
205                            { gotoCase = 40; continue; };
206                        }
207                    }
208                } else {
209                    if (yych <= 'z') {
210                        if (yych <= '^') {
211                            if (yych <= ']') { gotoCase = 25; continue; };
212                            { gotoCase = 41; continue; };
213                        } else {
214                            if (yych != '`') { gotoCase = 20; continue; };
215                        }
216                    } else {
217                        if (yych <= '|') {
218                            if (yych <= '{') { gotoCase = 25; continue; };
219                            { gotoCase = 42; continue; };
220                        } else {
221                            if (yych <= '~') { gotoCase = 25; continue; };
222                            if (yych >= 0x80) { gotoCase = 20; continue; };
223                        }
224                    }
225                }
226            }
227case 15:
228            ++cursor;
229case 16:
230            { this.tokenType = null; return cursor; }
231case 17:
232            ++cursor;
233            if ((yych = this._charAt(cursor)) == '=') { gotoCase = 115; continue; };
234case 18:
235            this.setLexCondition(this._lexConditions.NODIV);
236            { this.tokenType = null; return cursor; }
237case 19:
238            yyaccept = 0;
239            yych = this._charAt(YYMARKER = ++cursor);
240            if (yych == '\n') { gotoCase = 16; continue; };
241            if (yych == '\r') { gotoCase = 16; continue; };
242            { gotoCase = 107; continue; };
243case 20:
244            yyaccept = 1;
245            yych = this._charAt(YYMARKER = ++cursor);
246            { gotoCase = 50; continue; };
247case 21:
248            {
249                    var token = this._line.substring(cursorOnEnter, cursor);
250                    if (token in this._keywords)
251                        this.tokenType = "javascript-keyword";
252                    else
253                        this.tokenType = "javascript-ident";
254                    return cursor;
255                }
256case 22:
257            yych = this._charAt(++cursor);
258            if (yych == '=') { gotoCase = 43; continue; };
259            { gotoCase = 18; continue; };
260case 23:
261            yych = this._charAt(++cursor);
262            if (yych == '&') { gotoCase = 43; continue; };
263            if (yych == '=') { gotoCase = 43; continue; };
264            { gotoCase = 18; continue; };
265case 24:
266            yyaccept = 0;
267            yych = this._charAt(YYMARKER = ++cursor);
268            if (yych == '\n') { gotoCase = 16; continue; };
269            if (yych == '\r') { gotoCase = 16; continue; };
270            { gotoCase = 96; continue; };
271case 25:
272            yych = this._charAt(++cursor);
273            { gotoCase = 18; continue; };
274case 26:
275            ++cursor;
276            { this.tokenType = null; return cursor; }
277case 28:
278            yych = this._charAt(++cursor);
279            if (yych == '=') { gotoCase = 43; continue; };
280            { gotoCase = 18; continue; };
281case 29:
282            yych = this._charAt(++cursor);
283            if (yych == '+') { gotoCase = 43; continue; };
284            if (yych == '=') { gotoCase = 43; continue; };
285            { gotoCase = 18; continue; };
286case 30:
287            yych = this._charAt(++cursor);
288            if (yych == '-') { gotoCase = 43; continue; };
289            if (yych == '=') { gotoCase = 43; continue; };
290            { gotoCase = 18; continue; };
291case 31:
292            yych = this._charAt(++cursor);
293            if (yych <= '/') { gotoCase = 18; continue; };
294            if (yych <= '9') { gotoCase = 89; continue; };
295            { gotoCase = 18; continue; };
296case 32:
297            yyaccept = 2;
298            yych = this._charAt(YYMARKER = ++cursor);
299            if (yych <= '.') {
300                if (yych == '*') { gotoCase = 78; continue; };
301            } else {
302                if (yych <= '/') { gotoCase = 80; continue; };
303                if (yych == '=') { gotoCase = 77; continue; };
304            }
305case 33:
306            this.setLexCondition(this._lexConditions.NODIV);
307            { this.tokenType = null; return cursor; }
308case 34:
309            yyaccept = 3;
310            yych = this._charAt(YYMARKER = ++cursor);
311            if (yych <= 'E') {
312                if (yych <= '/') {
313                    if (yych == '.') { gotoCase = 63; continue; };
314                } else {
315                    if (yych <= '7') { gotoCase = 72; continue; };
316                    if (yych >= 'E') { gotoCase = 62; continue; };
317                }
318            } else {
319                if (yych <= 'd') {
320                    if (yych == 'X') { gotoCase = 74; continue; };
321                } else {
322                    if (yych <= 'e') { gotoCase = 62; continue; };
323                    if (yych == 'x') { gotoCase = 74; continue; };
324                }
325            }
326case 35:
327            { this.tokenType = "javascript-number"; return cursor; }
328case 36:
329            yyaccept = 3;
330            yych = this._charAt(YYMARKER = ++cursor);
331            if (yych <= '9') {
332                if (yych == '.') { gotoCase = 63; continue; };
333                if (yych <= '/') { gotoCase = 35; continue; };
334                { gotoCase = 60; continue; };
335            } else {
336                if (yych <= 'E') {
337                    if (yych <= 'D') { gotoCase = 35; continue; };
338                    { gotoCase = 62; continue; };
339                } else {
340                    if (yych == 'e') { gotoCase = 62; continue; };
341                    { gotoCase = 35; continue; };
342                }
343            }
344case 37:
345            yych = this._charAt(++cursor);
346            if (yych <= ';') { gotoCase = 18; continue; };
347            if (yych <= '<') { gotoCase = 59; continue; };
348            if (yych <= '=') { gotoCase = 43; continue; };
349            { gotoCase = 18; continue; };
350case 38:
351            yych = this._charAt(++cursor);
352            if (yych == '=') { gotoCase = 58; continue; };
353            { gotoCase = 18; continue; };
354case 39:
355            yych = this._charAt(++cursor);
356            if (yych <= '<') { gotoCase = 18; continue; };
357            if (yych <= '=') { gotoCase = 43; continue; };
358            if (yych <= '>') { gotoCase = 56; continue; };
359            { gotoCase = 18; continue; };
360case 40:
361            yyaccept = 0;
362            yych = this._charAt(YYMARKER = ++cursor);
363            if (yych == 'u') { gotoCase = 44; continue; };
364            { gotoCase = 16; continue; };
365case 41:
366            yych = this._charAt(++cursor);
367            if (yych == '=') { gotoCase = 43; continue; };
368            { gotoCase = 18; continue; };
369case 42:
370            yych = this._charAt(++cursor);
371            if (yych == '=') { gotoCase = 43; continue; };
372            if (yych != '|') { gotoCase = 18; continue; };
373case 43:
374            yych = this._charAt(++cursor);
375            { gotoCase = 18; continue; };
376case 44:
377            yych = this._charAt(++cursor);
378            if (yych <= '@') {
379                if (yych <= '/') { gotoCase = 45; continue; };
380                if (yych <= '9') { gotoCase = 46; continue; };
381            } else {
382                if (yych <= 'F') { gotoCase = 46; continue; };
383                if (yych <= '`') { gotoCase = 45; continue; };
384                if (yych <= 'f') { gotoCase = 46; continue; };
385            }
386case 45:
387            cursor = YYMARKER;
388            if (yyaccept <= 1) {
389                if (yyaccept <= 0) {
390                    { gotoCase = 16; continue; };
391                } else {
392                    { gotoCase = 21; continue; };
393                }
394            } else {
395                if (yyaccept <= 2) {
396                    { gotoCase = 33; continue; };
397                } else {
398                    { gotoCase = 35; continue; };
399                }
400            }
401case 46:
402            yych = this._charAt(++cursor);
403            if (yych <= '@') {
404                if (yych <= '/') { gotoCase = 45; continue; };
405                if (yych >= ':') { gotoCase = 45; continue; };
406            } else {
407                if (yych <= 'F') { gotoCase = 47; continue; };
408                if (yych <= '`') { gotoCase = 45; continue; };
409                if (yych >= 'g') { gotoCase = 45; continue; };
410            }
411case 47:
412            yych = this._charAt(++cursor);
413            if (yych <= '@') {
414                if (yych <= '/') { gotoCase = 45; continue; };
415                if (yych >= ':') { gotoCase = 45; continue; };
416            } else {
417                if (yych <= 'F') { gotoCase = 48; continue; };
418                if (yych <= '`') { gotoCase = 45; continue; };
419                if (yych >= 'g') { gotoCase = 45; continue; };
420            }
421case 48:
422            yych = this._charAt(++cursor);
423            if (yych <= '@') {
424                if (yych <= '/') { gotoCase = 45; continue; };
425                if (yych >= ':') { gotoCase = 45; continue; };
426            } else {
427                if (yych <= 'F') { gotoCase = 49; continue; };
428                if (yych <= '`') { gotoCase = 45; continue; };
429                if (yych >= 'g') { gotoCase = 45; continue; };
430            }
431case 49:
432            yyaccept = 1;
433            YYMARKER = ++cursor;
434            yych = this._charAt(cursor);
435case 50:
436            if (yych <= '[') {
437                if (yych <= '/') {
438                    if (yych == '$') { gotoCase = 49; continue; };
439                    { gotoCase = 21; continue; };
440                } else {
441                    if (yych <= '9') { gotoCase = 49; continue; };
442                    if (yych <= '@') { gotoCase = 21; continue; };
443                    if (yych <= 'Z') { gotoCase = 49; continue; };
444                    { gotoCase = 21; continue; };
445                }
446            } else {
447                if (yych <= '_') {
448                    if (yych <= '\\') { gotoCase = 51; continue; };
449                    if (yych <= '^') { gotoCase = 21; continue; };
450                    { gotoCase = 49; continue; };
451                } else {
452                    if (yych <= '`') { gotoCase = 21; continue; };
453                    if (yych <= 'z') { gotoCase = 49; continue; };
454                    if (yych <= 0x7F) { gotoCase = 21; continue; };
455                    { gotoCase = 49; continue; };
456                }
457            }
458case 51:
459            ++cursor;
460            yych = this._charAt(cursor);
461            if (yych != 'u') { gotoCase = 45; continue; };
462            ++cursor;
463            yych = this._charAt(cursor);
464            if (yych <= '@') {
465                if (yych <= '/') { gotoCase = 45; continue; };
466                if (yych >= ':') { gotoCase = 45; continue; };
467            } else {
468                if (yych <= 'F') { gotoCase = 53; continue; };
469                if (yych <= '`') { gotoCase = 45; continue; };
470                if (yych >= 'g') { gotoCase = 45; continue; };
471            }
472case 53:
473            ++cursor;
474            yych = this._charAt(cursor);
475            if (yych <= '@') {
476                if (yych <= '/') { gotoCase = 45; continue; };
477                if (yych >= ':') { gotoCase = 45; continue; };
478            } else {
479                if (yych <= 'F') { gotoCase = 54; continue; };
480                if (yych <= '`') { gotoCase = 45; continue; };
481                if (yych >= 'g') { gotoCase = 45; continue; };
482            }
483case 54:
484            ++cursor;
485            yych = this._charAt(cursor);
486            if (yych <= '@') {
487                if (yych <= '/') { gotoCase = 45; continue; };
488                if (yych >= ':') { gotoCase = 45; continue; };
489            } else {
490                if (yych <= 'F') { gotoCase = 55; continue; };
491                if (yych <= '`') { gotoCase = 45; continue; };
492                if (yych >= 'g') { gotoCase = 45; continue; };
493            }
494case 55:
495            ++cursor;
496            yych = this._charAt(cursor);
497            if (yych <= '@') {
498                if (yych <= '/') { gotoCase = 45; continue; };
499                if (yych <= '9') { gotoCase = 49; continue; };
500                { gotoCase = 45; continue; };
501            } else {
502                if (yych <= 'F') { gotoCase = 49; continue; };
503                if (yych <= '`') { gotoCase = 45; continue; };
504                if (yych <= 'f') { gotoCase = 49; continue; };
505                { gotoCase = 45; continue; };
506            }
507case 56:
508            yych = this._charAt(++cursor);
509            if (yych <= '<') { gotoCase = 18; continue; };
510            if (yych <= '=') { gotoCase = 43; continue; };
511            if (yych >= '?') { gotoCase = 18; continue; };
512            yych = this._charAt(++cursor);
513            if (yych == '=') { gotoCase = 43; continue; };
514            { gotoCase = 18; continue; };
515case 58:
516            yych = this._charAt(++cursor);
517            if (yych == '=') { gotoCase = 43; continue; };
518            { gotoCase = 18; continue; };
519case 59:
520            yych = this._charAt(++cursor);
521            if (yych == '=') { gotoCase = 43; continue; };
522            { gotoCase = 18; continue; };
523case 60:
524            yyaccept = 3;
525            YYMARKER = ++cursor;
526            yych = this._charAt(cursor);
527            if (yych <= '9') {
528                if (yych == '.') { gotoCase = 63; continue; };
529                if (yych <= '/') { gotoCase = 35; continue; };
530                { gotoCase = 60; continue; };
531            } else {
532                if (yych <= 'E') {
533                    if (yych <= 'D') { gotoCase = 35; continue; };
534                } else {
535                    if (yych != 'e') { gotoCase = 35; continue; };
536                }
537            }
538case 62:
539            yych = this._charAt(++cursor);
540            if (yych <= ',') {
541                if (yych == '+') { gotoCase = 69; continue; };
542                { gotoCase = 45; continue; };
543            } else {
544                if (yych <= '-') { gotoCase = 69; continue; };
545                if (yych <= '/') { gotoCase = 45; continue; };
546                if (yych <= '9') { gotoCase = 70; continue; };
547                { gotoCase = 45; continue; };
548            }
549case 63:
550            yyaccept = 3;
551            YYMARKER = ++cursor;
552            yych = this._charAt(cursor);
553            if (yych <= 'D') {
554                if (yych <= '/') { gotoCase = 35; continue; };
555                if (yych <= '9') { gotoCase = 63; continue; };
556                { gotoCase = 35; continue; };
557            } else {
558                if (yych <= 'E') { gotoCase = 65; continue; };
559                if (yych != 'e') { gotoCase = 35; continue; };
560            }
561case 65:
562            yych = this._charAt(++cursor);
563            if (yych <= ',') {
564                if (yych != '+') { gotoCase = 45; continue; };
565            } else {
566                if (yych <= '-') { gotoCase = 66; continue; };
567                if (yych <= '/') { gotoCase = 45; continue; };
568                if (yych <= '9') { gotoCase = 67; continue; };
569                { gotoCase = 45; continue; };
570            }
571case 66:
572            yych = this._charAt(++cursor);
573            if (yych <= '/') { gotoCase = 45; continue; };
574            if (yych >= ':') { gotoCase = 45; continue; };
575case 67:
576            ++cursor;
577            yych = this._charAt(cursor);
578            if (yych <= '/') { gotoCase = 35; continue; };
579            if (yych <= '9') { gotoCase = 67; continue; };
580            { gotoCase = 35; continue; };
581case 69:
582            yych = this._charAt(++cursor);
583            if (yych <= '/') { gotoCase = 45; continue; };
584            if (yych >= ':') { gotoCase = 45; continue; };
585case 70:
586            ++cursor;
587            yych = this._charAt(cursor);
588            if (yych <= '/') { gotoCase = 35; continue; };
589            if (yych <= '9') { gotoCase = 70; continue; };
590            { gotoCase = 35; continue; };
591case 72:
592            ++cursor;
593            yych = this._charAt(cursor);
594            if (yych <= '/') { gotoCase = 35; continue; };
595            if (yych <= '7') { gotoCase = 72; continue; };
596            { gotoCase = 35; continue; };
597case 74:
598            yych = this._charAt(++cursor);
599            if (yych <= '@') {
600                if (yych <= '/') { gotoCase = 45; continue; };
601                if (yych >= ':') { gotoCase = 45; continue; };
602            } else {
603                if (yych <= 'F') { gotoCase = 75; continue; };
604                if (yych <= '`') { gotoCase = 45; continue; };
605                if (yych >= 'g') { gotoCase = 45; continue; };
606            }
607case 75:
608            ++cursor;
609            yych = this._charAt(cursor);
610            if (yych <= '@') {
611                if (yych <= '/') { gotoCase = 35; continue; };
612                if (yych <= '9') { gotoCase = 75; continue; };
613                { gotoCase = 35; continue; };
614            } else {
615                if (yych <= 'F') { gotoCase = 75; continue; };
616                if (yych <= '`') { gotoCase = 35; continue; };
617                if (yych <= 'f') { gotoCase = 75; continue; };
618                { gotoCase = 35; continue; };
619            }
620case 77:
621            yych = this._charAt(++cursor);
622            { gotoCase = 33; continue; };
623case 78:
624            ++cursor;
625            yych = this._charAt(cursor);
626            if (yych <= '\f') {
627                if (yych == '\n') { gotoCase = 85; continue; };
628                { gotoCase = 78; continue; };
629            } else {
630                if (yych <= '\r') { gotoCase = 85; continue; };
631                if (yych == '*') { gotoCase = 83; continue; };
632                { gotoCase = 78; continue; };
633            }
634case 80:
635            ++cursor;
636            yych = this._charAt(cursor);
637            if (yych == '\n') { gotoCase = 82; continue; };
638            if (yych != '\r') { gotoCase = 80; continue; };
639case 82:
640            { this.tokenType = "javascript-comment"; return cursor; }
641case 83:
642            ++cursor;
643            yych = this._charAt(cursor);
644            if (yych == '*') { gotoCase = 83; continue; };
645            if (yych == '/') { gotoCase = 87; continue; };
646            { gotoCase = 78; continue; };
647case 85:
648            ++cursor;
649            this.setLexCondition(this._lexConditions.COMMENT);
650            { this.tokenType = "javascript-comment"; return cursor; }
651case 87:
652            ++cursor;
653            { this.tokenType = "javascript-comment"; return cursor; }
654case 89:
655            yyaccept = 3;
656            YYMARKER = ++cursor;
657            yych = this._charAt(cursor);
658            if (yych <= 'D') {
659                if (yych <= '/') { gotoCase = 35; continue; };
660                if (yych <= '9') { gotoCase = 89; continue; };
661                { gotoCase = 35; continue; };
662            } else {
663                if (yych <= 'E') { gotoCase = 91; continue; };
664                if (yych != 'e') { gotoCase = 35; continue; };
665            }
666case 91:
667            yych = this._charAt(++cursor);
668            if (yych <= ',') {
669                if (yych != '+') { gotoCase = 45; continue; };
670            } else {
671                if (yych <= '-') { gotoCase = 92; continue; };
672                if (yych <= '/') { gotoCase = 45; continue; };
673                if (yych <= '9') { gotoCase = 93; continue; };
674                { gotoCase = 45; continue; };
675            }
676case 92:
677            yych = this._charAt(++cursor);
678            if (yych <= '/') { gotoCase = 45; continue; };
679            if (yych >= ':') { gotoCase = 45; continue; };
680case 93:
681            ++cursor;
682            yych = this._charAt(cursor);
683            if (yych <= '/') { gotoCase = 35; continue; };
684            if (yych <= '9') { gotoCase = 93; continue; };
685            { gotoCase = 35; continue; };
686case 95:
687            ++cursor;
688            yych = this._charAt(cursor);
689case 96:
690            if (yych <= '\r') {
691                if (yych == '\n') { gotoCase = 45; continue; };
692                if (yych <= '\f') { gotoCase = 95; continue; };
693                { gotoCase = 45; continue; };
694            } else {
695                if (yych <= '\'') {
696                    if (yych <= '&') { gotoCase = 95; continue; };
697                    { gotoCase = 98; continue; };
698                } else {
699                    if (yych != '\\') { gotoCase = 95; continue; };
700                }
701            }
702            ++cursor;
703            yych = this._charAt(cursor);
704            if (yych <= 'a') {
705                if (yych <= '!') {
706                    if (yych <= '\n') {
707                        if (yych <= '\t') { gotoCase = 45; continue; };
708                        { gotoCase = 101; continue; };
709                    } else {
710                        if (yych == '\r') { gotoCase = 101; continue; };
711                        { gotoCase = 45; continue; };
712                    }
713                } else {
714                    if (yych <= '\'') {
715                        if (yych <= '"') { gotoCase = 95; continue; };
716                        if (yych <= '&') { gotoCase = 45; continue; };
717                        { gotoCase = 95; continue; };
718                    } else {
719                        if (yych == '\\') { gotoCase = 95; continue; };
720                        { gotoCase = 45; continue; };
721                    }
722                }
723            } else {
724                if (yych <= 'q') {
725                    if (yych <= 'f') {
726                        if (yych <= 'b') { gotoCase = 95; continue; };
727                        if (yych <= 'e') { gotoCase = 45; continue; };
728                        { gotoCase = 95; continue; };
729                    } else {
730                        if (yych == 'n') { gotoCase = 95; continue; };
731                        { gotoCase = 45; continue; };
732                    }
733                } else {
734                    if (yych <= 't') {
735                        if (yych == 's') { gotoCase = 45; continue; };
736                        { gotoCase = 95; continue; };
737                    } else {
738                        if (yych <= 'u') { gotoCase = 100; continue; };
739                        if (yych <= 'v') { gotoCase = 95; continue; };
740                        { gotoCase = 45; continue; };
741                    }
742                }
743            }
744case 98:
745            ++cursor;
746            { this.tokenType = "javascript-string"; return cursor; }
747case 100:
748            ++cursor;
749            yych = this._charAt(cursor);
750            if (yych <= '@') {
751                if (yych <= '/') { gotoCase = 45; continue; };
752                if (yych <= '9') { gotoCase = 103; continue; };
753                { gotoCase = 45; continue; };
754            } else {
755                if (yych <= 'F') { gotoCase = 103; continue; };
756                if (yych <= '`') { gotoCase = 45; continue; };
757                if (yych <= 'f') { gotoCase = 103; continue; };
758                { gotoCase = 45; continue; };
759            }
760case 101:
761            ++cursor;
762            this.setLexCondition(this._lexConditions.SSTRING);
763            { this.tokenType = "javascript-string"; return cursor; }
764case 103:
765            ++cursor;
766            yych = this._charAt(cursor);
767            if (yych <= '@') {
768                if (yych <= '/') { gotoCase = 45; continue; };
769                if (yych >= ':') { gotoCase = 45; continue; };
770            } else {
771                if (yych <= 'F') { gotoCase = 104; continue; };
772                if (yych <= '`') { gotoCase = 45; continue; };
773                if (yych >= 'g') { gotoCase = 45; continue; };
774            }
775case 104:
776            ++cursor;
777            yych = this._charAt(cursor);
778            if (yych <= '@') {
779                if (yych <= '/') { gotoCase = 45; continue; };
780                if (yych >= ':') { gotoCase = 45; continue; };
781            } else {
782                if (yych <= 'F') { gotoCase = 105; continue; };
783                if (yych <= '`') { gotoCase = 45; continue; };
784                if (yych >= 'g') { gotoCase = 45; continue; };
785            }
786case 105:
787            ++cursor;
788            yych = this._charAt(cursor);
789            if (yych <= '@') {
790                if (yych <= '/') { gotoCase = 45; continue; };
791                if (yych <= '9') { gotoCase = 95; continue; };
792                { gotoCase = 45; continue; };
793            } else {
794                if (yych <= 'F') { gotoCase = 95; continue; };
795                if (yych <= '`') { gotoCase = 45; continue; };
796                if (yych <= 'f') { gotoCase = 95; continue; };
797                { gotoCase = 45; continue; };
798            }
799case 106:
800            ++cursor;
801            yych = this._charAt(cursor);
802case 107:
803            if (yych <= '\r') {
804                if (yych == '\n') { gotoCase = 45; continue; };
805                if (yych <= '\f') { gotoCase = 106; continue; };
806                { gotoCase = 45; continue; };
807            } else {
808                if (yych <= '"') {
809                    if (yych <= '!') { gotoCase = 106; continue; };
810                    { gotoCase = 98; continue; };
811                } else {
812                    if (yych != '\\') { gotoCase = 106; continue; };
813                }
814            }
815            ++cursor;
816            yych = this._charAt(cursor);
817            if (yych <= 'a') {
818                if (yych <= '!') {
819                    if (yych <= '\n') {
820                        if (yych <= '\t') { gotoCase = 45; continue; };
821                        { gotoCase = 110; continue; };
822                    } else {
823                        if (yych == '\r') { gotoCase = 110; continue; };
824                        { gotoCase = 45; continue; };
825                    }
826                } else {
827                    if (yych <= '\'') {
828                        if (yych <= '"') { gotoCase = 106; continue; };
829                        if (yych <= '&') { gotoCase = 45; continue; };
830                        { gotoCase = 106; continue; };
831                    } else {
832                        if (yych == '\\') { gotoCase = 106; continue; };
833                        { gotoCase = 45; continue; };
834                    }
835                }
836            } else {
837                if (yych <= 'q') {
838                    if (yych <= 'f') {
839                        if (yych <= 'b') { gotoCase = 106; continue; };
840                        if (yych <= 'e') { gotoCase = 45; continue; };
841                        { gotoCase = 106; continue; };
842                    } else {
843                        if (yych == 'n') { gotoCase = 106; continue; };
844                        { gotoCase = 45; continue; };
845                    }
846                } else {
847                    if (yych <= 't') {
848                        if (yych == 's') { gotoCase = 45; continue; };
849                        { gotoCase = 106; continue; };
850                    } else {
851                        if (yych <= 'u') { gotoCase = 109; continue; };
852                        if (yych <= 'v') { gotoCase = 106; continue; };
853                        { gotoCase = 45; continue; };
854                    }
855                }
856            }
857case 109:
858            ++cursor;
859            yych = this._charAt(cursor);
860            if (yych <= '@') {
861                if (yych <= '/') { gotoCase = 45; continue; };
862                if (yych <= '9') { gotoCase = 112; continue; };
863                { gotoCase = 45; continue; };
864            } else {
865                if (yych <= 'F') { gotoCase = 112; continue; };
866                if (yych <= '`') { gotoCase = 45; continue; };
867                if (yych <= 'f') { gotoCase = 112; continue; };
868                { gotoCase = 45; continue; };
869            }
870case 110:
871            ++cursor;
872            this.setLexCondition(this._lexConditions.DSTRING);
873            { this.tokenType = "javascript-string"; return cursor; }
874case 112:
875            ++cursor;
876            yych = this._charAt(cursor);
877            if (yych <= '@') {
878                if (yych <= '/') { gotoCase = 45; continue; };
879                if (yych >= ':') { gotoCase = 45; continue; };
880            } else {
881                if (yych <= 'F') { gotoCase = 113; continue; };
882                if (yych <= '`') { gotoCase = 45; continue; };
883                if (yych >= 'g') { gotoCase = 45; continue; };
884            }
885case 113:
886            ++cursor;
887            yych = this._charAt(cursor);
888            if (yych <= '@') {
889                if (yych <= '/') { gotoCase = 45; continue; };
890                if (yych >= ':') { gotoCase = 45; continue; };
891            } else {
892                if (yych <= 'F') { gotoCase = 114; continue; };
893                if (yych <= '`') { gotoCase = 45; continue; };
894                if (yych >= 'g') { gotoCase = 45; continue; };
895            }
896case 114:
897            ++cursor;
898            yych = this._charAt(cursor);
899            if (yych <= '@') {
900                if (yych <= '/') { gotoCase = 45; continue; };
901                if (yych <= '9') { gotoCase = 106; continue; };
902                { gotoCase = 45; continue; };
903            } else {
904                if (yych <= 'F') { gotoCase = 106; continue; };
905                if (yych <= '`') { gotoCase = 45; continue; };
906                if (yych <= 'f') { gotoCase = 106; continue; };
907                { gotoCase = 45; continue; };
908            }
909case 115:
910            ++cursor;
911            if ((yych = this._charAt(cursor)) == '=') { gotoCase = 43; continue; };
912            { gotoCase = 18; continue; };
913/* *********************************** */
914case this.case_DSTRING:
915            yych = this._charAt(cursor);
916            if (yych <= '\r') {
917                if (yych == '\n') { gotoCase = 120; continue; };
918                if (yych <= '\f') { gotoCase = 119; continue; };
919                { gotoCase = 120; continue; };
920            } else {
921                if (yych <= '"') {
922                    if (yych <= '!') { gotoCase = 119; continue; };
923                    { gotoCase = 122; continue; };
924                } else {
925                    if (yych == '\\') { gotoCase = 124; continue; };
926                    { gotoCase = 119; continue; };
927                }
928            }
929case 118:
930            { this.tokenType = "javascript-string"; return cursor; }
931case 119:
932            yyaccept = 0;
933            yych = this._charAt(YYMARKER = ++cursor);
934            { gotoCase = 126; continue; };
935case 120:
936            ++cursor;
937case 121:
938            { this.tokenType = null; return cursor; }
939case 122:
940            ++cursor;
941case 123:
942            this.setLexCondition(this._lexConditions.NODIV);
943            { this.tokenType = "javascript-string"; return cursor; }
944case 124:
945            yyaccept = 1;
946            yych = this._charAt(YYMARKER = ++cursor);
947            if (yych <= 'e') {
948                if (yych <= '\'') {
949                    if (yych == '"') { gotoCase = 125; continue; };
950                    if (yych <= '&') { gotoCase = 121; continue; };
951                } else {
952                    if (yych <= '\\') {
953                        if (yych <= '[') { gotoCase = 121; continue; };
954                    } else {
955                        if (yych != 'b') { gotoCase = 121; continue; };
956                    }
957                }
958            } else {
959                if (yych <= 'r') {
960                    if (yych <= 'm') {
961                        if (yych >= 'g') { gotoCase = 121; continue; };
962                    } else {
963                        if (yych <= 'n') { gotoCase = 125; continue; };
964                        if (yych <= 'q') { gotoCase = 121; continue; };
965                    }
966                } else {
967                    if (yych <= 't') {
968                        if (yych <= 's') { gotoCase = 121; continue; };
969                    } else {
970                        if (yych <= 'u') { gotoCase = 127; continue; };
971                        if (yych >= 'w') { gotoCase = 121; continue; };
972                    }
973                }
974            }
975case 125:
976            yyaccept = 0;
977            YYMARKER = ++cursor;
978            yych = this._charAt(cursor);
979case 126:
980            if (yych <= '\r') {
981                if (yych == '\n') { gotoCase = 118; continue; };
982                if (yych <= '\f') { gotoCase = 125; continue; };
983                { gotoCase = 118; continue; };
984            } else {
985                if (yych <= '"') {
986                    if (yych <= '!') { gotoCase = 125; continue; };
987                    { gotoCase = 133; continue; };
988                } else {
989                    if (yych == '\\') { gotoCase = 132; continue; };
990                    { gotoCase = 125; continue; };
991                }
992            }
993case 127:
994            ++cursor;
995            yych = this._charAt(cursor);
996            if (yych <= '@') {
997                if (yych <= '/') { gotoCase = 128; continue; };
998                if (yych <= '9') { gotoCase = 129; continue; };
999            } else {
1000                if (yych <= 'F') { gotoCase = 129; continue; };
1001                if (yych <= '`') { gotoCase = 128; continue; };
1002                if (yych <= 'f') { gotoCase = 129; continue; };
1003            }
1004case 128:
1005            cursor = YYMARKER;
1006            if (yyaccept <= 0) {
1007                { gotoCase = 118; continue; };
1008            } else {
1009                { gotoCase = 121; continue; };
1010            }
1011case 129:
1012            ++cursor;
1013            yych = this._charAt(cursor);
1014            if (yych <= '@') {
1015                if (yych <= '/') { gotoCase = 128; continue; };
1016                if (yych >= ':') { gotoCase = 128; continue; };
1017            } else {
1018                if (yych <= 'F') { gotoCase = 130; continue; };
1019                if (yych <= '`') { gotoCase = 128; continue; };
1020                if (yych >= 'g') { gotoCase = 128; continue; };
1021            }
1022case 130:
1023            ++cursor;
1024            yych = this._charAt(cursor);
1025            if (yych <= '@') {
1026                if (yych <= '/') { gotoCase = 128; continue; };
1027                if (yych >= ':') { gotoCase = 128; continue; };
1028            } else {
1029                if (yych <= 'F') { gotoCase = 131; continue; };
1030                if (yych <= '`') { gotoCase = 128; continue; };
1031                if (yych >= 'g') { gotoCase = 128; continue; };
1032            }
1033case 131:
1034            ++cursor;
1035            yych = this._charAt(cursor);
1036            if (yych <= '@') {
1037                if (yych <= '/') { gotoCase = 128; continue; };
1038                if (yych <= '9') { gotoCase = 125; continue; };
1039                { gotoCase = 128; continue; };
1040            } else {
1041                if (yych <= 'F') { gotoCase = 125; continue; };
1042                if (yych <= '`') { gotoCase = 128; continue; };
1043                if (yych <= 'f') { gotoCase = 125; continue; };
1044                { gotoCase = 128; continue; };
1045            }
1046case 132:
1047            ++cursor;
1048            yych = this._charAt(cursor);
1049            if (yych <= 'e') {
1050                if (yych <= '\'') {
1051                    if (yych == '"') { gotoCase = 125; continue; };
1052                    if (yych <= '&') { gotoCase = 128; continue; };
1053                    { gotoCase = 125; continue; };
1054                } else {
1055                    if (yych <= '\\') {
1056                        if (yych <= '[') { gotoCase = 128; continue; };
1057                        { gotoCase = 125; continue; };
1058                    } else {
1059                        if (yych == 'b') { gotoCase = 125; continue; };
1060                        { gotoCase = 128; continue; };
1061                    }
1062                }
1063            } else {
1064                if (yych <= 'r') {
1065                    if (yych <= 'm') {
1066                        if (yych <= 'f') { gotoCase = 125; continue; };
1067                        { gotoCase = 128; continue; };
1068                    } else {
1069                        if (yych <= 'n') { gotoCase = 125; continue; };
1070                        if (yych <= 'q') { gotoCase = 128; continue; };
1071                        { gotoCase = 125; continue; };
1072                    }
1073                } else {
1074                    if (yych <= 't') {
1075                        if (yych <= 's') { gotoCase = 128; continue; };
1076                        { gotoCase = 125; continue; };
1077                    } else {
1078                        if (yych <= 'u') { gotoCase = 127; continue; };
1079                        if (yych <= 'v') { gotoCase = 125; continue; };
1080                        { gotoCase = 128; continue; };
1081                    }
1082                }
1083            }
1084case 133:
1085            ++cursor;
1086            yych = this._charAt(cursor);
1087            { gotoCase = 123; continue; };
1088/* *********************************** */
1089case this.case_NODIV:
1090            yych = this._charAt(cursor);
1091            if (yych <= '9') {
1092                if (yych <= '(') {
1093                    if (yych <= '#') {
1094                        if (yych <= ' ') { gotoCase = 136; continue; };
1095                        if (yych <= '!') { gotoCase = 138; continue; };
1096                        if (yych <= '"') { gotoCase = 140; continue; };
1097                    } else {
1098                        if (yych <= '%') {
1099                            if (yych <= '$') { gotoCase = 141; continue; };
1100                            { gotoCase = 143; continue; };
1101                        } else {
1102                            if (yych <= '&') { gotoCase = 144; continue; };
1103                            if (yych <= '\'') { gotoCase = 145; continue; };
1104                            { gotoCase = 146; continue; };
1105                        }
1106                    }
1107                } else {
1108                    if (yych <= ',') {
1109                        if (yych <= ')') { gotoCase = 147; continue; };
1110                        if (yych <= '*') { gotoCase = 149; continue; };
1111                        if (yych <= '+') { gotoCase = 150; continue; };
1112                        { gotoCase = 146; continue; };
1113                    } else {
1114                        if (yych <= '.') {
1115                            if (yych <= '-') { gotoCase = 151; continue; };
1116                            { gotoCase = 152; continue; };
1117                        } else {
1118                            if (yych <= '/') { gotoCase = 153; continue; };
1119                            if (yych <= '0') { gotoCase = 154; continue; };
1120                            { gotoCase = 156; continue; };
1121                        }
1122                    }
1123                }
1124            } else {
1125                if (yych <= '\\') {
1126                    if (yych <= '>') {
1127                        if (yych <= ';') { gotoCase = 146; continue; };
1128                        if (yych <= '<') { gotoCase = 157; continue; };
1129                        if (yych <= '=') { gotoCase = 158; continue; };
1130                        { gotoCase = 159; continue; };
1131                    } else {
1132                        if (yych <= '@') {
1133                            if (yych <= '?') { gotoCase = 146; continue; };
1134                        } else {
1135                            if (yych <= 'Z') { gotoCase = 141; continue; };
1136                            if (yych <= '[') { gotoCase = 146; continue; };
1137                            { gotoCase = 160; continue; };
1138                        }
1139                    }
1140                } else {
1141                    if (yych <= 'z') {
1142                        if (yych <= '^') {
1143                            if (yych <= ']') { gotoCase = 146; continue; };
1144                            { gotoCase = 161; continue; };
1145                        } else {
1146                            if (yych != '`') { gotoCase = 141; continue; };
1147                        }
1148                    } else {
1149                        if (yych <= '|') {
1150                            if (yych <= '{') { gotoCase = 146; continue; };
1151                            { gotoCase = 162; continue; };
1152                        } else {
1153                            if (yych <= '~') { gotoCase = 146; continue; };
1154                            if (yych >= 0x80) { gotoCase = 141; continue; };
1155                        }
1156                    }
1157                }
1158            }
1159case 136:
1160            ++cursor;
1161case 137:
1162            { this.tokenType = null; return cursor; }
1163case 138:
1164            ++cursor;
1165            if ((yych = this._charAt(cursor)) == '=') { gotoCase = 260; continue; };
1166case 139:
1167            { this.tokenType = null; return cursor; }
1168case 140:
1169            yyaccept = 0;
1170            yych = this._charAt(YYMARKER = ++cursor);
1171            if (yych == '\n') { gotoCase = 137; continue; };
1172            if (yych == '\r') { gotoCase = 137; continue; };
1173            { gotoCase = 252; continue; };
1174case 141:
1175            yyaccept = 1;
1176            yych = this._charAt(YYMARKER = ++cursor);
1177            { gotoCase = 170; continue; };
1178case 142:
1179            this.setLexCondition(this._lexConditions.DIV);
1180            {
1181                    var token = this._line.substring(cursorOnEnter, cursor);
1182                    if (token in this._keywords)
1183                        this.tokenType = "javascript-keyword";
1184                    else
1185                        this.tokenType = "javascript-ident";
1186                    return cursor;
1187                }
1188case 143:
1189            yych = this._charAt(++cursor);
1190            if (yych == '=') { gotoCase = 163; continue; };
1191            { gotoCase = 139; continue; };
1192case 144:
1193            yych = this._charAt(++cursor);
1194            if (yych == '&') { gotoCase = 163; continue; };
1195            if (yych == '=') { gotoCase = 163; continue; };
1196            { gotoCase = 139; continue; };
1197case 145:
1198            yyaccept = 0;
1199            yych = this._charAt(YYMARKER = ++cursor);
1200            if (yych == '\n') { gotoCase = 137; continue; };
1201            if (yych == '\r') { gotoCase = 137; continue; };
1202            { gotoCase = 241; continue; };
1203case 146:
1204            yych = this._charAt(++cursor);
1205            { gotoCase = 139; continue; };
1206case 147:
1207            ++cursor;
1208            this.setLexCondition(this._lexConditions.DIV);
1209            { this.tokenType = null; return cursor; }
1210case 149:
1211            yych = this._charAt(++cursor);
1212            if (yych == '=') { gotoCase = 163; continue; };
1213            { gotoCase = 139; continue; };
1214case 150:
1215            yych = this._charAt(++cursor);
1216            if (yych == '+') { gotoCase = 163; continue; };
1217            if (yych == '=') { gotoCase = 163; continue; };
1218            { gotoCase = 139; continue; };
1219case 151:
1220            yych = this._charAt(++cursor);
1221            if (yych == '-') { gotoCase = 163; continue; };
1222            if (yych == '=') { gotoCase = 163; continue; };
1223            { gotoCase = 139; continue; };
1224case 152:
1225            yych = this._charAt(++cursor);
1226            if (yych <= '/') { gotoCase = 139; continue; };
1227            if (yych <= '9') { gotoCase = 234; continue; };
1228            { gotoCase = 139; continue; };
1229case 153:
1230            yyaccept = 0;
1231            yych = this._charAt(YYMARKER = ++cursor);
1232            if (yych <= '*') {
1233                if (yych <= '\f') {
1234                    if (yych == '\n') { gotoCase = 137; continue; };
1235                    { gotoCase = 197; continue; };
1236                } else {
1237                    if (yych <= '\r') { gotoCase = 137; continue; };
1238                    if (yych <= ')') { gotoCase = 197; continue; };
1239                    { gotoCase = 202; continue; };
1240                }
1241            } else {
1242                if (yych <= 'Z') {
1243                    if (yych == '/') { gotoCase = 204; continue; };
1244                    { gotoCase = 197; continue; };
1245                } else {
1246                    if (yych <= '[') { gotoCase = 200; continue; };
1247                    if (yych <= '\\') { gotoCase = 199; continue; };
1248                    if (yych <= ']') { gotoCase = 137; continue; };
1249                    { gotoCase = 197; continue; };
1250                }
1251            }
1252case 154:
1253            yyaccept = 2;
1254            yych = this._charAt(YYMARKER = ++cursor);
1255            if (yych <= 'E') {
1256                if (yych <= '/') {
1257                    if (yych == '.') { gotoCase = 183; continue; };
1258                } else {
1259                    if (yych <= '7') { gotoCase = 192; continue; };
1260                    if (yych >= 'E') { gotoCase = 182; continue; };
1261                }
1262            } else {
1263                if (yych <= 'd') {
1264                    if (yych == 'X') { gotoCase = 194; continue; };
1265                } else {
1266                    if (yych <= 'e') { gotoCase = 182; continue; };
1267                    if (yych == 'x') { gotoCase = 194; continue; };
1268                }
1269            }
1270case 155:
1271            this.setLexCondition(this._lexConditions.DIV);
1272            { this.tokenType = "javascript-number"; return cursor; }
1273case 156:
1274            yyaccept = 2;
1275            yych = this._charAt(YYMARKER = ++cursor);
1276            if (yych <= '9') {
1277                if (yych == '.') { gotoCase = 183; continue; };
1278                if (yych <= '/') { gotoCase = 155; continue; };
1279                { gotoCase = 180; continue; };
1280            } else {
1281                if (yych <= 'E') {
1282                    if (yych <= 'D') { gotoCase = 155; continue; };
1283                    { gotoCase = 182; continue; };
1284                } else {
1285                    if (yych == 'e') { gotoCase = 182; continue; };
1286                    { gotoCase = 155; continue; };
1287                }
1288            }
1289case 157:
1290            yych = this._charAt(++cursor);
1291            if (yych <= ';') { gotoCase = 139; continue; };
1292            if (yych <= '<') { gotoCase = 179; continue; };
1293            if (yych <= '=') { gotoCase = 163; continue; };
1294            { gotoCase = 139; continue; };
1295case 158:
1296            yych = this._charAt(++cursor);
1297            if (yych == '=') { gotoCase = 178; continue; };
1298            { gotoCase = 139; continue; };
1299case 159:
1300            yych = this._charAt(++cursor);
1301            if (yych <= '<') { gotoCase = 139; continue; };
1302            if (yych <= '=') { gotoCase = 163; continue; };
1303            if (yych <= '>') { gotoCase = 176; continue; };
1304            { gotoCase = 139; continue; };
1305case 160:
1306            yyaccept = 0;
1307            yych = this._charAt(YYMARKER = ++cursor);
1308            if (yych == 'u') { gotoCase = 164; continue; };
1309            { gotoCase = 137; continue; };
1310case 161:
1311            yych = this._charAt(++cursor);
1312            if (yych == '=') { gotoCase = 163; continue; };
1313            { gotoCase = 139; continue; };
1314case 162:
1315            yych = this._charAt(++cursor);
1316            if (yych == '=') { gotoCase = 163; continue; };
1317            if (yych != '|') { gotoCase = 139; continue; };
1318case 163:
1319            yych = this._charAt(++cursor);
1320            { gotoCase = 139; continue; };
1321case 164:
1322            yych = this._charAt(++cursor);
1323            if (yych <= '@') {
1324                if (yych <= '/') { gotoCase = 165; continue; };
1325                if (yych <= '9') { gotoCase = 166; continue; };
1326            } else {
1327                if (yych <= 'F') { gotoCase = 166; continue; };
1328                if (yych <= '`') { gotoCase = 165; continue; };
1329                if (yych <= 'f') { gotoCase = 166; continue; };
1330            }
1331case 165:
1332            cursor = YYMARKER;
1333            if (yyaccept <= 1) {
1334                if (yyaccept <= 0) {
1335                    { gotoCase = 137; continue; };
1336                } else {
1337                    { gotoCase = 142; continue; };
1338                }
1339            } else {
1340                if (yyaccept <= 2) {
1341                    { gotoCase = 155; continue; };
1342                } else {
1343                    { gotoCase = 217; continue; };
1344                }
1345            }
1346case 166:
1347            yych = this._charAt(++cursor);
1348            if (yych <= '@') {
1349                if (yych <= '/') { gotoCase = 165; continue; };
1350                if (yych >= ':') { gotoCase = 165; continue; };
1351            } else {
1352                if (yych <= 'F') { gotoCase = 167; continue; };
1353                if (yych <= '`') { gotoCase = 165; continue; };
1354                if (yych >= 'g') { gotoCase = 165; continue; };
1355            }
1356case 167:
1357            yych = this._charAt(++cursor);
1358            if (yych <= '@') {
1359                if (yych <= '/') { gotoCase = 165; continue; };
1360                if (yych >= ':') { gotoCase = 165; continue; };
1361            } else {
1362                if (yych <= 'F') { gotoCase = 168; continue; };
1363                if (yych <= '`') { gotoCase = 165; continue; };
1364                if (yych >= 'g') { gotoCase = 165; continue; };
1365            }
1366case 168:
1367            yych = this._charAt(++cursor);
1368            if (yych <= '@') {
1369                if (yych <= '/') { gotoCase = 165; continue; };
1370                if (yych >= ':') { gotoCase = 165; continue; };
1371            } else {
1372                if (yych <= 'F') { gotoCase = 169; continue; };
1373                if (yych <= '`') { gotoCase = 165; continue; };
1374                if (yych >= 'g') { gotoCase = 165; continue; };
1375            }
1376case 169:
1377            yyaccept = 1;
1378            YYMARKER = ++cursor;
1379            yych = this._charAt(cursor);
1380case 170:
1381            if (yych <= '[') {
1382                if (yych <= '/') {
1383                    if (yych == '$') { gotoCase = 169; continue; };
1384                    { gotoCase = 142; continue; };
1385                } else {
1386                    if (yych <= '9') { gotoCase = 169; continue; };
1387                    if (yych <= '@') { gotoCase = 142; continue; };
1388                    if (yych <= 'Z') { gotoCase = 169; continue; };
1389                    { gotoCase = 142; continue; };
1390                }
1391            } else {
1392                if (yych <= '_') {
1393                    if (yych <= '\\') { gotoCase = 171; continue; };
1394                    if (yych <= '^') { gotoCase = 142; continue; };
1395                    { gotoCase = 169; continue; };
1396                } else {
1397                    if (yych <= '`') { gotoCase = 142; continue; };
1398                    if (yych <= 'z') { gotoCase = 169; continue; };
1399                    if (yych <= 0x7F) { gotoCase = 142; continue; };
1400                    { gotoCase = 169; continue; };
1401                }
1402            }
1403case 171:
1404            ++cursor;
1405            yych = this._charAt(cursor);
1406            if (yych != 'u') { gotoCase = 165; continue; };
1407            ++cursor;
1408            yych = this._charAt(cursor);
1409            if (yych <= '@') {
1410                if (yych <= '/') { gotoCase = 165; continue; };
1411                if (yych >= ':') { gotoCase = 165; continue; };
1412            } else {
1413                if (yych <= 'F') { gotoCase = 173; continue; };
1414                if (yych <= '`') { gotoCase = 165; continue; };
1415                if (yych >= 'g') { gotoCase = 165; continue; };
1416            }
1417case 173:
1418            ++cursor;
1419            yych = this._charAt(cursor);
1420            if (yych <= '@') {
1421                if (yych <= '/') { gotoCase = 165; continue; };
1422                if (yych >= ':') { gotoCase = 165; continue; };
1423            } else {
1424                if (yych <= 'F') { gotoCase = 174; continue; };
1425                if (yych <= '`') { gotoCase = 165; continue; };
1426                if (yych >= 'g') { gotoCase = 165; continue; };
1427            }
1428case 174:
1429            ++cursor;
1430            yych = this._charAt(cursor);
1431            if (yych <= '@') {
1432                if (yych <= '/') { gotoCase = 165; continue; };
1433                if (yych >= ':') { gotoCase = 165; continue; };
1434            } else {
1435                if (yych <= 'F') { gotoCase = 175; continue; };
1436                if (yych <= '`') { gotoCase = 165; continue; };
1437                if (yych >= 'g') { gotoCase = 165; continue; };
1438            }
1439case 175:
1440            ++cursor;
1441            yych = this._charAt(cursor);
1442            if (yych <= '@') {
1443                if (yych <= '/') { gotoCase = 165; continue; };
1444                if (yych <= '9') { gotoCase = 169; continue; };
1445                { gotoCase = 165; continue; };
1446            } else {
1447                if (yych <= 'F') { gotoCase = 169; continue; };
1448                if (yych <= '`') { gotoCase = 165; continue; };
1449                if (yych <= 'f') { gotoCase = 169; continue; };
1450                { gotoCase = 165; continue; };
1451            }
1452case 176:
1453            yych = this._charAt(++cursor);
1454            if (yych <= '<') { gotoCase = 139; continue; };
1455            if (yych <= '=') { gotoCase = 163; continue; };
1456            if (yych >= '?') { gotoCase = 139; continue; };
1457            yych = this._charAt(++cursor);
1458            if (yych == '=') { gotoCase = 163; continue; };
1459            { gotoCase = 139; continue; };
1460case 178:
1461            yych = this._charAt(++cursor);
1462            if (yych == '=') { gotoCase = 163; continue; };
1463            { gotoCase = 139; continue; };
1464case 179:
1465            yych = this._charAt(++cursor);
1466            if (yych == '=') { gotoCase = 163; continue; };
1467            { gotoCase = 139; continue; };
1468case 180:
1469            yyaccept = 2;
1470            YYMARKER = ++cursor;
1471            yych = this._charAt(cursor);
1472            if (yych <= '9') {
1473                if (yych == '.') { gotoCase = 183; continue; };
1474                if (yych <= '/') { gotoCase = 155; continue; };
1475                { gotoCase = 180; continue; };
1476            } else {
1477                if (yych <= 'E') {
1478                    if (yych <= 'D') { gotoCase = 155; continue; };
1479                } else {
1480                    if (yych != 'e') { gotoCase = 155; continue; };
1481                }
1482            }
1483case 182:
1484            yych = this._charAt(++cursor);
1485            if (yych <= ',') {
1486                if (yych == '+') { gotoCase = 189; continue; };
1487                { gotoCase = 165; continue; };
1488            } else {
1489                if (yych <= '-') { gotoCase = 189; continue; };
1490                if (yych <= '/') { gotoCase = 165; continue; };
1491                if (yych <= '9') { gotoCase = 190; continue; };
1492                { gotoCase = 165; continue; };
1493            }
1494case 183:
1495            yyaccept = 2;
1496            YYMARKER = ++cursor;
1497            yych = this._charAt(cursor);
1498            if (yych <= 'D') {
1499                if (yych <= '/') { gotoCase = 155; continue; };
1500                if (yych <= '9') { gotoCase = 183; continue; };
1501                { gotoCase = 155; continue; };
1502            } else {
1503                if (yych <= 'E') { gotoCase = 185; continue; };
1504                if (yych != 'e') { gotoCase = 155; continue; };
1505            }
1506case 185:
1507            yych = this._charAt(++cursor);
1508            if (yych <= ',') {
1509                if (yych != '+') { gotoCase = 165; continue; };
1510            } else {
1511                if (yych <= '-') { gotoCase = 186; continue; };
1512                if (yych <= '/') { gotoCase = 165; continue; };
1513                if (yych <= '9') { gotoCase = 187; continue; };
1514                { gotoCase = 165; continue; };
1515            }
1516case 186:
1517            yych = this._charAt(++cursor);
1518            if (yych <= '/') { gotoCase = 165; continue; };
1519            if (yych >= ':') { gotoCase = 165; continue; };
1520case 187:
1521            ++cursor;
1522            yych = this._charAt(cursor);
1523            if (yych <= '/') { gotoCase = 155; continue; };
1524            if (yych <= '9') { gotoCase = 187; continue; };
1525            { gotoCase = 155; continue; };
1526case 189:
1527            yych = this._charAt(++cursor);
1528            if (yych <= '/') { gotoCase = 165; continue; };
1529            if (yych >= ':') { gotoCase = 165; continue; };
1530case 190:
1531            ++cursor;
1532            yych = this._charAt(cursor);
1533            if (yych <= '/') { gotoCase = 155; continue; };
1534            if (yych <= '9') { gotoCase = 190; continue; };
1535            { gotoCase = 155; continue; };
1536case 192:
1537            ++cursor;
1538            yych = this._charAt(cursor);
1539            if (yych <= '/') { gotoCase = 155; continue; };
1540            if (yych <= '7') { gotoCase = 192; continue; };
1541            { gotoCase = 155; continue; };
1542case 194:
1543            yych = this._charAt(++cursor);
1544            if (yych <= '@') {
1545                if (yych <= '/') { gotoCase = 165; continue; };
1546                if (yych >= ':') { gotoCase = 165; continue; };
1547            } else {
1548                if (yych <= 'F') { gotoCase = 195; continue; };
1549                if (yych <= '`') { gotoCase = 165; continue; };
1550                if (yych >= 'g') { gotoCase = 165; continue; };
1551            }
1552case 195:
1553            ++cursor;
1554            yych = this._charAt(cursor);
1555            if (yych <= '@') {
1556                if (yych <= '/') { gotoCase = 155; continue; };
1557                if (yych <= '9') { gotoCase = 195; continue; };
1558                { gotoCase = 155; continue; };
1559            } else {
1560                if (yych <= 'F') { gotoCase = 195; continue; };
1561                if (yych <= '`') { gotoCase = 155; continue; };
1562                if (yych <= 'f') { gotoCase = 195; continue; };
1563                { gotoCase = 155; continue; };
1564            }
1565case 197:
1566            ++cursor;
1567            yych = this._charAt(cursor);
1568            if (yych <= '.') {
1569                if (yych <= '\n') {
1570                    if (yych <= '\t') { gotoCase = 197; continue; };
1571                    { gotoCase = 165; continue; };
1572                } else {
1573                    if (yych == '\r') { gotoCase = 165; continue; };
1574                    { gotoCase = 197; continue; };
1575                }
1576            } else {
1577                if (yych <= '[') {
1578                    if (yych <= '/') { gotoCase = 220; continue; };
1579                    if (yych <= 'Z') { gotoCase = 197; continue; };
1580                    { gotoCase = 228; continue; };
1581                } else {
1582                    if (yych <= '\\') { gotoCase = 227; continue; };
1583                    if (yych <= ']') { gotoCase = 165; continue; };
1584                    { gotoCase = 197; continue; };
1585                }
1586            }
1587case 199:
1588            yych = this._charAt(++cursor);
1589            if (yych == '\n') { gotoCase = 165; continue; };
1590            if (yych == '\r') { gotoCase = 165; continue; };
1591            { gotoCase = 197; continue; };
1592case 200:
1593            ++cursor;
1594            yych = this._charAt(cursor);
1595            if (yych <= '*') {
1596                if (yych <= '\f') {
1597                    if (yych == '\n') { gotoCase = 165; continue; };
1598                    { gotoCase = 200; continue; };
1599                } else {
1600                    if (yych <= '\r') { gotoCase = 165; continue; };
1601                    if (yych <= ')') { gotoCase = 200; continue; };
1602                    { gotoCase = 165; continue; };
1603                }
1604            } else {
1605                if (yych <= '[') {
1606                    if (yych == '/') { gotoCase = 165; continue; };
1607                    { gotoCase = 200; continue; };
1608                } else {
1609                    if (yych <= '\\') { gotoCase = 215; continue; };
1610                    if (yych <= ']') { gotoCase = 213; continue; };
1611                    { gotoCase = 200; continue; };
1612                }
1613            }
1614case 202:
1615            ++cursor;
1616            yych = this._charAt(cursor);
1617            if (yych <= '\f') {
1618                if (yych == '\n') { gotoCase = 209; continue; };
1619                { gotoCase = 202; continue; };
1620            } else {
1621                if (yych <= '\r') { gotoCase = 209; continue; };
1622                if (yych == '*') { gotoCase = 207; continue; };
1623                { gotoCase = 202; continue; };
1624            }
1625case 204:
1626            ++cursor;
1627            yych = this._charAt(cursor);
1628            if (yych == '\n') { gotoCase = 206; continue; };
1629            if (yych != '\r') { gotoCase = 204; continue; };
1630case 206:
1631            { this.tokenType = "javascript-comment"; return cursor; }
1632case 207:
1633            ++cursor;
1634            yych = this._charAt(cursor);
1635            if (yych == '*') { gotoCase = 207; continue; };
1636            if (yych == '/') { gotoCase = 211; continue; };
1637            { gotoCase = 202; continue; };
1638case 209:
1639            ++cursor;
1640            this.setLexCondition(this._lexConditions.COMMENT);
1641            { this.tokenType = "javascript-comment"; return cursor; }
1642case 211:
1643            ++cursor;
1644            { this.tokenType = "javascript-comment"; return cursor; }
1645case 213:
1646            ++cursor;
1647            yych = this._charAt(cursor);
1648            if (yych <= '*') {
1649                if (yych <= '\f') {
1650                    if (yych == '\n') { gotoCase = 165; continue; };
1651                    { gotoCase = 213; continue; };
1652                } else {
1653                    if (yych <= '\r') { gotoCase = 165; continue; };
1654                    if (yych <= ')') { gotoCase = 213; continue; };
1655                    { gotoCase = 197; continue; };
1656                }
1657            } else {
1658                if (yych <= 'Z') {
1659                    if (yych == '/') { gotoCase = 220; continue; };
1660                    { gotoCase = 213; continue; };
1661                } else {
1662                    if (yych <= '[') { gotoCase = 218; continue; };
1663                    if (yych <= '\\') { gotoCase = 216; continue; };
1664                    { gotoCase = 213; continue; };
1665                }
1666            }
1667case 215:
1668            ++cursor;
1669            yych = this._charAt(cursor);
1670            if (yych == '\n') { gotoCase = 165; continue; };
1671            if (yych == '\r') { gotoCase = 165; continue; };
1672            { gotoCase = 200; continue; };
1673case 216:
1674            yyaccept = 3;
1675            YYMARKER = ++cursor;
1676            yych = this._charAt(cursor);
1677            if (yych == '\n') { gotoCase = 217; continue; };
1678            if (yych != '\r') { gotoCase = 213; continue; };
1679case 217:
1680            this.setLexCondition(this._lexConditions.REGEX);
1681            { this.tokenType = "javascript-regexp"; return cursor; }
1682case 218:
1683            ++cursor;
1684            yych = this._charAt(cursor);
1685            if (yych <= '*') {
1686                if (yych <= '\f') {
1687                    if (yych == '\n') { gotoCase = 165; continue; };
1688                    { gotoCase = 218; continue; };
1689                } else {
1690                    if (yych <= '\r') { gotoCase = 165; continue; };
1691                    if (yych <= ')') { gotoCase = 218; continue; };
1692                    { gotoCase = 165; continue; };
1693                }
1694            } else {
1695                if (yych <= '[') {
1696                    if (yych == '/') { gotoCase = 165; continue; };
1697                    { gotoCase = 218; continue; };
1698                } else {
1699                    if (yych <= '\\') { gotoCase = 225; continue; };
1700                    if (yych <= ']') { gotoCase = 223; continue; };
1701                    { gotoCase = 218; continue; };
1702                }
1703            }
1704case 220:
1705            ++cursor;
1706            yych = this._charAt(cursor);
1707            if (yych <= 'h') {
1708                if (yych == 'g') { gotoCase = 220; continue; };
1709            } else {
1710                if (yych <= 'i') { gotoCase = 220; continue; };
1711                if (yych == 'm') { gotoCase = 220; continue; };
1712            }
1713            { this.tokenType = "javascript-regexp"; return cursor; }
1714case 223:
1715            ++cursor;
1716            yych = this._charAt(cursor);
1717            if (yych <= '*') {
1718                if (yych <= '\f') {
1719                    if (yych == '\n') { gotoCase = 165; continue; };
1720                    { gotoCase = 223; continue; };
1721                } else {
1722                    if (yych <= '\r') { gotoCase = 165; continue; };
1723                    if (yych <= ')') { gotoCase = 223; continue; };
1724                    { gotoCase = 197; continue; };
1725                }
1726            } else {
1727                if (yych <= 'Z') {
1728                    if (yych == '/') { gotoCase = 220; continue; };
1729                    { gotoCase = 223; continue; };
1730                } else {
1731                    if (yych <= '[') { gotoCase = 218; continue; };
1732                    if (yych <= '\\') { gotoCase = 226; continue; };
1733                    { gotoCase = 223; continue; };
1734                }
1735            }
1736case 225:
1737            ++cursor;
1738            yych = this._charAt(cursor);
1739            if (yych == '\n') { gotoCase = 165; continue; };
1740            if (yych == '\r') { gotoCase = 165; continue; };
1741            { gotoCase = 218; continue; };
1742case 226:
1743            yyaccept = 3;
1744            YYMARKER = ++cursor;
1745            yych = this._charAt(cursor);
1746            if (yych == '\n') { gotoCase = 217; continue; };
1747            if (yych == '\r') { gotoCase = 217; continue; };
1748            { gotoCase = 223; continue; };
1749case 227:
1750            yyaccept = 3;
1751            YYMARKER = ++cursor;
1752            yych = this._charAt(cursor);
1753            if (yych == '\n') { gotoCase = 217; continue; };
1754            if (yych == '\r') { gotoCase = 217; continue; };
1755            { gotoCase = 197; continue; };
1756case 228:
1757            ++cursor;
1758            yych = this._charAt(cursor);
1759            if (yych <= '*') {
1760                if (yych <= '\f') {
1761                    if (yych == '\n') { gotoCase = 165; continue; };
1762                    { gotoCase = 228; continue; };
1763                } else {
1764                    if (yych <= '\r') { gotoCase = 165; continue; };
1765                    if (yych <= ')') { gotoCase = 228; continue; };
1766                    { gotoCase = 165; continue; };
1767                }
1768            } else {
1769                if (yych <= '[') {
1770                    if (yych == '/') { gotoCase = 165; continue; };
1771                    { gotoCase = 228; continue; };
1772                } else {
1773                    if (yych <= '\\') { gotoCase = 232; continue; };
1774                    if (yych >= '^') { gotoCase = 228; continue; };
1775                }
1776            }
1777case 230:
1778            ++cursor;
1779            yych = this._charAt(cursor);
1780            if (yych <= '*') {
1781                if (yych <= '\f') {
1782                    if (yych == '\n') { gotoCase = 165; continue; };
1783                    { gotoCase = 230; continue; };
1784                } else {
1785                    if (yych <= '\r') { gotoCase = 165; continue; };
1786                    if (yych <= ')') { gotoCase = 230; continue; };
1787                    { gotoCase = 197; continue; };
1788                }
1789            } else {
1790                if (yych <= 'Z') {
1791                    if (yych == '/') { gotoCase = 220; continue; };
1792                    { gotoCase = 230; continue; };
1793                } else {
1794                    if (yych <= '[') { gotoCase = 228; continue; };
1795                    if (yych <= '\\') { gotoCase = 233; continue; };
1796                    { gotoCase = 230; continue; };
1797                }
1798            }
1799case 232:
1800            ++cursor;
1801            yych = this._charAt(cursor);
1802            if (yych == '\n') { gotoCase = 165; continue; };
1803            if (yych == '\r') { gotoCase = 165; continue; };
1804            { gotoCase = 228; continue; };
1805case 233:
1806            yyaccept = 3;
1807            YYMARKER = ++cursor;
1808            yych = this._charAt(cursor);
1809            if (yych == '\n') { gotoCase = 217; continue; };
1810            if (yych == '\r') { gotoCase = 217; continue; };
1811            { gotoCase = 230; continue; };
1812case 234:
1813            yyaccept = 2;
1814            YYMARKER = ++cursor;
1815            yych = this._charAt(cursor);
1816            if (yych <= 'D') {
1817                if (yych <= '/') { gotoCase = 155; continue; };
1818                if (yych <= '9') { gotoCase = 234; continue; };
1819                { gotoCase = 155; continue; };
1820            } else {
1821                if (yych <= 'E') { gotoCase = 236; continue; };
1822                if (yych != 'e') { gotoCase = 155; continue; };
1823            }
1824case 236:
1825            yych = this._charAt(++cursor);
1826            if (yych <= ',') {
1827                if (yych != '+') { gotoCase = 165; continue; };
1828            } else {
1829                if (yych <= '-') { gotoCase = 237; continue; };
1830                if (yych <= '/') { gotoCase = 165; continue; };
1831                if (yych <= '9') { gotoCase = 238; continue; };
1832                { gotoCase = 165; continue; };
1833            }
1834case 237:
1835            yych = this._charAt(++cursor);
1836            if (yych <= '/') { gotoCase = 165; continue; };
1837            if (yych >= ':') { gotoCase = 165; continue; };
1838case 238:
1839            ++cursor;
1840            yych = this._charAt(cursor);
1841            if (yych <= '/') { gotoCase = 155; continue; };
1842            if (yych <= '9') { gotoCase = 238; continue; };
1843            { gotoCase = 155; continue; };
1844case 240:
1845            ++cursor;
1846            yych = this._charAt(cursor);
1847case 241:
1848            if (yych <= '\r') {
1849                if (yych == '\n') { gotoCase = 165; continue; };
1850                if (yych <= '\f') { gotoCase = 240; continue; };
1851                { gotoCase = 165; continue; };
1852            } else {
1853                if (yych <= '\'') {
1854                    if (yych <= '&') { gotoCase = 240; continue; };
1855                    { gotoCase = 243; continue; };
1856                } else {
1857                    if (yych != '\\') { gotoCase = 240; continue; };
1858                }
1859            }
1860            ++cursor;
1861            yych = this._charAt(cursor);
1862            if (yych <= 'a') {
1863                if (yych <= '!') {
1864                    if (yych <= '\n') {
1865                        if (yych <= '\t') { gotoCase = 165; continue; };
1866                        { gotoCase = 246; continue; };
1867                    } else {
1868                        if (yych == '\r') { gotoCase = 246; continue; };
1869                        { gotoCase = 165; continue; };
1870                    }
1871                } else {
1872                    if (yych <= '\'') {
1873                        if (yych <= '"') { gotoCase = 240; continue; };
1874                        if (yych <= '&') { gotoCase = 165; continue; };
1875                        { gotoCase = 240; continue; };
1876                    } else {
1877                        if (yych == '\\') { gotoCase = 240; continue; };
1878                        { gotoCase = 165; continue; };
1879                    }
1880                }
1881            } else {
1882                if (yych <= 'q') {
1883                    if (yych <= 'f') {
1884                        if (yych <= 'b') { gotoCase = 240; continue; };
1885                        if (yych <= 'e') { gotoCase = 165; continue; };
1886                        { gotoCase = 240; continue; };
1887                    } else {
1888                        if (yych == 'n') { gotoCase = 240; continue; };
1889                        { gotoCase = 165; continue; };
1890                    }
1891                } else {
1892                    if (yych <= 't') {
1893                        if (yych == 's') { gotoCase = 165; continue; };
1894                        { gotoCase = 240; continue; };
1895                    } else {
1896                        if (yych <= 'u') { gotoCase = 245; continue; };
1897                        if (yych <= 'v') { gotoCase = 240; continue; };
1898                        { gotoCase = 165; continue; };
1899                    }
1900                }
1901            }
1902case 243:
1903            ++cursor;
1904            { this.tokenType = "javascript-string"; return cursor; }
1905case 245:
1906            ++cursor;
1907            yych = this._charAt(cursor);
1908            if (yych <= '@') {
1909                if (yych <= '/') { gotoCase = 165; continue; };
1910                if (yych <= '9') { gotoCase = 248; continue; };
1911                { gotoCase = 165; continue; };
1912            } else {
1913                if (yych <= 'F') { gotoCase = 248; continue; };
1914                if (yych <= '`') { gotoCase = 165; continue; };
1915                if (yych <= 'f') { gotoCase = 248; continue; };
1916                { gotoCase = 165; continue; };
1917            }
1918case 246:
1919            ++cursor;
1920            this.setLexCondition(this._lexConditions.SSTRING);
1921            { this.tokenType = "javascript-string"; return cursor; }
1922case 248:
1923            ++cursor;
1924            yych = this._charAt(cursor);
1925            if (yych <= '@') {
1926                if (yych <= '/') { gotoCase = 165; continue; };
1927                if (yych >= ':') { gotoCase = 165; continue; };
1928            } else {
1929                if (yych <= 'F') { gotoCase = 249; continue; };
1930                if (yych <= '`') { gotoCase = 165; continue; };
1931                if (yych >= 'g') { gotoCase = 165; continue; };
1932            }
1933case 249:
1934            ++cursor;
1935            yych = this._charAt(cursor);
1936            if (yych <= '@') {
1937                if (yych <= '/') { gotoCase = 165; continue; };
1938                if (yych >= ':') { gotoCase = 165; continue; };
1939            } else {
1940                if (yych <= 'F') { gotoCase = 250; continue; };
1941                if (yych <= '`') { gotoCase = 165; continue; };
1942                if (yych >= 'g') { gotoCase = 165; continue; };
1943            }
1944case 250:
1945            ++cursor;
1946            yych = this._charAt(cursor);
1947            if (yych <= '@') {
1948                if (yych <= '/') { gotoCase = 165; continue; };
1949                if (yych <= '9') { gotoCase = 240; continue; };
1950                { gotoCase = 165; continue; };
1951            } else {
1952                if (yych <= 'F') { gotoCase = 240; continue; };
1953                if (yych <= '`') { gotoCase = 165; continue; };
1954                if (yych <= 'f') { gotoCase = 240; continue; };
1955                { gotoCase = 165; continue; };
1956            }
1957case 251:
1958            ++cursor;
1959            yych = this._charAt(cursor);
1960case 252:
1961            if (yych <= '\r') {
1962                if (yych == '\n') { gotoCase = 165; continue; };
1963                if (yych <= '\f') { gotoCase = 251; continue; };
1964                { gotoCase = 165; continue; };
1965            } else {
1966                if (yych <= '"') {
1967                    if (yych <= '!') { gotoCase = 251; continue; };
1968                    { gotoCase = 243; continue; };
1969                } else {
1970                    if (yych != '\\') { gotoCase = 251; continue; };
1971                }
1972            }
1973            ++cursor;
1974            yych = this._charAt(cursor);
1975            if (yych <= 'a') {
1976                if (yych <= '!') {
1977                    if (yych <= '\n') {
1978                        if (yych <= '\t') { gotoCase = 165; continue; };
1979                        { gotoCase = 255; continue; };
1980                    } else {
1981                        if (yych == '\r') { gotoCase = 255; continue; };
1982                        { gotoCase = 165; continue; };
1983                    }
1984                } else {
1985                    if (yych <= '\'') {
1986                        if (yych <= '"') { gotoCase = 251; continue; };
1987                        if (yych <= '&') { gotoCase = 165; continue; };
1988                        { gotoCase = 251; continue; };
1989                    } else {
1990                        if (yych == '\\') { gotoCase = 251; continue; };
1991                        { gotoCase = 165; continue; };
1992                    }
1993                }
1994            } else {
1995                if (yych <= 'q') {
1996                    if (yych <= 'f') {
1997                        if (yych <= 'b') { gotoCase = 251; continue; };
1998                        if (yych <= 'e') { gotoCase = 165; continue; };
1999                        { gotoCase = 251; continue; };
2000                    } else {
2001                        if (yych == 'n') { gotoCase = 251; continue; };
2002                        { gotoCase = 165; continue; };
2003                    }
2004                } else {
2005                    if (yych <= 't') {
2006                        if (yych == 's') { gotoCase = 165; continue; };
2007                        { gotoCase = 251; continue; };
2008                    } else {
2009                        if (yych <= 'u') { gotoCase = 254; continue; };
2010                        if (yych <= 'v') { gotoCase = 251; continue; };
2011                        { gotoCase = 165; continue; };
2012                    }
2013                }
2014            }
2015case 254:
2016            ++cursor;
2017            yych = this._charAt(cursor);
2018            if (yych <= '@') {
2019                if (yych <= '/') { gotoCase = 165; continue; };
2020                if (yych <= '9') { gotoCase = 257; continue; };
2021                { gotoCase = 165; continue; };
2022            } else {
2023                if (yych <= 'F') { gotoCase = 257; continue; };
2024                if (yych <= '`') { gotoCase = 165; continue; };
2025                if (yych <= 'f') { gotoCase = 257; continue; };
2026                { gotoCase = 165; continue; };
2027            }
2028case 255:
2029            ++cursor;
2030            this.setLexCondition(this._lexConditions.DSTRING);
2031            { this.tokenType = "javascript-string"; return cursor; }
2032case 257:
2033            ++cursor;
2034            yych = this._charAt(cursor);
2035            if (yych <= '@') {
2036                if (yych <= '/') { gotoCase = 165; continue; };
2037                if (yych >= ':') { gotoCase = 165; continue; };
2038            } else {
2039                if (yych <= 'F') { gotoCase = 258; continue; };
2040                if (yych <= '`') { gotoCase = 165; continue; };
2041                if (yych >= 'g') { gotoCase = 165; continue; };
2042            }
2043case 258:
2044            ++cursor;
2045            yych = this._charAt(cursor);
2046            if (yych <= '@') {
2047                if (yych <= '/') { gotoCase = 165; continue; };
2048                if (yych >= ':') { gotoCase = 165; continue; };
2049            } else {
2050                if (yych <= 'F') { gotoCase = 259; continue; };
2051                if (yych <= '`') { gotoCase = 165; continue; };
2052                if (yych >= 'g') { gotoCase = 165; continue; };
2053            }
2054case 259:
2055            ++cursor;
2056            yych = this._charAt(cursor);
2057            if (yych <= '@') {
2058                if (yych <= '/') { gotoCase = 165; continue; };
2059                if (yych <= '9') { gotoCase = 251; continue; };
2060                { gotoCase = 165; continue; };
2061            } else {
2062                if (yych <= 'F') { gotoCase = 251; continue; };
2063                if (yych <= '`') { gotoCase = 165; continue; };
2064                if (yych <= 'f') { gotoCase = 251; continue; };
2065                { gotoCase = 165; continue; };
2066            }
2067case 260:
2068            ++cursor;
2069            if ((yych = this._charAt(cursor)) == '=') { gotoCase = 163; continue; };
2070            { gotoCase = 139; continue; };
2071/* *********************************** */
2072case this.case_REGEX:
2073            yych = this._charAt(cursor);
2074            if (yych <= '.') {
2075                if (yych <= '\n') {
2076                    if (yych <= '\t') { gotoCase = 264; continue; };
2077                    { gotoCase = 265; continue; };
2078                } else {
2079                    if (yych == '\r') { gotoCase = 265; continue; };
2080                    { gotoCase = 264; continue; };
2081                }
2082            } else {
2083                if (yych <= '[') {
2084                    if (yych <= '/') { gotoCase = 267; continue; };
2085                    if (yych <= 'Z') { gotoCase = 264; continue; };
2086                    { gotoCase = 269; continue; };
2087                } else {
2088                    if (yych <= '\\') { gotoCase = 270; continue; };
2089                    if (yych <= ']') { gotoCase = 265; continue; };
2090                    { gotoCase = 264; continue; };
2091                }
2092            }
2093case 263:
2094            { this.tokenType = "javascript-regexp"; return cursor; }
2095case 264:
2096            yyaccept = 0;
2097            yych = this._charAt(YYMARKER = ++cursor);
2098            { gotoCase = 272; continue; };
2099case 265:
2100            ++cursor;
2101case 266:
2102            { this.tokenType = null; return cursor; }
2103case 267:
2104            ++cursor;
2105            yych = this._charAt(cursor);
2106            { gotoCase = 278; continue; };
2107case 268:
2108            this.setLexCondition(this._lexConditions.NODIV);
2109            { this.tokenType = "javascript-regexp"; return cursor; }
2110case 269:
2111            yyaccept = 1;
2112            yych = this._charAt(YYMARKER = ++cursor);
2113            if (yych <= '\r') {
2114                if (yych == '\n') { gotoCase = 266; continue; };
2115                if (yych <= '\f') { gotoCase = 276; continue; };
2116                { gotoCase = 266; continue; };
2117            } else {
2118                if (yych <= '*') {
2119                    if (yych <= ')') { gotoCase = 276; continue; };
2120                    { gotoCase = 266; continue; };
2121                } else {
2122                    if (yych == '/') { gotoCase = 266; continue; };
2123                    { gotoCase = 276; continue; };
2124                }
2125            }
2126case 270:
2127            yych = this._charAt(++cursor);
2128            if (yych == '\n') { gotoCase = 266; continue; };
2129            if (yych == '\r') { gotoCase = 266; continue; };
2130case 271:
2131            yyaccept = 0;
2132            YYMARKER = ++cursor;
2133            yych = this._charAt(cursor);
2134case 272:
2135            if (yych <= '.') {
2136                if (yych <= '\n') {
2137                    if (yych <= '\t') { gotoCase = 271; continue; };
2138                    { gotoCase = 263; continue; };
2139                } else {
2140                    if (yych == '\r') { gotoCase = 263; continue; };
2141                    { gotoCase = 271; continue; };
2142                }
2143            } else {
2144                if (yych <= '[') {
2145                    if (yych <= '/') { gotoCase = 277; continue; };
2146                    if (yych <= 'Z') { gotoCase = 271; continue; };
2147                    { gotoCase = 275; continue; };
2148                } else {
2149                    if (yych <= '\\') { gotoCase = 273; continue; };
2150                    if (yych <= ']') { gotoCase = 263; continue; };
2151                    { gotoCase = 271; continue; };
2152                }
2153            }
2154case 273:
2155            ++cursor;
2156            yych = this._charAt(cursor);
2157            if (yych == '\n') { gotoCase = 274; continue; };
2158            if (yych != '\r') { gotoCase = 271; continue; };
2159case 274:
2160            cursor = YYMARKER;
2161            if (yyaccept <= 0) {
2162                { gotoCase = 263; continue; };
2163            } else {
2164                { gotoCase = 266; continue; };
2165            }
2166case 275:
2167            ++cursor;
2168            yych = this._charAt(cursor);
2169case 276:
2170            if (yych <= '*') {
2171                if (yych <= '\f') {
2172                    if (yych == '\n') { gotoCase = 274; continue; };
2173                    { gotoCase = 275; continue; };
2174                } else {
2175                    if (yych <= '\r') { gotoCase = 274; continue; };
2176                    if (yych <= ')') { gotoCase = 275; continue; };
2177                    { gotoCase = 274; continue; };
2178                }
2179            } else {
2180                if (yych <= '[') {
2181                    if (yych == '/') { gotoCase = 274; continue; };
2182                    { gotoCase = 275; continue; };
2183                } else {
2184                    if (yych <= '\\') { gotoCase = 281; continue; };
2185                    if (yych <= ']') { gotoCase = 279; continue; };
2186                    { gotoCase = 275; continue; };
2187                }
2188            }
2189case 277:
2190            ++cursor;
2191            yych = this._charAt(cursor);
2192case 278:
2193            if (yych <= 'h') {
2194                if (yych == 'g') { gotoCase = 277; continue; };
2195                { gotoCase = 268; continue; };
2196            } else {
2197                if (yych <= 'i') { gotoCase = 277; continue; };
2198                if (yych == 'm') { gotoCase = 277; continue; };
2199                { gotoCase = 268; continue; };
2200            }
2201case 279:
2202            yyaccept = 0;
2203            YYMARKER = ++cursor;
2204            yych = this._charAt(cursor);
2205            if (yych <= '*') {
2206                if (yych <= '\f') {
2207                    if (yych == '\n') { gotoCase = 263; continue; };
2208                    { gotoCase = 279; continue; };
2209                } else {
2210                    if (yych <= '\r') { gotoCase = 263; continue; };
2211                    if (yych <= ')') { gotoCase = 279; continue; };
2212                    { gotoCase = 271; continue; };
2213                }
2214            } else {
2215                if (yych <= 'Z') {
2216                    if (yych == '/') { gotoCase = 277; continue; };
2217                    { gotoCase = 279; continue; };
2218                } else {
2219                    if (yych <= '[') { gotoCase = 275; continue; };
2220                    if (yych <= '\\') { gotoCase = 282; continue; };
2221                    { gotoCase = 279; continue; };
2222                }
2223            }
2224case 281:
2225            ++cursor;
2226            yych = this._charAt(cursor);
2227            if (yych == '\n') { gotoCase = 274; continue; };
2228            if (yych == '\r') { gotoCase = 274; continue; };
2229            { gotoCase = 275; continue; };
2230case 282:
2231            ++cursor;
2232            yych = this._charAt(cursor);
2233            if (yych == '\n') { gotoCase = 274; continue; };
2234            if (yych == '\r') { gotoCase = 274; continue; };
2235            { gotoCase = 279; continue; };
2236/* *********************************** */
2237case this.case_SSTRING:
2238            yych = this._charAt(cursor);
2239            if (yych <= '\r') {
2240                if (yych == '\n') { gotoCase = 287; continue; };
2241                if (yych <= '\f') { gotoCase = 286; continue; };
2242                { gotoCase = 287; continue; };
2243            } else {
2244                if (yych <= '\'') {
2245                    if (yych <= '&') { gotoCase = 286; continue; };
2246                    { gotoCase = 289; continue; };
2247                } else {
2248                    if (yych == '\\') { gotoCase = 291; continue; };
2249                    { gotoCase = 286; continue; };
2250                }
2251            }
2252case 285:
2253            { this.tokenType = "javascript-string"; return cursor; }
2254case 286:
2255            yyaccept = 0;
2256            yych = this._charAt(YYMARKER = ++cursor);
2257            { gotoCase = 293; continue; };
2258case 287:
2259            ++cursor;
2260case 288:
2261            { this.tokenType = null; return cursor; }
2262case 289:
2263            ++cursor;
2264case 290:
2265            this.setLexCondition(this._lexConditions.NODIV);
2266            { this.tokenType = "javascript-string"; return cursor; }
2267case 291:
2268            yyaccept = 1;
2269            yych = this._charAt(YYMARKER = ++cursor);
2270            if (yych <= 'e') {
2271                if (yych <= '\'') {
2272                    if (yych == '"') { gotoCase = 292; continue; };
2273                    if (yych <= '&') { gotoCase = 288; continue; };
2274                } else {
2275                    if (yych <= '\\') {
2276                        if (yych <= '[') { gotoCase = 288; continue; };
2277                    } else {
2278                        if (yych != 'b') { gotoCase = 288; continue; };
2279                    }
2280                }
2281            } else {
2282                if (yych <= 'r') {
2283                    if (yych <= 'm') {
2284                        if (yych >= 'g') { gotoCase = 288; continue; };
2285                    } else {
2286                        if (yych <= 'n') { gotoCase = 292; continue; };
2287                        if (yych <= 'q') { gotoCase = 288; continue; };
2288                    }
2289                } else {
2290                    if (yych <= 't') {
2291                        if (yych <= 's') { gotoCase = 288; continue; };
2292                    } else {
2293                        if (yych <= 'u') { gotoCase = 294; continue; };
2294                        if (yych >= 'w') { gotoCase = 288; continue; };
2295                    }
2296                }
2297            }
2298case 292:
2299            yyaccept = 0;
2300            YYMARKER = ++cursor;
2301            yych = this._charAt(cursor);
2302case 293:
2303            if (yych <= '\r') {
2304                if (yych == '\n') { gotoCase = 285; continue; };
2305                if (yych <= '\f') { gotoCase = 292; continue; };
2306                { gotoCase = 285; continue; };
2307            } else {
2308                if (yych <= '\'') {
2309                    if (yych <= '&') { gotoCase = 292; continue; };
2310                    { gotoCase = 300; continue; };
2311                } else {
2312                    if (yych == '\\') { gotoCase = 299; continue; };
2313                    { gotoCase = 292; continue; };
2314                }
2315            }
2316case 294:
2317            ++cursor;
2318            yych = this._charAt(cursor);
2319            if (yych <= '@') {
2320                if (yych <= '/') { gotoCase = 295; continue; };
2321                if (yych <= '9') { gotoCase = 296; continue; };
2322            } else {
2323                if (yych <= 'F') { gotoCase = 296; continue; };
2324                if (yych <= '`') { gotoCase = 295; continue; };
2325                if (yych <= 'f') { gotoCase = 296; continue; };
2326            }
2327case 295:
2328            cursor = YYMARKER;
2329            if (yyaccept <= 0) {
2330                { gotoCase = 285; continue; };
2331            } else {
2332                { gotoCase = 288; continue; };
2333            }
2334case 296:
2335            ++cursor;
2336            yych = this._charAt(cursor);
2337            if (yych <= '@') {
2338                if (yych <= '/') { gotoCase = 295; continue; };
2339                if (yych >= ':') { gotoCase = 295; continue; };
2340            } else {
2341                if (yych <= 'F') { gotoCase = 297; continue; };
2342                if (yych <= '`') { gotoCase = 295; continue; };
2343                if (yych >= 'g') { gotoCase = 295; continue; };
2344            }
2345case 297:
2346            ++cursor;
2347            yych = this._charAt(cursor);
2348            if (yych <= '@') {
2349                if (yych <= '/') { gotoCase = 295; continue; };
2350                if (yych >= ':') { gotoCase = 295; continue; };
2351            } else {
2352                if (yych <= 'F') { gotoCase = 298; continue; };
2353                if (yych <= '`') { gotoCase = 295; continue; };
2354                if (yych >= 'g') { gotoCase = 295; continue; };
2355            }
2356case 298:
2357            ++cursor;
2358            yych = this._charAt(cursor);
2359            if (yych <= '@') {
2360                if (yych <= '/') { gotoCase = 295; continue; };
2361                if (yych <= '9') { gotoCase = 292; continue; };
2362                { gotoCase = 295; continue; };
2363            } else {
2364                if (yych <= 'F') { gotoCase = 292; continue; };
2365                if (yych <= '`') { gotoCase = 295; continue; };
2366                if (yych <= 'f') { gotoCase = 292; continue; };
2367                { gotoCase = 295; continue; };
2368            }
2369case 299:
2370            ++cursor;
2371            yych = this._charAt(cursor);
2372            if (yych <= 'e') {
2373                if (yych <= '\'') {
2374                    if (yych == '"') { gotoCase = 292; continue; };
2375                    if (yych <= '&') { gotoCase = 295; continue; };
2376                    { gotoCase = 292; continue; };
2377                } else {
2378                    if (yych <= '\\') {
2379                        if (yych <= '[') { gotoCase = 295; continue; };
2380                        { gotoCase = 292; continue; };
2381                    } else {
2382                        if (yych == 'b') { gotoCase = 292; continue; };
2383                        { gotoCase = 295; continue; };
2384                    }
2385                }
2386            } else {
2387                if (yych <= 'r') {
2388                    if (yych <= 'm') {
2389                        if (yych <= 'f') { gotoCase = 292; continue; };
2390                        { gotoCase = 295; continue; };
2391                    } else {
2392                        if (yych <= 'n') { gotoCase = 292; continue; };
2393                        if (yych <= 'q') { gotoCase = 295; continue; };
2394                        { gotoCase = 292; continue; };
2395                    }
2396                } else {
2397                    if (yych <= 't') {
2398                        if (yych <= 's') { gotoCase = 295; continue; };
2399                        { gotoCase = 292; continue; };
2400                    } else {
2401                        if (yych <= 'u') { gotoCase = 294; continue; };
2402                        if (yych <= 'v') { gotoCase = 292; continue; };
2403                        { gotoCase = 295; continue; };
2404                    }
2405                }
2406            }
2407case 300:
2408            ++cursor;
2409            yych = this._charAt(cursor);
2410            { gotoCase = 290; continue; };
2411        }
2412
2413        }
2414    }
2415}
2416
2417WebInspector.SourceJavaScriptTokenizer.prototype.__proto__ = WebInspector.SourceTokenizer.prototype;
2418