1/* Generated by re2c 0.13.5 on Mon Dec 20 18:44:30 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/SourceCSSTokenizer.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.SourceCSSTokenizer = function()
45{
46    WebInspector.SourceTokenizer.call(this);
47
48    this._propertyKeywords = WebInspector.cssNameCompletions.keySet();
49
50    this._valueKeywords = [
51        "above", "absolute", "activeborder", "activecaption", "afar", "after-white-space", "ahead", "alias", "all", "all-scroll",
52        "alternate", "always","amharic", "amharic-abegede", "antialiased", "appworkspace", "aqua", "arabic-indic", "armenian", "asterisks",
53        "auto", "avoid", "background", "backwards", "baseline", "below", "bidi-override", "binary", "bengali", "black", "blink",
54        "block", "block-axis", "blue", "bold", "bolder", "border", "border-box", "both", "bottom", "break-all", "break-word", "button",
55        "button-bevel", "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "cambodian", "capitalize", "caps-lock-indicator",
56        "caption", "captiontext", "caret", "cell", "center", "checkbox", "circle", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic",
57        "clear", "clip", "close-quote", "col-resize", "collapse", "compact", "condensed", "contain", "content", "content-box", "context-menu",
58        "continuous", "copy", "cover", "crop", "cross", "crosshair", "currentcolor", "cursive", "dashed", "decimal", "decimal-leading-zero", "default",
59        "default-button", "destination-atop", "destination-in", "destination-out", "destination-over", "devanagari", "disc", "discard", "document",
60        "dot-dash", "dot-dot-dash", "dotted", "double", "down", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", "element",
61        "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", "ethiopic-abegede-am-et", "ethiopic-abegede-gez",
62        "ethiopic-abegede-ti-er", "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", "ethiopic-halehame-aa-et",
63        "ethiopic-halehame-am-et", "ethiopic-halehame-gez", "ethiopic-halehame-om-et", "ethiopic-halehame-sid-et",
64        "ethiopic-halehame-so-et", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", "ew-resize", "expanded",
65        "extra-condensed", "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "footnotes", "forwards", "from", "fuchsia", "geometricPrecision",
66        "georgian", "gray", "graytext", "green", "grey", "groove", "gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hebrew", "help",
67        "hidden", "hide", "higher", "highlight", "highlighttext", "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "icon", "ignore",
68        "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline",
69        "inline-axis", "inline-block", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "justify", "kannada", "katakana",
70        "katakana-iroha", "khmer", "landscape", "lao", "large", "larger", "left", "level", "lighter", "lime", "line-through", "linear", "lines",
71        "list-button", "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek",
72        "lower-hexadecimal", "lower-latin", "lower-norwegian", "lower-roman", "lowercase", "ltr", "malayalam", "maroon", "match", "media-controls-background",
73        "media-current-time-display", "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button",
74        "media-rewind-button", "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display",
75        "media-volume-slider", "media-volume-slider-container", "media-volume-sliderthumb", "medium", "menu", "menulist", "menulist-button",
76        "menulist-text", "menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic", "mix", "mongolian", "monospace", "move", "multiple",
77        "myanmar", "n-resize", "narrower", "navy", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", "no-open-quote", "no-repeat", "none",
78        "normal", "not-allowed", "nowrap", "ns-resize", "nw-resize", "nwse-resize", "oblique", "octal", "olive", "open-quote", "optimizeLegibility",
79        "optimizeSpeed", "orange", "oriya", "oromo", "outset", "outside", "overlay", "overline", "padding", "padding-box", "painted", "paused",
80        "persian", "plus-darker", "plus-lighter", "pointer", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", "progress", "purple",
81        "push-button", "radio", "read-only", "read-write", "read-write-plaintext-only", "red", "relative", "repeat", "repeat-x",
82        "repeat-y", "reset", "reverse", "rgb", "rgba", "ridge", "right", "round", "row-resize", "rtl", "run-in", "running", "s-resize", "sans-serif",
83        "scroll", "scrollbar", "se-resize", "searchfield", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button",
84        "searchfield-results-decoration", "semi-condensed", "semi-expanded", "separate", "serif", "show", "sidama", "silver", "single",
85        "skip-white-space", "slide", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow",
86        "small", "small-caps", "small-caption", "smaller", "solid", "somali", "source-atop", "source-in", "source-out", "source-over",
87        "space", "square", "square-button", "start", "static", "status-bar", "stretch", "stroke", "sub", "subpixel-antialiased", "super",
88        "sw-resize", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group",
89        "table-row", "table-row-group", "teal", "telugu", "text", "text-bottom", "text-top", "textarea", "textfield", "thai", "thick", "thin",
90        "threeddarkshadow", "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "tibetan", "tigre", "tigrinya-er", "tigrinya-er-abegede",
91        "tigrinya-et", "tigrinya-et-abegede", "to", "top", "transparent", "ultra-condensed", "ultra-expanded", "underline", "up", "upper-alpha", "upper-armenian",
92        "upper-greek", "upper-hexadecimal", "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "urdu", "url", "vertical", "vertical-text", "visible",
93        "visibleFill", "visiblePainted", "visibleStroke", "visual", "w-resize", "wait", "wave", "white", "wider", "window", "windowframe", "windowtext",
94        "x-large", "x-small", "xor", "xx-large", "xx-small", "yellow", "-wap-marquee", "-webkit-activelink", "-webkit-auto", "-webkit-baseline-middle",
95        "-webkit-body", "-webkit-box", "-webkit-center", "-webkit-control", "-webkit-focus-ring-color", "-webkit-grab", "-webkit-grabbing",
96        "-webkit-gradient", "-webkit-inline-box", "-webkit-left", "-webkit-link", "-webkit-marquee", "-webkit-mini-control", "-webkit-nowrap", "-webkit-right",
97        "-webkit-small-control", "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
98    ].keySet();
99
100    this._mediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
101
102    this._lexConditions = {
103        INITIAL: 0,
104        COMMENT: 1,
105        DSTRING: 2,
106        SSTRING: 3
107    };
108
109    this._parseConditions = {
110        INITIAL: 0,
111        PROPERTY: 1,
112        PROPERTY_VALUE: 2,
113        AT_RULE: 3
114    };
115
116    this.case_INITIAL = 1000;
117    this.case_COMMENT = 1002;
118    this.case_DSTRING = 1003;
119    this.case_SSTRING = 1004;
120
121    this.initialCondition = { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL }
122}
123
124WebInspector.SourceCSSTokenizer.prototype = {
125    _stringToken: function(cursor, stringEnds)
126    {
127        if (this._isPropertyValue())
128            this.tokenType = "css-string";
129        else
130            this.tokenType = null;
131        return cursor;
132    },
133
134    _isPropertyValue: function()
135    {
136        return this._condition.parseCondition === this._parseConditions.PROPERTY_VALUE || this._condition.parseCondition === this._parseConditions.AT_RULE;
137    },
138
139    nextToken: function(cursor)
140    {
141        var cursorOnEnter = cursor;
142        var gotoCase = 1;
143        while (1) {
144            switch (gotoCase)
145            // Following comment is replaced with generated state machine.
146
147        {
148            case 1: var yych;
149            var yyaccept = 0;
150            if (this.getLexCondition() < 2) {
151                if (this.getLexCondition() < 1) {
152                    { gotoCase = this.case_INITIAL; continue; };
153                } else {
154                    { gotoCase = this.case_COMMENT; continue; };
155                }
156            } else {
157                if (this.getLexCondition() < 3) {
158                    { gotoCase = this.case_DSTRING; continue; };
159                } else {
160                    { gotoCase = this.case_SSTRING; continue; };
161                }
162            }
163/* *********************************** */
164case this.case_COMMENT:
165
166            yych = this._charAt(cursor);
167            if (yych <= '\f') {
168                if (yych == '\n') { gotoCase = 4; continue; };
169                { gotoCase = 3; continue; };
170            } else {
171                if (yych <= '\r') { gotoCase = 4; continue; };
172                if (yych == '*') { gotoCase = 6; continue; };
173                { gotoCase = 3; continue; };
174            }
175case 2:
176            { this.tokenType = "css-comment"; return cursor; }
177case 3:
178            yyaccept = 0;
179            yych = this._charAt(YYMARKER = ++cursor);
180            { gotoCase = 12; continue; };
181case 4:
182            ++cursor;
183            { this.tokenType = null; return cursor; }
184case 6:
185            yyaccept = 1;
186            yych = this._charAt(YYMARKER = ++cursor);
187            if (yych == '*') { gotoCase = 9; continue; };
188            if (yych != '/') { gotoCase = 11; continue; };
189case 7:
190            ++cursor;
191            this.setLexCondition(this._lexConditions.INITIAL);
192            { this.tokenType = "css-comment"; return cursor; }
193case 9:
194            ++cursor;
195            yych = this._charAt(cursor);
196            if (yych == '*') { gotoCase = 9; continue; };
197            if (yych == '/') { gotoCase = 7; continue; };
198case 11:
199            yyaccept = 0;
200            YYMARKER = ++cursor;
201            yych = this._charAt(cursor);
202case 12:
203            if (yych <= '\f') {
204                if (yych == '\n') { gotoCase = 2; continue; };
205                { gotoCase = 11; continue; };
206            } else {
207                if (yych <= '\r') { gotoCase = 2; continue; };
208                if (yych == '*') { gotoCase = 9; continue; };
209                { gotoCase = 11; continue; };
210            }
211/* *********************************** */
212case this.case_DSTRING:
213            yych = this._charAt(cursor);
214            if (yych <= '\r') {
215                if (yych == '\n') { gotoCase = 17; continue; };
216                if (yych <= '\f') { gotoCase = 16; continue; };
217                { gotoCase = 17; continue; };
218            } else {
219                if (yych <= '"') {
220                    if (yych <= '!') { gotoCase = 16; continue; };
221                    { gotoCase = 19; continue; };
222                } else {
223                    if (yych == '\\') { gotoCase = 21; continue; };
224                    { gotoCase = 16; continue; };
225                }
226            }
227case 15:
228            { return this._stringToken(cursor); }
229case 16:
230            yyaccept = 0;
231            yych = this._charAt(YYMARKER = ++cursor);
232            { gotoCase = 23; continue; };
233case 17:
234            ++cursor;
235case 18:
236            { this.tokenType = null; return cursor; }
237case 19:
238            ++cursor;
239case 20:
240            this.setLexCondition(this._lexConditions.INITIAL);
241            { return this._stringToken(cursor, true); }
242case 21:
243            yych = this._charAt(++cursor);
244            if (yych <= 'e') {
245                if (yych <= '\'') {
246                    if (yych == '"') { gotoCase = 22; continue; };
247                    if (yych <= '&') { gotoCase = 18; continue; };
248                } else {
249                    if (yych <= '\\') {
250                        if (yych <= '[') { gotoCase = 18; continue; };
251                    } else {
252                        if (yych != 'b') { gotoCase = 18; continue; };
253                    }
254                }
255            } else {
256                if (yych <= 'r') {
257                    if (yych <= 'm') {
258                        if (yych >= 'g') { gotoCase = 18; continue; };
259                    } else {
260                        if (yych <= 'n') { gotoCase = 22; continue; };
261                        if (yych <= 'q') { gotoCase = 18; continue; };
262                    }
263                } else {
264                    if (yych <= 't') {
265                        if (yych <= 's') { gotoCase = 18; continue; };
266                    } else {
267                        if (yych != 'v') { gotoCase = 18; continue; };
268                    }
269                }
270            }
271case 22:
272            yyaccept = 0;
273            YYMARKER = ++cursor;
274            yych = this._charAt(cursor);
275case 23:
276            if (yych <= '\r') {
277                if (yych == '\n') { gotoCase = 15; continue; };
278                if (yych <= '\f') { gotoCase = 22; continue; };
279                { gotoCase = 15; continue; };
280            } else {
281                if (yych <= '"') {
282                    if (yych <= '!') { gotoCase = 22; continue; };
283                    { gotoCase = 26; continue; };
284                } else {
285                    if (yych != '\\') { gotoCase = 22; continue; };
286                }
287            }
288            ++cursor;
289            yych = this._charAt(cursor);
290            if (yych <= 'e') {
291                if (yych <= '\'') {
292                    if (yych == '"') { gotoCase = 22; continue; };
293                    if (yych >= '\'') { gotoCase = 22; continue; };
294                } else {
295                    if (yych <= '\\') {
296                        if (yych >= '\\') { gotoCase = 22; continue; };
297                    } else {
298                        if (yych == 'b') { gotoCase = 22; continue; };
299                    }
300                }
301            } else {
302                if (yych <= 'r') {
303                    if (yych <= 'm') {
304                        if (yych <= 'f') { gotoCase = 22; continue; };
305                    } else {
306                        if (yych <= 'n') { gotoCase = 22; continue; };
307                        if (yych >= 'r') { gotoCase = 22; continue; };
308                    }
309                } else {
310                    if (yych <= 't') {
311                        if (yych >= 't') { gotoCase = 22; continue; };
312                    } else {
313                        if (yych == 'v') { gotoCase = 22; continue; };
314                    }
315                }
316            }
317            cursor = YYMARKER;
318            { gotoCase = 15; continue; };
319case 26:
320            ++cursor;
321            yych = this._charAt(cursor);
322            { gotoCase = 20; continue; };
323/* *********************************** */
324case this.case_INITIAL:
325            yych = this._charAt(cursor);
326            if (yych <= ';') {
327                if (yych <= '\'') {
328                    if (yych <= '"') {
329                        if (yych <= ' ') { gotoCase = 29; continue; };
330                        if (yych <= '!') { gotoCase = 31; continue; };
331                        { gotoCase = 33; continue; };
332                    } else {
333                        if (yych == '$') { gotoCase = 31; continue; };
334                        if (yych >= '\'') { gotoCase = 34; continue; };
335                    }
336                } else {
337                    if (yych <= '.') {
338                        if (yych <= ',') { gotoCase = 29; continue; };
339                        if (yych <= '-') { gotoCase = 35; continue; };
340                        { gotoCase = 36; continue; };
341                    } else {
342                        if (yych <= '/') { gotoCase = 37; continue; };
343                        if (yych <= '9') { gotoCase = 38; continue; };
344                        if (yych <= ':') { gotoCase = 40; continue; };
345                        { gotoCase = 42; continue; };
346                    }
347                }
348            } else {
349                if (yych <= '^') {
350                    if (yych <= '?') {
351                        if (yych == '=') { gotoCase = 31; continue; };
352                    } else {
353                        if (yych == '\\') { gotoCase = 29; continue; };
354                        if (yych <= ']') { gotoCase = 31; continue; };
355                    }
356                } else {
357                    if (yych <= 'z') {
358                        if (yych != '`') { gotoCase = 31; continue; };
359                    } else {
360                        if (yych <= '{') { gotoCase = 44; continue; };
361                        if (yych == '}') { gotoCase = 46; continue; };
362                    }
363                }
364            }
365case 29:
366            ++cursor;
367case 30:
368            { this.tokenType = null; return cursor; }
369case 31:
370            ++cursor;
371            yych = this._charAt(cursor);
372            { gotoCase = 49; continue; };
373case 32:
374            {
375                    var token = this._line.substring(cursorOnEnter, cursor);
376                    if (this._condition.parseCondition === this._parseConditions.INITIAL) {
377                        if (token === "@import" || token === "@media") {
378                            this.tokenType = "css-at-rule";
379                            this._condition.parseCondition = this._parseConditions.AT_RULE;
380                        } else if (token.indexOf("@") === 0)
381                            this.tokenType = "css-at-rule";
382                        else
383                            this.tokenType = "css-selector";
384                    }
385                    else if (this._condition.parseCondition === this._parseConditions.AT_RULE && token in this._mediaTypes)
386                        this.tokenType = "css-keyword";
387                    else if (this._condition.parseCondition === this._parseConditions.PROPERTY && token in this._propertyKeywords)
388                        this.tokenType = "css-property";
389                    else if (this._isPropertyValue() && token in this._valueKeywords)
390                        this.tokenType = "css-keyword";
391                    else if (token === "!important")
392                        this.tokenType = "css-important";
393                    else
394                        this.tokenType = null;
395                    return cursor;
396                }
397case 33:
398            yyaccept = 0;
399            yych = this._charAt(YYMARKER = ++cursor);
400            if (yych <= '-') {
401                if (yych <= '!') {
402                    if (yych <= '\f') {
403                        if (yych == '\n') { gotoCase = 32; continue; };
404                        { gotoCase = 124; continue; };
405                    } else {
406                        if (yych <= '\r') { gotoCase = 32; continue; };
407                        if (yych <= ' ') { gotoCase = 124; continue; };
408                        { gotoCase = 122; continue; };
409                    }
410                } else {
411                    if (yych <= '$') {
412                        if (yych <= '"') { gotoCase = 114; continue; };
413                        if (yych <= '#') { gotoCase = 124; continue; };
414                        { gotoCase = 122; continue; };
415                    } else {
416                        if (yych == '\'') { gotoCase = 122; continue; };
417                        if (yych <= ',') { gotoCase = 124; continue; };
418                        { gotoCase = 122; continue; };
419                    }
420                }
421            } else {
422                if (yych <= '[') {
423                    if (yych <= '<') {
424                        if (yych <= '.') { gotoCase = 124; continue; };
425                        if (yych <= '9') { gotoCase = 122; continue; };
426                        { gotoCase = 124; continue; };
427                    } else {
428                        if (yych <= '=') { gotoCase = 122; continue; };
429                        if (yych <= '?') { gotoCase = 124; continue; };
430                        { gotoCase = 122; continue; };
431                    }
432                } else {
433                    if (yych <= '^') {
434                        if (yych <= '\\') { gotoCase = 126; continue; };
435                        if (yych <= ']') { gotoCase = 122; continue; };
436                        { gotoCase = 124; continue; };
437                    } else {
438                        if (yych == '`') { gotoCase = 124; continue; };
439                        if (yych <= 'z') { gotoCase = 122; continue; };
440                        { gotoCase = 124; continue; };
441                    }
442                }
443            }
444case 34:
445            yyaccept = 0;
446            yych = this._charAt(YYMARKER = ++cursor);
447            if (yych <= '-') {
448                if (yych <= '"') {
449                    if (yych <= '\f') {
450                        if (yych == '\n') { gotoCase = 32; continue; };
451                        { gotoCase = 116; continue; };
452                    } else {
453                        if (yych <= '\r') { gotoCase = 32; continue; };
454                        if (yych <= ' ') { gotoCase = 116; continue; };
455                        { gotoCase = 112; continue; };
456                    }
457                } else {
458                    if (yych <= '&') {
459                        if (yych == '$') { gotoCase = 112; continue; };
460                        { gotoCase = 116; continue; };
461                    } else {
462                        if (yych <= '\'') { gotoCase = 114; continue; };
463                        if (yych <= ',') { gotoCase = 116; continue; };
464                        { gotoCase = 112; continue; };
465                    }
466                }
467            } else {
468                if (yych <= '[') {
469                    if (yych <= '<') {
470                        if (yych <= '.') { gotoCase = 116; continue; };
471                        if (yych <= '9') { gotoCase = 112; continue; };
472                        { gotoCase = 116; continue; };
473                    } else {
474                        if (yych <= '=') { gotoCase = 112; continue; };
475                        if (yych <= '?') { gotoCase = 116; continue; };
476                        { gotoCase = 112; continue; };
477                    }
478                } else {
479                    if (yych <= '^') {
480                        if (yych <= '\\') { gotoCase = 118; continue; };
481                        if (yych <= ']') { gotoCase = 112; continue; };
482                        { gotoCase = 116; continue; };
483                    } else {
484                        if (yych == '`') { gotoCase = 116; continue; };
485                        if (yych <= 'z') { gotoCase = 112; continue; };
486                        { gotoCase = 116; continue; };
487                    }
488                }
489            }
490case 35:
491            yyaccept = 0;
492            yych = this._charAt(YYMARKER = ++cursor);
493            if (yych == '.') { gotoCase = 65; continue; };
494            if (yych <= '/') { gotoCase = 49; continue; };
495            if (yych <= '9') { gotoCase = 50; continue; };
496            { gotoCase = 49; continue; };
497case 36:
498            yych = this._charAt(++cursor);
499            if (yych <= '/') { gotoCase = 30; continue; };
500            if (yych <= '9') { gotoCase = 68; continue; };
501            { gotoCase = 30; continue; };
502case 37:
503            yyaccept = 0;
504            yych = this._charAt(YYMARKER = ++cursor);
505            if (yych == '*') { gotoCase = 104; continue; };
506            { gotoCase = 49; continue; };
507case 38:
508            yyaccept = 1;
509            yych = this._charAt(YYMARKER = ++cursor);
510            switch (yych) {
511            case '!':
512            case '"':
513            case '$':
514            case '\'':
515            case '-':
516            case '/':
517            case '=':
518            case '@':
519            case 'A':
520            case 'B':
521            case 'C':
522            case 'D':
523            case 'E':
524            case 'F':
525            case 'G':
526            case 'I':
527            case 'J':
528            case 'K':
529            case 'L':
530            case 'M':
531            case 'N':
532            case 'O':
533            case 'P':
534            case 'Q':
535            case 'R':
536            case 'S':
537            case 'T':
538            case 'U':
539            case 'V':
540            case 'W':
541            case 'X':
542            case 'Y':
543            case 'Z':
544            case '[':
545            case ']':
546            case 'a':
547            case 'b':
548            case 'f':
549            case 'h':
550            case 'j':
551            case 'l':
552            case 'n':
553            case 'o':
554            case 'q':
555            case 'u':
556            case 'v':
557            case 'w':
558            case 'x':
559            case 'y':
560            case 'z':    { gotoCase = 48; continue; };
561            case '%':    { gotoCase = 67; continue; };
562            case '.':    { gotoCase = 65; continue; };
563            case '0':
564            case '1':
565            case '2':
566            case '3':
567            case '4':
568            case '5':
569            case '6':
570            case '7':
571            case '8':
572            case '9':    { gotoCase = 50; continue; };
573            case 'H':    { gotoCase = 52; continue; };
574            case '_':    { gotoCase = 53; continue; };
575            case 'c':    { gotoCase = 54; continue; };
576            case 'd':    { gotoCase = 55; continue; };
577            case 'e':    { gotoCase = 56; continue; };
578            case 'g':    { gotoCase = 57; continue; };
579            case 'i':    { gotoCase = 58; continue; };
580            case 'k':    { gotoCase = 59; continue; };
581            case 'm':    { gotoCase = 60; continue; };
582            case 'p':    { gotoCase = 61; continue; };
583            case 'r':    { gotoCase = 62; continue; };
584            case 's':    { gotoCase = 63; continue; };
585            case 't':    { gotoCase = 64; continue; };
586            default:    { gotoCase = 39; continue; };
587            }
588case 39:
589            {
590                    if (this._isPropertyValue())
591                        this.tokenType = "css-number";
592                    else
593                        this.tokenType = null;
594                    return cursor;
595                }
596case 40:
597            ++cursor;
598            {
599                    this.tokenType = null;
600                    if (this._condition.parseCondition === this._parseConditions.PROPERTY)
601                        this._condition.parseCondition = this._parseConditions.PROPERTY_VALUE;
602                    return cursor;
603                }
604case 42:
605            ++cursor;
606            {
607                    this.tokenType = null;
608                    if (this._condition.parseCondition === this._parseConditions.AT_RULE)
609                        this._condition.parseCondition = this._parseConditions.INITIAL;
610                    else
611                        this._condition.parseCondition = this._parseConditions.PROPERTY;
612                    return cursor;
613                }
614case 44:
615            ++cursor;
616            {
617                    this.tokenType = null;
618                    if (this._condition.parseCondition === this._parseConditions.AT_RULE)
619                        this._condition.parseCondition = this._parseConditions.INITIAL;
620                    else
621                        this._condition.parseCondition = this._parseConditions.PROPERTY;
622                    return cursor;
623                }
624case 46:
625            ++cursor;
626            {
627                    this.tokenType = null;
628                    this._condition.parseCondition = this._parseConditions.INITIAL;
629                    return cursor;
630                }
631case 48:
632            ++cursor;
633            yych = this._charAt(cursor);
634case 49:
635            if (yych <= '9') {
636                if (yych <= '&') {
637                    if (yych <= '"') {
638                        if (yych <= ' ') { gotoCase = 32; continue; };
639                        { gotoCase = 48; continue; };
640                    } else {
641                        if (yych == '$') { gotoCase = 48; continue; };
642                        { gotoCase = 32; continue; };
643                    }
644                } else {
645                    if (yych <= ',') {
646                        if (yych <= '\'') { gotoCase = 48; continue; };
647                        { gotoCase = 32; continue; };
648                    } else {
649                        if (yych == '.') { gotoCase = 32; continue; };
650                        { gotoCase = 48; continue; };
651                    }
652                }
653            } else {
654                if (yych <= '\\') {
655                    if (yych <= '=') {
656                        if (yych <= '<') { gotoCase = 32; continue; };
657                        { gotoCase = 48; continue; };
658                    } else {
659                        if (yych <= '?') { gotoCase = 32; continue; };
660                        if (yych <= '[') { gotoCase = 48; continue; };
661                        { gotoCase = 32; continue; };
662                    }
663                } else {
664                    if (yych <= '_') {
665                        if (yych == '^') { gotoCase = 32; continue; };
666                        { gotoCase = 48; continue; };
667                    } else {
668                        if (yych <= '`') { gotoCase = 32; continue; };
669                        if (yych <= 'z') { gotoCase = 48; continue; };
670                        { gotoCase = 32; continue; };
671                    }
672                }
673            }
674case 50:
675            yyaccept = 1;
676            YYMARKER = ++cursor;
677            yych = this._charAt(cursor);
678            switch (yych) {
679            case '!':
680            case '"':
681            case '$':
682            case '\'':
683            case '-':
684            case '/':
685            case '=':
686            case '@':
687            case 'A':
688            case 'B':
689            case 'C':
690            case 'D':
691            case 'E':
692            case 'F':
693            case 'G':
694            case 'I':
695            case 'J':
696            case 'K':
697            case 'L':
698            case 'M':
699            case 'N':
700            case 'O':
701            case 'P':
702            case 'Q':
703            case 'R':
704            case 'S':
705            case 'T':
706            case 'U':
707            case 'V':
708            case 'W':
709            case 'X':
710            case 'Y':
711            case 'Z':
712            case '[':
713            case ']':
714            case 'a':
715            case 'b':
716            case 'f':
717            case 'h':
718            case 'j':
719            case 'l':
720            case 'n':
721            case 'o':
722            case 'q':
723            case 'u':
724            case 'v':
725            case 'w':
726            case 'x':
727            case 'y':
728            case 'z':    { gotoCase = 48; continue; };
729            case '%':    { gotoCase = 67; continue; };
730            case '.':    { gotoCase = 65; continue; };
731            case '0':
732            case '1':
733            case '2':
734            case '3':
735            case '4':
736            case '5':
737            case '6':
738            case '7':
739            case '8':
740            case '9':    { gotoCase = 50; continue; };
741            case 'H':    { gotoCase = 52; continue; };
742            case '_':    { gotoCase = 53; continue; };
743            case 'c':    { gotoCase = 54; continue; };
744            case 'd':    { gotoCase = 55; continue; };
745            case 'e':    { gotoCase = 56; continue; };
746            case 'g':    { gotoCase = 57; continue; };
747            case 'i':    { gotoCase = 58; continue; };
748            case 'k':    { gotoCase = 59; continue; };
749            case 'm':    { gotoCase = 60; continue; };
750            case 'p':    { gotoCase = 61; continue; };
751            case 'r':    { gotoCase = 62; continue; };
752            case 's':    { gotoCase = 63; continue; };
753            case 't':    { gotoCase = 64; continue; };
754            default:    { gotoCase = 39; continue; };
755            }
756case 52:
757            yych = this._charAt(++cursor);
758            if (yych == 'z') { gotoCase = 63; continue; };
759            { gotoCase = 49; continue; };
760case 53:
761            yych = this._charAt(++cursor);
762            if (yych == '_') { gotoCase = 101; continue; };
763            { gotoCase = 49; continue; };
764case 54:
765            yych = this._charAt(++cursor);
766            if (yych == 'm') { gotoCase = 63; continue; };
767            { gotoCase = 49; continue; };
768case 55:
769            yych = this._charAt(++cursor);
770            if (yych == 'e') { gotoCase = 100; continue; };
771            { gotoCase = 49; continue; };
772case 56:
773            yych = this._charAt(++cursor);
774            if (yych == 'm') { gotoCase = 63; continue; };
775            if (yych == 'x') { gotoCase = 63; continue; };
776            { gotoCase = 49; continue; };
777case 57:
778            yych = this._charAt(++cursor);
779            if (yych == 'r') { gotoCase = 98; continue; };
780            { gotoCase = 49; continue; };
781case 58:
782            yych = this._charAt(++cursor);
783            if (yych == 'n') { gotoCase = 63; continue; };
784            { gotoCase = 49; continue; };
785case 59:
786            yych = this._charAt(++cursor);
787            if (yych == 'H') { gotoCase = 97; continue; };
788            { gotoCase = 49; continue; };
789case 60:
790            yych = this._charAt(++cursor);
791            if (yych == 'm') { gotoCase = 63; continue; };
792            if (yych == 's') { gotoCase = 63; continue; };
793            { gotoCase = 49; continue; };
794case 61:
795            yych = this._charAt(++cursor);
796            if (yych <= 's') {
797                if (yych == 'c') { gotoCase = 63; continue; };
798                { gotoCase = 49; continue; };
799            } else {
800                if (yych <= 't') { gotoCase = 63; continue; };
801                if (yych == 'x') { gotoCase = 63; continue; };
802                { gotoCase = 49; continue; };
803            }
804case 62:
805            yych = this._charAt(++cursor);
806            if (yych == 'a') { gotoCase = 95; continue; };
807            if (yych == 'e') { gotoCase = 96; continue; };
808            { gotoCase = 49; continue; };
809case 63:
810            yych = this._charAt(++cursor);
811            if (yych <= '9') {
812                if (yych <= '&') {
813                    if (yych <= '"') {
814                        if (yych <= ' ') { gotoCase = 39; continue; };
815                        { gotoCase = 48; continue; };
816                    } else {
817                        if (yych == '$') { gotoCase = 48; continue; };
818                        { gotoCase = 39; continue; };
819                    }
820                } else {
821                    if (yych <= ',') {
822                        if (yych <= '\'') { gotoCase = 48; continue; };
823                        { gotoCase = 39; continue; };
824                    } else {
825                        if (yych == '.') { gotoCase = 39; continue; };
826                        { gotoCase = 48; continue; };
827                    }
828                }
829            } else {
830                if (yych <= '\\') {
831                    if (yych <= '=') {
832                        if (yych <= '<') { gotoCase = 39; continue; };
833                        { gotoCase = 48; continue; };
834                    } else {
835                        if (yych <= '?') { gotoCase = 39; continue; };
836                        if (yych <= '[') { gotoCase = 48; continue; };
837                        { gotoCase = 39; continue; };
838                    }
839                } else {
840                    if (yych <= '_') {
841                        if (yych == '^') { gotoCase = 39; continue; };
842                        { gotoCase = 48; continue; };
843                    } else {
844                        if (yych <= '`') { gotoCase = 39; continue; };
845                        if (yych <= 'z') { gotoCase = 48; continue; };
846                        { gotoCase = 39; continue; };
847                    }
848                }
849            }
850case 64:
851            yych = this._charAt(++cursor);
852            if (yych == 'u') { gotoCase = 93; continue; };
853            { gotoCase = 49; continue; };
854case 65:
855            yych = this._charAt(++cursor);
856            if (yych <= '/') { gotoCase = 66; continue; };
857            if (yych <= '9') { gotoCase = 68; continue; };
858case 66:
859            cursor = YYMARKER;
860            if (yyaccept <= 0) {
861                { gotoCase = 32; continue; };
862            } else {
863                { gotoCase = 39; continue; };
864            }
865case 67:
866            yych = this._charAt(++cursor);
867            { gotoCase = 39; continue; };
868case 68:
869            yyaccept = 1;
870            YYMARKER = ++cursor;
871            yych = this._charAt(cursor);
872            if (yych <= 'f') {
873                if (yych <= 'H') {
874                    if (yych <= '/') {
875                        if (yych == '%') { gotoCase = 67; continue; };
876                        { gotoCase = 39; continue; };
877                    } else {
878                        if (yych <= '9') { gotoCase = 68; continue; };
879                        if (yych <= 'G') { gotoCase = 39; continue; };
880                        { gotoCase = 80; continue; };
881                    }
882                } else {
883                    if (yych <= 'b') {
884                        if (yych == '_') { gotoCase = 72; continue; };
885                        { gotoCase = 39; continue; };
886                    } else {
887                        if (yych <= 'c') { gotoCase = 74; continue; };
888                        if (yych <= 'd') { gotoCase = 77; continue; };
889                        if (yych >= 'f') { gotoCase = 39; continue; };
890                    }
891                }
892            } else {
893                if (yych <= 'm') {
894                    if (yych <= 'i') {
895                        if (yych <= 'g') { gotoCase = 78; continue; };
896                        if (yych <= 'h') { gotoCase = 39; continue; };
897                        { gotoCase = 76; continue; };
898                    } else {
899                        if (yych == 'k') { gotoCase = 81; continue; };
900                        if (yych <= 'l') { gotoCase = 39; continue; };
901                        { gotoCase = 75; continue; };
902                    }
903                } else {
904                    if (yych <= 'q') {
905                        if (yych == 'p') { gotoCase = 73; continue; };
906                        { gotoCase = 39; continue; };
907                    } else {
908                        if (yych <= 'r') { gotoCase = 71; continue; };
909                        if (yych <= 's') { gotoCase = 67; continue; };
910                        if (yych <= 't') { gotoCase = 79; continue; };
911                        { gotoCase = 39; continue; };
912                    }
913                }
914            }
915            yych = this._charAt(++cursor);
916            if (yych == 'm') { gotoCase = 67; continue; };
917            if (yych == 'x') { gotoCase = 67; continue; };
918            { gotoCase = 66; continue; };
919case 71:
920            yych = this._charAt(++cursor);
921            if (yych == 'a') { gotoCase = 91; continue; };
922            if (yych == 'e') { gotoCase = 92; continue; };
923            { gotoCase = 66; continue; };
924case 72:
925            yych = this._charAt(++cursor);
926            if (yych == '_') { gotoCase = 88; continue; };
927            { gotoCase = 66; continue; };
928case 73:
929            yych = this._charAt(++cursor);
930            if (yych <= 's') {
931                if (yych == 'c') { gotoCase = 67; continue; };
932                { gotoCase = 66; continue; };
933            } else {
934                if (yych <= 't') { gotoCase = 67; continue; };
935                if (yych == 'x') { gotoCase = 67; continue; };
936                { gotoCase = 66; continue; };
937            }
938case 74:
939            yych = this._charAt(++cursor);
940            if (yych == 'm') { gotoCase = 67; continue; };
941            { gotoCase = 66; continue; };
942case 75:
943            yych = this._charAt(++cursor);
944            if (yych == 'm') { gotoCase = 67; continue; };
945            if (yych == 's') { gotoCase = 67; continue; };
946            { gotoCase = 66; continue; };
947case 76:
948            yych = this._charAt(++cursor);
949            if (yych == 'n') { gotoCase = 67; continue; };
950            { gotoCase = 66; continue; };
951case 77:
952            yych = this._charAt(++cursor);
953            if (yych == 'e') { gotoCase = 87; continue; };
954            { gotoCase = 66; continue; };
955case 78:
956            yych = this._charAt(++cursor);
957            if (yych == 'r') { gotoCase = 85; continue; };
958            { gotoCase = 66; continue; };
959case 79:
960            yych = this._charAt(++cursor);
961            if (yych == 'u') { gotoCase = 83; continue; };
962            { gotoCase = 66; continue; };
963case 80:
964            yych = this._charAt(++cursor);
965            if (yych == 'z') { gotoCase = 67; continue; };
966            { gotoCase = 66; continue; };
967case 81:
968            yych = this._charAt(++cursor);
969            if (yych != 'H') { gotoCase = 66; continue; };
970            yych = this._charAt(++cursor);
971            if (yych == 'z') { gotoCase = 67; continue; };
972            { gotoCase = 66; continue; };
973case 83:
974            yych = this._charAt(++cursor);
975            if (yych != 'r') { gotoCase = 66; continue; };
976            yych = this._charAt(++cursor);
977            if (yych == 'n') { gotoCase = 67; continue; };
978            { gotoCase = 66; continue; };
979case 85:
980            yych = this._charAt(++cursor);
981            if (yych != 'a') { gotoCase = 66; continue; };
982            yych = this._charAt(++cursor);
983            if (yych == 'd') { gotoCase = 67; continue; };
984            { gotoCase = 66; continue; };
985case 87:
986            yych = this._charAt(++cursor);
987            if (yych == 'g') { gotoCase = 67; continue; };
988            { gotoCase = 66; continue; };
989case 88:
990            yych = this._charAt(++cursor);
991            if (yych != 'q') { gotoCase = 66; continue; };
992            yych = this._charAt(++cursor);
993            if (yych != 'e') { gotoCase = 66; continue; };
994            yych = this._charAt(++cursor);
995            if (yych == 'm') { gotoCase = 67; continue; };
996            { gotoCase = 66; continue; };
997case 91:
998            yych = this._charAt(++cursor);
999            if (yych == 'd') { gotoCase = 67; continue; };
1000            { gotoCase = 66; continue; };
1001case 92:
1002            yych = this._charAt(++cursor);
1003            if (yych == 'm') { gotoCase = 67; continue; };
1004            { gotoCase = 66; continue; };
1005case 93:
1006            yych = this._charAt(++cursor);
1007            if (yych != 'r') { gotoCase = 49; continue; };
1008            yych = this._charAt(++cursor);
1009            if (yych == 'n') { gotoCase = 63; continue; };
1010            { gotoCase = 49; continue; };
1011case 95:
1012            yych = this._charAt(++cursor);
1013            if (yych == 'd') { gotoCase = 63; continue; };
1014            { gotoCase = 49; continue; };
1015case 96:
1016            yych = this._charAt(++cursor);
1017            if (yych == 'm') { gotoCase = 63; continue; };
1018            { gotoCase = 49; continue; };
1019case 97:
1020            yych = this._charAt(++cursor);
1021            if (yych == 'z') { gotoCase = 63; continue; };
1022            { gotoCase = 49; continue; };
1023case 98:
1024            yych = this._charAt(++cursor);
1025            if (yych != 'a') { gotoCase = 49; continue; };
1026            yych = this._charAt(++cursor);
1027            if (yych == 'd') { gotoCase = 63; continue; };
1028            { gotoCase = 49; continue; };
1029case 100:
1030            yych = this._charAt(++cursor);
1031            if (yych == 'g') { gotoCase = 63; continue; };
1032            { gotoCase = 49; continue; };
1033case 101:
1034            yych = this._charAt(++cursor);
1035            if (yych != 'q') { gotoCase = 49; continue; };
1036            yych = this._charAt(++cursor);
1037            if (yych != 'e') { gotoCase = 49; continue; };
1038            yych = this._charAt(++cursor);
1039            if (yych == 'm') { gotoCase = 63; continue; };
1040            { gotoCase = 49; continue; };
1041case 104:
1042            ++cursor;
1043            yych = this._charAt(cursor);
1044            if (yych <= '\f') {
1045                if (yych == '\n') { gotoCase = 108; continue; };
1046                { gotoCase = 104; continue; };
1047            } else {
1048                if (yych <= '\r') { gotoCase = 108; continue; };
1049                if (yych != '*') { gotoCase = 104; continue; };
1050            }
1051case 106:
1052            ++cursor;
1053            yych = this._charAt(cursor);
1054            if (yych == '*') { gotoCase = 106; continue; };
1055            if (yych == '/') { gotoCase = 110; continue; };
1056            { gotoCase = 104; continue; };
1057case 108:
1058            ++cursor;
1059            this.setLexCondition(this._lexConditions.COMMENT);
1060            { this.tokenType = "css-comment"; return cursor; }
1061case 110:
1062            ++cursor;
1063            { this.tokenType = "css-comment"; return cursor; }
1064case 112:
1065            yyaccept = 0;
1066            YYMARKER = ++cursor;
1067            yych = this._charAt(cursor);
1068            if (yych <= '-') {
1069                if (yych <= '"') {
1070                    if (yych <= '\f') {
1071                        if (yych == '\n') { gotoCase = 32; continue; };
1072                        { gotoCase = 116; continue; };
1073                    } else {
1074                        if (yych <= '\r') { gotoCase = 32; continue; };
1075                        if (yych <= ' ') { gotoCase = 116; continue; };
1076                        { gotoCase = 112; continue; };
1077                    }
1078                } else {
1079                    if (yych <= '&') {
1080                        if (yych == '$') { gotoCase = 112; continue; };
1081                        { gotoCase = 116; continue; };
1082                    } else {
1083                        if (yych <= '\'') { gotoCase = 114; continue; };
1084                        if (yych <= ',') { gotoCase = 116; continue; };
1085                        { gotoCase = 112; continue; };
1086                    }
1087                }
1088            } else {
1089                if (yych <= '[') {
1090                    if (yych <= '<') {
1091                        if (yych <= '.') { gotoCase = 116; continue; };
1092                        if (yych <= '9') { gotoCase = 112; continue; };
1093                        { gotoCase = 116; continue; };
1094                    } else {
1095                        if (yych <= '=') { gotoCase = 112; continue; };
1096                        if (yych <= '?') { gotoCase = 116; continue; };
1097                        { gotoCase = 112; continue; };
1098                    }
1099                } else {
1100                    if (yych <= '^') {
1101                        if (yych <= '\\') { gotoCase = 118; continue; };
1102                        if (yych <= ']') { gotoCase = 112; continue; };
1103                        { gotoCase = 116; continue; };
1104                    } else {
1105                        if (yych == '`') { gotoCase = 116; continue; };
1106                        if (yych <= 'z') { gotoCase = 112; continue; };
1107                        { gotoCase = 116; continue; };
1108                    }
1109                }
1110            }
1111case 114:
1112            ++cursor;
1113            if ((yych = this._charAt(cursor)) <= '9') {
1114                if (yych <= '&') {
1115                    if (yych <= '"') {
1116                        if (yych >= '!') { gotoCase = 48; continue; };
1117                    } else {
1118                        if (yych == '$') { gotoCase = 48; continue; };
1119                    }
1120                } else {
1121                    if (yych <= ',') {
1122                        if (yych <= '\'') { gotoCase = 48; continue; };
1123                    } else {
1124                        if (yych != '.') { gotoCase = 48; continue; };
1125                    }
1126                }
1127            } else {
1128                if (yych <= '\\') {
1129                    if (yych <= '=') {
1130                        if (yych >= '=') { gotoCase = 48; continue; };
1131                    } else {
1132                        if (yych <= '?') { gotoCase = 115; continue; };
1133                        if (yych <= '[') { gotoCase = 48; continue; };
1134                    }
1135                } else {
1136                    if (yych <= '_') {
1137                        if (yych != '^') { gotoCase = 48; continue; };
1138                    } else {
1139                        if (yych <= '`') { gotoCase = 115; continue; };
1140                        if (yych <= 'z') { gotoCase = 48; continue; };
1141                    }
1142                }
1143            }
1144case 115:
1145            { return this._stringToken(cursor, true); }
1146case 116:
1147            ++cursor;
1148            yych = this._charAt(cursor);
1149            if (yych <= '\r') {
1150                if (yych == '\n') { gotoCase = 66; continue; };
1151                if (yych <= '\f') { gotoCase = 116; continue; };
1152                { gotoCase = 66; continue; };
1153            } else {
1154                if (yych <= '\'') {
1155                    if (yych <= '&') { gotoCase = 116; continue; };
1156                    { gotoCase = 121; continue; };
1157                } else {
1158                    if (yych != '\\') { gotoCase = 116; continue; };
1159                }
1160            }
1161case 118:
1162            ++cursor;
1163            yych = this._charAt(cursor);
1164            if (yych <= 'a') {
1165                if (yych <= '!') {
1166                    if (yych <= '\n') {
1167                        if (yych <= '\t') { gotoCase = 66; continue; };
1168                    } else {
1169                        if (yych != '\r') { gotoCase = 66; continue; };
1170                    }
1171                } else {
1172                    if (yych <= '\'') {
1173                        if (yych <= '"') { gotoCase = 116; continue; };
1174                        if (yych <= '&') { gotoCase = 66; continue; };
1175                        { gotoCase = 116; continue; };
1176                    } else {
1177                        if (yych == '\\') { gotoCase = 116; continue; };
1178                        { gotoCase = 66; continue; };
1179                    }
1180                }
1181            } else {
1182                if (yych <= 'q') {
1183                    if (yych <= 'f') {
1184                        if (yych <= 'b') { gotoCase = 116; continue; };
1185                        if (yych <= 'e') { gotoCase = 66; continue; };
1186                        { gotoCase = 116; continue; };
1187                    } else {
1188                        if (yych == 'n') { gotoCase = 116; continue; };
1189                        { gotoCase = 66; continue; };
1190                    }
1191                } else {
1192                    if (yych <= 't') {
1193                        if (yych == 's') { gotoCase = 66; continue; };
1194                        { gotoCase = 116; continue; };
1195                    } else {
1196                        if (yych == 'v') { gotoCase = 116; continue; };
1197                        { gotoCase = 66; continue; };
1198                    }
1199                }
1200            }
1201            ++cursor;
1202            this.setLexCondition(this._lexConditions.SSTRING);
1203            { return this._stringToken(cursor); }
1204case 121:
1205            yych = this._charAt(++cursor);
1206            { gotoCase = 115; continue; };
1207case 122:
1208            yyaccept = 0;
1209            YYMARKER = ++cursor;
1210            yych = this._charAt(cursor);
1211            if (yych <= '-') {
1212                if (yych <= '!') {
1213                    if (yych <= '\f') {
1214                        if (yych == '\n') { gotoCase = 32; continue; };
1215                    } else {
1216                        if (yych <= '\r') { gotoCase = 32; continue; };
1217                        if (yych >= '!') { gotoCase = 122; continue; };
1218                    }
1219                } else {
1220                    if (yych <= '$') {
1221                        if (yych <= '"') { gotoCase = 114; continue; };
1222                        if (yych >= '$') { gotoCase = 122; continue; };
1223                    } else {
1224                        if (yych == '\'') { gotoCase = 122; continue; };
1225                        if (yych >= '-') { gotoCase = 122; continue; };
1226                    }
1227                }
1228            } else {
1229                if (yych <= '[') {
1230                    if (yych <= '<') {
1231                        if (yych <= '.') { gotoCase = 124; continue; };
1232                        if (yych <= '9') { gotoCase = 122; continue; };
1233                    } else {
1234                        if (yych <= '=') { gotoCase = 122; continue; };
1235                        if (yych >= '@') { gotoCase = 122; continue; };
1236                    }
1237                } else {
1238                    if (yych <= '^') {
1239                        if (yych <= '\\') { gotoCase = 126; continue; };
1240                        if (yych <= ']') { gotoCase = 122; continue; };
1241                    } else {
1242                        if (yych == '`') { gotoCase = 124; continue; };
1243                        if (yych <= 'z') { gotoCase = 122; continue; };
1244                    }
1245                }
1246            }
1247case 124:
1248            ++cursor;
1249            yych = this._charAt(cursor);
1250            if (yych <= '\r') {
1251                if (yych == '\n') { gotoCase = 66; continue; };
1252                if (yych <= '\f') { gotoCase = 124; continue; };
1253                { gotoCase = 66; continue; };
1254            } else {
1255                if (yych <= '"') {
1256                    if (yych <= '!') { gotoCase = 124; continue; };
1257                    { gotoCase = 121; continue; };
1258                } else {
1259                    if (yych != '\\') { gotoCase = 124; continue; };
1260                }
1261            }
1262case 126:
1263            ++cursor;
1264            yych = this._charAt(cursor);
1265            if (yych <= 'a') {
1266                if (yych <= '!') {
1267                    if (yych <= '\n') {
1268                        if (yych <= '\t') { gotoCase = 66; continue; };
1269                    } else {
1270                        if (yych != '\r') { gotoCase = 66; continue; };
1271                    }
1272                } else {
1273                    if (yych <= '\'') {
1274                        if (yych <= '"') { gotoCase = 124; continue; };
1275                        if (yych <= '&') { gotoCase = 66; continue; };
1276                        { gotoCase = 124; continue; };
1277                    } else {
1278                        if (yych == '\\') { gotoCase = 124; continue; };
1279                        { gotoCase = 66; continue; };
1280                    }
1281                }
1282            } else {
1283                if (yych <= 'q') {
1284                    if (yych <= 'f') {
1285                        if (yych <= 'b') { gotoCase = 124; continue; };
1286                        if (yych <= 'e') { gotoCase = 66; continue; };
1287                        { gotoCase = 124; continue; };
1288                    } else {
1289                        if (yych == 'n') { gotoCase = 124; continue; };
1290                        { gotoCase = 66; continue; };
1291                    }
1292                } else {
1293                    if (yych <= 't') {
1294                        if (yych == 's') { gotoCase = 66; continue; };
1295                        { gotoCase = 124; continue; };
1296                    } else {
1297                        if (yych == 'v') { gotoCase = 124; continue; };
1298                        { gotoCase = 66; continue; };
1299                    }
1300                }
1301            }
1302            ++cursor;
1303            this.setLexCondition(this._lexConditions.DSTRING);
1304            { return this._stringToken(cursor); }
1305/* *********************************** */
1306case this.case_SSTRING:
1307            yych = this._charAt(cursor);
1308            if (yych <= '\r') {
1309                if (yych == '\n') { gotoCase = 133; continue; };
1310                if (yych <= '\f') { gotoCase = 132; continue; };
1311                { gotoCase = 133; continue; };
1312            } else {
1313                if (yych <= '\'') {
1314                    if (yych <= '&') { gotoCase = 132; continue; };
1315                    { gotoCase = 135; continue; };
1316                } else {
1317                    if (yych == '\\') { gotoCase = 137; continue; };
1318                    { gotoCase = 132; continue; };
1319                }
1320            }
1321case 131:
1322            { return this._stringToken(cursor); }
1323case 132:
1324            yyaccept = 0;
1325            yych = this._charAt(YYMARKER = ++cursor);
1326            { gotoCase = 139; continue; };
1327case 133:
1328            ++cursor;
1329case 134:
1330            { this.tokenType = null; return cursor; }
1331case 135:
1332            ++cursor;
1333case 136:
1334            this.setLexCondition(this._lexConditions.INITIAL);
1335            { return this._stringToken(cursor, true); }
1336case 137:
1337            yych = this._charAt(++cursor);
1338            if (yych <= 'e') {
1339                if (yych <= '\'') {
1340                    if (yych == '"') { gotoCase = 138; continue; };
1341                    if (yych <= '&') { gotoCase = 134; continue; };
1342                } else {
1343                    if (yych <= '\\') {
1344                        if (yych <= '[') { gotoCase = 134; continue; };
1345                    } else {
1346                        if (yych != 'b') { gotoCase = 134; continue; };
1347                    }
1348                }
1349            } else {
1350                if (yych <= 'r') {
1351                    if (yych <= 'm') {
1352                        if (yych >= 'g') { gotoCase = 134; continue; };
1353                    } else {
1354                        if (yych <= 'n') { gotoCase = 138; continue; };
1355                        if (yych <= 'q') { gotoCase = 134; continue; };
1356                    }
1357                } else {
1358                    if (yych <= 't') {
1359                        if (yych <= 's') { gotoCase = 134; continue; };
1360                    } else {
1361                        if (yych != 'v') { gotoCase = 134; continue; };
1362                    }
1363                }
1364            }
1365case 138:
1366            yyaccept = 0;
1367            YYMARKER = ++cursor;
1368            yych = this._charAt(cursor);
1369case 139:
1370            if (yych <= '\r') {
1371                if (yych == '\n') { gotoCase = 131; continue; };
1372                if (yych <= '\f') { gotoCase = 138; continue; };
1373                { gotoCase = 131; continue; };
1374            } else {
1375                if (yych <= '\'') {
1376                    if (yych <= '&') { gotoCase = 138; continue; };
1377                    { gotoCase = 142; continue; };
1378                } else {
1379                    if (yych != '\\') { gotoCase = 138; continue; };
1380                }
1381            }
1382            ++cursor;
1383            yych = this._charAt(cursor);
1384            if (yych <= 'e') {
1385                if (yych <= '\'') {
1386                    if (yych == '"') { gotoCase = 138; continue; };
1387                    if (yych >= '\'') { gotoCase = 138; continue; };
1388                } else {
1389                    if (yych <= '\\') {
1390                        if (yych >= '\\') { gotoCase = 138; continue; };
1391                    } else {
1392                        if (yych == 'b') { gotoCase = 138; continue; };
1393                    }
1394                }
1395            } else {
1396                if (yych <= 'r') {
1397                    if (yych <= 'm') {
1398                        if (yych <= 'f') { gotoCase = 138; continue; };
1399                    } else {
1400                        if (yych <= 'n') { gotoCase = 138; continue; };
1401                        if (yych >= 'r') { gotoCase = 138; continue; };
1402                    }
1403                } else {
1404                    if (yych <= 't') {
1405                        if (yych >= 't') { gotoCase = 138; continue; };
1406                    } else {
1407                        if (yych == 'v') { gotoCase = 138; continue; };
1408                    }
1409                }
1410            }
1411            cursor = YYMARKER;
1412            { gotoCase = 131; continue; };
1413case 142:
1414            ++cursor;
1415            yych = this._charAt(cursor);
1416            { gotoCase = 136; continue; };
1417        }
1418
1419        }
1420    }
1421}
1422
1423WebInspector.SourceCSSTokenizer.prototype.__proto__ = WebInspector.SourceTokenizer.prototype;
1424