1 /* Generated by re2c 0.13.5 on Fri May 6 13:46:34 2011 */
3 * Copyright (C) 2009 Google Inc. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
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
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.
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.
32 // Generate js file as follows:
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|'
44 WebInspector.SourceCSSTokenizer = function()
46 WebInspector.SourceTokenizer.call(this);
48 this._propertyKeywords = WebInspector.cssNameCompletions.keySet();
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-pictograph",
97 "-webkit-right", "-webkit-small-control", "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
100 this._mediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
102 this._lexConditions = {
109 this._parseConditions = {
116 this.case_INITIAL = 1000;
117 this.case_COMMENT = 1002;
118 this.case_DSTRING = 1003;
119 this.case_SSTRING = 1004;
121 this.condition = this.createInitialCondition();
124 WebInspector.SourceCSSTokenizer.prototype = {
125 createInitialCondition: function()
127 return { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL };
130 _stringToken: function(cursor, stringEnds)
132 if (this._isPropertyValue())
133 this.tokenType = "css-string";
135 this.tokenType = null;
139 _isPropertyValue: function()
141 return this._condition.parseCondition === this._parseConditions.PROPERTY_VALUE || this._condition.parseCondition === this._parseConditions.AT_RULE;
144 nextToken: function(cursor)
146 var cursorOnEnter = cursor;
150 // Following comment is replaced with generated state machine.
155 if (this.getLexCondition() < 2) {
156 if (this.getLexCondition() < 1) {
157 { gotoCase = this.case_INITIAL; continue; };
159 { gotoCase = this.case_COMMENT; continue; };
162 if (this.getLexCondition() < 3) {
163 { gotoCase = this.case_DSTRING; continue; };
165 { gotoCase = this.case_SSTRING; continue; };
168 /* *********************************** */
169 case this.case_COMMENT:
171 yych = this._charAt(cursor);
173 if (yych == '\n') { gotoCase = 4; continue; };
174 { gotoCase = 3; continue; };
176 if (yych <= '\r') { gotoCase = 4; continue; };
177 if (yych == '*') { gotoCase = 6; continue; };
178 { gotoCase = 3; continue; };
181 { this.tokenType = "css-comment"; return cursor; }
184 yych = this._charAt(YYMARKER = ++cursor);
185 { gotoCase = 12; continue; };
188 { this.tokenType = null; return cursor; }
191 yych = this._charAt(YYMARKER = ++cursor);
192 if (yych == '*') { gotoCase = 9; continue; };
193 if (yych != '/') { gotoCase = 11; continue; };
196 this.setLexCondition(this._lexConditions.INITIAL);
197 { this.tokenType = "css-comment"; return cursor; }
200 yych = this._charAt(cursor);
201 if (yych == '*') { gotoCase = 9; continue; };
202 if (yych == '/') { gotoCase = 7; continue; };
206 yych = this._charAt(cursor);
209 if (yych == '\n') { gotoCase = 2; continue; };
210 { gotoCase = 11; continue; };
212 if (yych <= '\r') { gotoCase = 2; continue; };
213 if (yych == '*') { gotoCase = 9; continue; };
214 { gotoCase = 11; continue; };
216 /* *********************************** */
217 case this.case_DSTRING:
218 yych = this._charAt(cursor);
220 if (yych == '\n') { gotoCase = 17; continue; };
221 if (yych <= '\f') { gotoCase = 16; continue; };
222 { gotoCase = 17; continue; };
225 if (yych <= '!') { gotoCase = 16; continue; };
226 { gotoCase = 19; continue; };
228 if (yych == '\\') { gotoCase = 21; continue; };
229 { gotoCase = 16; continue; };
233 { return this._stringToken(cursor); }
236 yych = this._charAt(YYMARKER = ++cursor);
237 { gotoCase = 23; continue; };
241 { this.tokenType = null; return cursor; }
245 this.setLexCondition(this._lexConditions.INITIAL);
246 { return this._stringToken(cursor, true); }
248 yych = this._charAt(++cursor);
251 if (yych == '"') { gotoCase = 22; continue; };
252 if (yych <= '&') { gotoCase = 18; continue; };
255 if (yych <= '[') { gotoCase = 18; continue; };
257 if (yych != 'b') { gotoCase = 18; continue; };
263 if (yych >= 'g') { gotoCase = 18; continue; };
265 if (yych <= 'n') { gotoCase = 22; continue; };
266 if (yych <= 'q') { gotoCase = 18; continue; };
270 if (yych <= 's') { gotoCase = 18; continue; };
272 if (yych != 'v') { gotoCase = 18; continue; };
279 yych = this._charAt(cursor);
282 if (yych == '\n') { gotoCase = 15; continue; };
283 if (yych <= '\f') { gotoCase = 22; continue; };
284 { gotoCase = 15; continue; };
287 if (yych <= '!') { gotoCase = 22; continue; };
288 { gotoCase = 26; continue; };
290 if (yych != '\\') { gotoCase = 22; continue; };
294 yych = this._charAt(cursor);
297 if (yych == '"') { gotoCase = 22; continue; };
298 if (yych >= '\'') { gotoCase = 22; continue; };
301 if (yych >= '\\') { gotoCase = 22; continue; };
303 if (yych == 'b') { gotoCase = 22; continue; };
309 if (yych <= 'f') { gotoCase = 22; continue; };
311 if (yych <= 'n') { gotoCase = 22; continue; };
312 if (yych >= 'r') { gotoCase = 22; continue; };
316 if (yych >= 't') { gotoCase = 22; continue; };
318 if (yych == 'v') { gotoCase = 22; continue; };
323 { gotoCase = 15; continue; };
326 yych = this._charAt(cursor);
327 { gotoCase = 20; continue; };
328 /* *********************************** */
329 case this.case_INITIAL:
330 yych = this._charAt(cursor);
334 if (yych <= ' ') { gotoCase = 29; continue; };
335 if (yych <= '!') { gotoCase = 31; continue; };
336 { gotoCase = 33; continue; };
338 if (yych == '$') { gotoCase = 31; continue; };
339 if (yych >= '\'') { gotoCase = 34; continue; };
343 if (yych <= ',') { gotoCase = 29; continue; };
344 if (yych <= '-') { gotoCase = 35; continue; };
345 { gotoCase = 36; continue; };
347 if (yych <= '/') { gotoCase = 37; continue; };
348 if (yych <= '9') { gotoCase = 38; continue; };
349 if (yych <= ':') { gotoCase = 40; continue; };
350 { gotoCase = 42; continue; };
356 if (yych == '=') { gotoCase = 31; continue; };
358 if (yych == '\\') { gotoCase = 29; continue; };
359 if (yych <= ']') { gotoCase = 31; continue; };
363 if (yych != '`') { gotoCase = 31; continue; };
365 if (yych <= '{') { gotoCase = 44; continue; };
366 if (yych == '}') { gotoCase = 46; continue; };
373 { this.tokenType = null; return cursor; }
376 yych = this._charAt(cursor);
377 { gotoCase = 49; continue; };
380 var token = this._line.substring(cursorOnEnter, cursor);
381 if (this._condition.parseCondition === this._parseConditions.INITIAL) {
382 if (token === "@import" || token === "@media") {
383 this.tokenType = "css-at-rule";
384 this._condition.parseCondition = this._parseConditions.AT_RULE;
385 } else if (token.indexOf("@") === 0)
386 this.tokenType = "css-at-rule";
388 this.tokenType = "css-selector";
390 else if (this._condition.parseCondition === this._parseConditions.AT_RULE && token in this._mediaTypes)
391 this.tokenType = "css-keyword";
392 else if (this._condition.parseCondition === this._parseConditions.PROPERTY && token in this._propertyKeywords)
393 this.tokenType = "css-property";
394 else if (this._isPropertyValue() && token in this._valueKeywords)
395 this.tokenType = "css-keyword";
396 else if (token === "!important")
397 this.tokenType = "css-important";
399 this.tokenType = null;
404 yych = this._charAt(YYMARKER = ++cursor);
408 if (yych == '\n') { gotoCase = 32; continue; };
409 { gotoCase = 124; continue; };
411 if (yych <= '\r') { gotoCase = 32; continue; };
412 if (yych <= ' ') { gotoCase = 124; continue; };
413 { gotoCase = 122; continue; };
417 if (yych <= '"') { gotoCase = 114; continue; };
418 if (yych <= '#') { gotoCase = 124; continue; };
419 { gotoCase = 122; continue; };
421 if (yych == '\'') { gotoCase = 122; continue; };
422 if (yych <= ',') { gotoCase = 124; continue; };
423 { gotoCase = 122; continue; };
429 if (yych <= '.') { gotoCase = 124; continue; };
430 if (yych <= '9') { gotoCase = 122; continue; };
431 { gotoCase = 124; continue; };
433 if (yych <= '=') { gotoCase = 122; continue; };
434 if (yych <= '?') { gotoCase = 124; continue; };
435 { gotoCase = 122; continue; };
439 if (yych <= '\\') { gotoCase = 126; continue; };
440 if (yych <= ']') { gotoCase = 122; continue; };
441 { gotoCase = 124; continue; };
443 if (yych == '`') { gotoCase = 124; continue; };
444 if (yych <= 'z') { gotoCase = 122; continue; };
445 { gotoCase = 124; continue; };
451 yych = this._charAt(YYMARKER = ++cursor);
455 if (yych == '\n') { gotoCase = 32; continue; };
456 { gotoCase = 116; continue; };
458 if (yych <= '\r') { gotoCase = 32; continue; };
459 if (yych <= ' ') { gotoCase = 116; continue; };
460 { gotoCase = 112; continue; };
464 if (yych == '$') { gotoCase = 112; continue; };
465 { gotoCase = 116; continue; };
467 if (yych <= '\'') { gotoCase = 114; continue; };
468 if (yych <= ',') { gotoCase = 116; continue; };
469 { gotoCase = 112; continue; };
475 if (yych <= '.') { gotoCase = 116; continue; };
476 if (yych <= '9') { gotoCase = 112; continue; };
477 { gotoCase = 116; continue; };
479 if (yych <= '=') { gotoCase = 112; continue; };
480 if (yych <= '?') { gotoCase = 116; continue; };
481 { gotoCase = 112; continue; };
485 if (yych <= '\\') { gotoCase = 118; continue; };
486 if (yych <= ']') { gotoCase = 112; continue; };
487 { gotoCase = 116; continue; };
489 if (yych == '`') { gotoCase = 116; continue; };
490 if (yych <= 'z') { gotoCase = 112; continue; };
491 { gotoCase = 116; continue; };
497 yych = this._charAt(YYMARKER = ++cursor);
498 if (yych == '.') { gotoCase = 65; continue; };
499 if (yych <= '/') { gotoCase = 49; continue; };
500 if (yych <= '9') { gotoCase = 50; continue; };
501 { gotoCase = 49; continue; };
503 yych = this._charAt(++cursor);
504 if (yych <= '/') { gotoCase = 30; continue; };
505 if (yych <= '9') { gotoCase = 68; continue; };
506 { gotoCase = 30; continue; };
509 yych = this._charAt(YYMARKER = ++cursor);
510 if (yych == '*') { gotoCase = 104; continue; };
511 { gotoCase = 49; continue; };
514 yych = this._charAt(YYMARKER = ++cursor);
565 case 'z': { gotoCase = 48; continue; };
566 case '%': { gotoCase = 67; continue; };
567 case '.': { gotoCase = 65; continue; };
577 case '9': { gotoCase = 50; continue; };
578 case 'H': { gotoCase = 52; continue; };
579 case '_': { gotoCase = 53; continue; };
580 case 'c': { gotoCase = 54; continue; };
581 case 'd': { gotoCase = 55; continue; };
582 case 'e': { gotoCase = 56; continue; };
583 case 'g': { gotoCase = 57; continue; };
584 case 'i': { gotoCase = 58; continue; };
585 case 'k': { gotoCase = 59; continue; };
586 case 'm': { gotoCase = 60; continue; };
587 case 'p': { gotoCase = 61; continue; };
588 case 'r': { gotoCase = 62; continue; };
589 case 's': { gotoCase = 63; continue; };
590 case 't': { gotoCase = 64; continue; };
591 default: { gotoCase = 39; continue; };
595 if (this._isPropertyValue())
596 this.tokenType = "css-number";
598 this.tokenType = null;
604 this.tokenType = null;
605 if (this._condition.parseCondition === this._parseConditions.PROPERTY)
606 this._condition.parseCondition = this._parseConditions.PROPERTY_VALUE;
612 this.tokenType = null;
613 if (this._condition.parseCondition === this._parseConditions.AT_RULE)
614 this._condition.parseCondition = this._parseConditions.INITIAL;
616 this._condition.parseCondition = this._parseConditions.PROPERTY;
622 this.tokenType = null;
623 if (this._condition.parseCondition === this._parseConditions.AT_RULE)
624 this._condition.parseCondition = this._parseConditions.INITIAL;
626 this._condition.parseCondition = this._parseConditions.PROPERTY;
632 this.tokenType = null;
633 this._condition.parseCondition = this._parseConditions.INITIAL;
638 yych = this._charAt(cursor);
643 if (yych <= ' ') { gotoCase = 32; continue; };
644 { gotoCase = 48; continue; };
646 if (yych == '$') { gotoCase = 48; continue; };
647 { gotoCase = 32; continue; };
651 if (yych <= '\'') { gotoCase = 48; continue; };
652 { gotoCase = 32; continue; };
654 if (yych == '.') { gotoCase = 32; continue; };
655 { gotoCase = 48; continue; };
661 if (yych <= '<') { gotoCase = 32; continue; };
662 { gotoCase = 48; continue; };
664 if (yych <= '?') { gotoCase = 32; continue; };
665 if (yych <= '[') { gotoCase = 48; continue; };
666 { gotoCase = 32; continue; };
670 if (yych == '^') { gotoCase = 32; continue; };
671 { gotoCase = 48; continue; };
673 if (yych <= '`') { gotoCase = 32; continue; };
674 if (yych <= 'z') { gotoCase = 48; continue; };
675 { gotoCase = 32; continue; };
682 yych = this._charAt(cursor);
733 case 'z': { gotoCase = 48; continue; };
734 case '%': { gotoCase = 67; continue; };
735 case '.': { gotoCase = 65; continue; };
745 case '9': { gotoCase = 50; continue; };
746 case 'H': { gotoCase = 52; continue; };
747 case '_': { gotoCase = 53; continue; };
748 case 'c': { gotoCase = 54; continue; };
749 case 'd': { gotoCase = 55; continue; };
750 case 'e': { gotoCase = 56; continue; };
751 case 'g': { gotoCase = 57; continue; };
752 case 'i': { gotoCase = 58; continue; };
753 case 'k': { gotoCase = 59; continue; };
754 case 'm': { gotoCase = 60; continue; };
755 case 'p': { gotoCase = 61; continue; };
756 case 'r': { gotoCase = 62; continue; };
757 case 's': { gotoCase = 63; continue; };
758 case 't': { gotoCase = 64; continue; };
759 default: { gotoCase = 39; continue; };
762 yych = this._charAt(++cursor);
763 if (yych == 'z') { gotoCase = 63; continue; };
764 { gotoCase = 49; continue; };
766 yych = this._charAt(++cursor);
767 if (yych == '_') { gotoCase = 101; continue; };
768 { gotoCase = 49; continue; };
770 yych = this._charAt(++cursor);
771 if (yych == 'm') { gotoCase = 63; continue; };
772 { gotoCase = 49; continue; };
774 yych = this._charAt(++cursor);
775 if (yych == 'e') { gotoCase = 100; continue; };
776 { gotoCase = 49; continue; };
778 yych = this._charAt(++cursor);
779 if (yych == 'm') { gotoCase = 63; continue; };
780 if (yych == 'x') { gotoCase = 63; continue; };
781 { gotoCase = 49; continue; };
783 yych = this._charAt(++cursor);
784 if (yych == 'r') { gotoCase = 98; continue; };
785 { gotoCase = 49; continue; };
787 yych = this._charAt(++cursor);
788 if (yych == 'n') { gotoCase = 63; continue; };
789 { gotoCase = 49; continue; };
791 yych = this._charAt(++cursor);
792 if (yych == 'H') { gotoCase = 97; continue; };
793 { gotoCase = 49; continue; };
795 yych = this._charAt(++cursor);
796 if (yych == 'm') { gotoCase = 63; continue; };
797 if (yych == 's') { gotoCase = 63; continue; };
798 { gotoCase = 49; continue; };
800 yych = this._charAt(++cursor);
802 if (yych == 'c') { gotoCase = 63; continue; };
803 { gotoCase = 49; continue; };
805 if (yych <= 't') { gotoCase = 63; continue; };
806 if (yych == 'x') { gotoCase = 63; continue; };
807 { gotoCase = 49; continue; };
810 yych = this._charAt(++cursor);
811 if (yych == 'a') { gotoCase = 95; continue; };
812 if (yych == 'e') { gotoCase = 96; continue; };
813 { gotoCase = 49; continue; };
815 yych = this._charAt(++cursor);
819 if (yych <= ' ') { gotoCase = 39; continue; };
820 { gotoCase = 48; continue; };
822 if (yych == '$') { gotoCase = 48; continue; };
823 { gotoCase = 39; continue; };
827 if (yych <= '\'') { gotoCase = 48; continue; };
828 { gotoCase = 39; continue; };
830 if (yych == '.') { gotoCase = 39; continue; };
831 { gotoCase = 48; continue; };
837 if (yych <= '<') { gotoCase = 39; continue; };
838 { gotoCase = 48; continue; };
840 if (yych <= '?') { gotoCase = 39; continue; };
841 if (yych <= '[') { gotoCase = 48; continue; };
842 { gotoCase = 39; continue; };
846 if (yych == '^') { gotoCase = 39; continue; };
847 { gotoCase = 48; continue; };
849 if (yych <= '`') { gotoCase = 39; continue; };
850 if (yych <= 'z') { gotoCase = 48; continue; };
851 { gotoCase = 39; continue; };
856 yych = this._charAt(++cursor);
857 if (yych == 'u') { gotoCase = 93; continue; };
858 { gotoCase = 49; continue; };
860 yych = this._charAt(++cursor);
861 if (yych <= '/') { gotoCase = 66; continue; };
862 if (yych <= '9') { gotoCase = 68; continue; };
866 { gotoCase = 32; continue; };
868 { gotoCase = 39; continue; };
871 yych = this._charAt(++cursor);
872 { gotoCase = 39; continue; };
876 yych = this._charAt(cursor);
880 if (yych == '%') { gotoCase = 67; continue; };
881 { gotoCase = 39; continue; };
883 if (yych <= '9') { gotoCase = 68; continue; };
884 if (yych <= 'G') { gotoCase = 39; continue; };
885 { gotoCase = 80; continue; };
889 if (yych == '_') { gotoCase = 72; continue; };
890 { gotoCase = 39; continue; };
892 if (yych <= 'c') { gotoCase = 74; continue; };
893 if (yych <= 'd') { gotoCase = 77; continue; };
894 if (yych >= 'f') { gotoCase = 39; continue; };
900 if (yych <= 'g') { gotoCase = 78; continue; };
901 if (yych <= 'h') { gotoCase = 39; continue; };
902 { gotoCase = 76; continue; };
904 if (yych == 'k') { gotoCase = 81; continue; };
905 if (yych <= 'l') { gotoCase = 39; continue; };
906 { gotoCase = 75; continue; };
910 if (yych == 'p') { gotoCase = 73; continue; };
911 { gotoCase = 39; continue; };
913 if (yych <= 'r') { gotoCase = 71; continue; };
914 if (yych <= 's') { gotoCase = 67; continue; };
915 if (yych <= 't') { gotoCase = 79; continue; };
916 { gotoCase = 39; continue; };
920 yych = this._charAt(++cursor);
921 if (yych == 'm') { gotoCase = 67; continue; };
922 if (yych == 'x') { gotoCase = 67; continue; };
923 { gotoCase = 66; continue; };
925 yych = this._charAt(++cursor);
926 if (yych == 'a') { gotoCase = 91; continue; };
927 if (yych == 'e') { gotoCase = 92; continue; };
928 { gotoCase = 66; continue; };
930 yych = this._charAt(++cursor);
931 if (yych == '_') { gotoCase = 88; continue; };
932 { gotoCase = 66; continue; };
934 yych = this._charAt(++cursor);
936 if (yych == 'c') { gotoCase = 67; continue; };
937 { gotoCase = 66; continue; };
939 if (yych <= 't') { gotoCase = 67; continue; };
940 if (yych == 'x') { gotoCase = 67; continue; };
941 { gotoCase = 66; continue; };
944 yych = this._charAt(++cursor);
945 if (yych == 'm') { gotoCase = 67; continue; };
946 { gotoCase = 66; continue; };
948 yych = this._charAt(++cursor);
949 if (yych == 'm') { gotoCase = 67; continue; };
950 if (yych == 's') { gotoCase = 67; continue; };
951 { gotoCase = 66; continue; };
953 yych = this._charAt(++cursor);
954 if (yych == 'n') { gotoCase = 67; continue; };
955 { gotoCase = 66; continue; };
957 yych = this._charAt(++cursor);
958 if (yych == 'e') { gotoCase = 87; continue; };
959 { gotoCase = 66; continue; };
961 yych = this._charAt(++cursor);
962 if (yych == 'r') { gotoCase = 85; continue; };
963 { gotoCase = 66; continue; };
965 yych = this._charAt(++cursor);
966 if (yych == 'u') { gotoCase = 83; continue; };
967 { gotoCase = 66; continue; };
969 yych = this._charAt(++cursor);
970 if (yych == 'z') { gotoCase = 67; continue; };
971 { gotoCase = 66; continue; };
973 yych = this._charAt(++cursor);
974 if (yych != 'H') { gotoCase = 66; continue; };
975 yych = this._charAt(++cursor);
976 if (yych == 'z') { gotoCase = 67; continue; };
977 { gotoCase = 66; continue; };
979 yych = this._charAt(++cursor);
980 if (yych != 'r') { gotoCase = 66; continue; };
981 yych = this._charAt(++cursor);
982 if (yych == 'n') { gotoCase = 67; continue; };
983 { gotoCase = 66; continue; };
985 yych = this._charAt(++cursor);
986 if (yych != 'a') { gotoCase = 66; continue; };
987 yych = this._charAt(++cursor);
988 if (yych == 'd') { gotoCase = 67; continue; };
989 { gotoCase = 66; continue; };
991 yych = this._charAt(++cursor);
992 if (yych == 'g') { gotoCase = 67; continue; };
993 { gotoCase = 66; continue; };
995 yych = this._charAt(++cursor);
996 if (yych != 'q') { gotoCase = 66; continue; };
997 yych = this._charAt(++cursor);
998 if (yych != 'e') { gotoCase = 66; continue; };
999 yych = this._charAt(++cursor);
1000 if (yych == 'm') { gotoCase = 67; continue; };
1001 { gotoCase = 66; continue; };
1003 yych = this._charAt(++cursor);
1004 if (yych == 'd') { gotoCase = 67; continue; };
1005 { gotoCase = 66; continue; };
1007 yych = this._charAt(++cursor);
1008 if (yych == 'm') { gotoCase = 67; continue; };
1009 { gotoCase = 66; continue; };
1011 yych = this._charAt(++cursor);
1012 if (yych != 'r') { gotoCase = 49; continue; };
1013 yych = this._charAt(++cursor);
1014 if (yych == 'n') { gotoCase = 63; continue; };
1015 { gotoCase = 49; continue; };
1017 yych = this._charAt(++cursor);
1018 if (yych == 'd') { gotoCase = 63; continue; };
1019 { gotoCase = 49; continue; };
1021 yych = this._charAt(++cursor);
1022 if (yych == 'm') { gotoCase = 63; continue; };
1023 { gotoCase = 49; continue; };
1025 yych = this._charAt(++cursor);
1026 if (yych == 'z') { gotoCase = 63; continue; };
1027 { gotoCase = 49; continue; };
1029 yych = this._charAt(++cursor);
1030 if (yych != 'a') { gotoCase = 49; continue; };
1031 yych = this._charAt(++cursor);
1032 if (yych == 'd') { gotoCase = 63; continue; };
1033 { gotoCase = 49; continue; };
1035 yych = this._charAt(++cursor);
1036 if (yych == 'g') { gotoCase = 63; continue; };
1037 { gotoCase = 49; continue; };
1039 yych = this._charAt(++cursor);
1040 if (yych != 'q') { gotoCase = 49; continue; };
1041 yych = this._charAt(++cursor);
1042 if (yych != 'e') { gotoCase = 49; continue; };
1043 yych = this._charAt(++cursor);
1044 if (yych == 'm') { gotoCase = 63; continue; };
1045 { gotoCase = 49; continue; };
1048 yych = this._charAt(cursor);
1050 if (yych == '\n') { gotoCase = 108; continue; };
1051 { gotoCase = 104; continue; };
1053 if (yych <= '\r') { gotoCase = 108; continue; };
1054 if (yych != '*') { gotoCase = 104; continue; };
1058 yych = this._charAt(cursor);
1059 if (yych == '*') { gotoCase = 106; continue; };
1060 if (yych == '/') { gotoCase = 110; continue; };
1061 { gotoCase = 104; continue; };
1064 this.setLexCondition(this._lexConditions.COMMENT);
1065 { this.tokenType = "css-comment"; return cursor; }
1068 { this.tokenType = "css-comment"; return cursor; }
1071 YYMARKER = ++cursor;
1072 yych = this._charAt(cursor);
1076 if (yych == '\n') { gotoCase = 32; continue; };
1077 { gotoCase = 116; continue; };
1079 if (yych <= '\r') { gotoCase = 32; continue; };
1080 if (yych <= ' ') { gotoCase = 116; continue; };
1081 { gotoCase = 112; continue; };
1085 if (yych == '$') { gotoCase = 112; continue; };
1086 { gotoCase = 116; continue; };
1088 if (yych <= '\'') { gotoCase = 114; continue; };
1089 if (yych <= ',') { gotoCase = 116; continue; };
1090 { gotoCase = 112; continue; };
1096 if (yych <= '.') { gotoCase = 116; continue; };
1097 if (yych <= '9') { gotoCase = 112; continue; };
1098 { gotoCase = 116; continue; };
1100 if (yych <= '=') { gotoCase = 112; continue; };
1101 if (yych <= '?') { gotoCase = 116; continue; };
1102 { gotoCase = 112; continue; };
1106 if (yych <= '\\') { gotoCase = 118; continue; };
1107 if (yych <= ']') { gotoCase = 112; continue; };
1108 { gotoCase = 116; continue; };
1110 if (yych == '`') { gotoCase = 116; continue; };
1111 if (yych <= 'z') { gotoCase = 112; continue; };
1112 { gotoCase = 116; continue; };
1118 if ((yych = this._charAt(cursor)) <= '9') {
1121 if (yych >= '!') { gotoCase = 48; continue; };
1123 if (yych == '$') { gotoCase = 48; continue; };
1127 if (yych <= '\'') { gotoCase = 48; continue; };
1129 if (yych != '.') { gotoCase = 48; continue; };
1135 if (yych >= '=') { gotoCase = 48; continue; };
1137 if (yych <= '?') { gotoCase = 115; continue; };
1138 if (yych <= '[') { gotoCase = 48; continue; };
1142 if (yych != '^') { gotoCase = 48; continue; };
1144 if (yych <= '`') { gotoCase = 115; continue; };
1145 if (yych <= 'z') { gotoCase = 48; continue; };
1150 { return this._stringToken(cursor, true); }
1153 yych = this._charAt(cursor);
1155 if (yych == '\n') { gotoCase = 66; continue; };
1156 if (yych <= '\f') { gotoCase = 116; continue; };
1157 { gotoCase = 66; continue; };
1160 if (yych <= '&') { gotoCase = 116; continue; };
1161 { gotoCase = 121; continue; };
1163 if (yych != '\\') { gotoCase = 116; continue; };
1168 yych = this._charAt(cursor);
1172 if (yych <= '\t') { gotoCase = 66; continue; };
1174 if (yych != '\r') { gotoCase = 66; continue; };
1178 if (yych <= '"') { gotoCase = 116; continue; };
1179 if (yych <= '&') { gotoCase = 66; continue; };
1180 { gotoCase = 116; continue; };
1182 if (yych == '\\') { gotoCase = 116; continue; };
1183 { gotoCase = 66; continue; };
1189 if (yych <= 'b') { gotoCase = 116; continue; };
1190 if (yych <= 'e') { gotoCase = 66; continue; };
1191 { gotoCase = 116; continue; };
1193 if (yych == 'n') { gotoCase = 116; continue; };
1194 { gotoCase = 66; continue; };
1198 if (yych == 's') { gotoCase = 66; continue; };
1199 { gotoCase = 116; continue; };
1201 if (yych == 'v') { gotoCase = 116; continue; };
1202 { gotoCase = 66; continue; };
1207 this.setLexCondition(this._lexConditions.SSTRING);
1208 { return this._stringToken(cursor); }
1210 yych = this._charAt(++cursor);
1211 { gotoCase = 115; continue; };
1214 YYMARKER = ++cursor;
1215 yych = this._charAt(cursor);
1219 if (yych == '\n') { gotoCase = 32; continue; };
1221 if (yych <= '\r') { gotoCase = 32; continue; };
1222 if (yych >= '!') { gotoCase = 122; continue; };
1226 if (yych <= '"') { gotoCase = 114; continue; };
1227 if (yych >= '$') { gotoCase = 122; continue; };
1229 if (yych == '\'') { gotoCase = 122; continue; };
1230 if (yych >= '-') { gotoCase = 122; continue; };
1236 if (yych <= '.') { gotoCase = 124; continue; };
1237 if (yych <= '9') { gotoCase = 122; continue; };
1239 if (yych <= '=') { gotoCase = 122; continue; };
1240 if (yych >= '@') { gotoCase = 122; continue; };
1244 if (yych <= '\\') { gotoCase = 126; continue; };
1245 if (yych <= ']') { gotoCase = 122; continue; };
1247 if (yych == '`') { gotoCase = 124; continue; };
1248 if (yych <= 'z') { gotoCase = 122; continue; };
1254 yych = this._charAt(cursor);
1256 if (yych == '\n') { gotoCase = 66; continue; };
1257 if (yych <= '\f') { gotoCase = 124; continue; };
1258 { gotoCase = 66; continue; };
1261 if (yych <= '!') { gotoCase = 124; continue; };
1262 { gotoCase = 121; continue; };
1264 if (yych != '\\') { gotoCase = 124; continue; };
1269 yych = this._charAt(cursor);
1273 if (yych <= '\t') { gotoCase = 66; continue; };
1275 if (yych != '\r') { gotoCase = 66; continue; };
1279 if (yych <= '"') { gotoCase = 124; continue; };
1280 if (yych <= '&') { gotoCase = 66; continue; };
1281 { gotoCase = 124; continue; };
1283 if (yych == '\\') { gotoCase = 124; continue; };
1284 { gotoCase = 66; continue; };
1290 if (yych <= 'b') { gotoCase = 124; continue; };
1291 if (yych <= 'e') { gotoCase = 66; continue; };
1292 { gotoCase = 124; continue; };
1294 if (yych == 'n') { gotoCase = 124; continue; };
1295 { gotoCase = 66; continue; };
1299 if (yych == 's') { gotoCase = 66; continue; };
1300 { gotoCase = 124; continue; };
1302 if (yych == 'v') { gotoCase = 124; continue; };
1303 { gotoCase = 66; continue; };
1308 this.setLexCondition(this._lexConditions.DSTRING);
1309 { return this._stringToken(cursor); }
1310 /* *********************************** */
1311 case this.case_SSTRING:
1312 yych = this._charAt(cursor);
1314 if (yych == '\n') { gotoCase = 133; continue; };
1315 if (yych <= '\f') { gotoCase = 132; continue; };
1316 { gotoCase = 133; continue; };
1319 if (yych <= '&') { gotoCase = 132; continue; };
1320 { gotoCase = 135; continue; };
1322 if (yych == '\\') { gotoCase = 137; continue; };
1323 { gotoCase = 132; continue; };
1327 { return this._stringToken(cursor); }
1330 yych = this._charAt(YYMARKER = ++cursor);
1331 { gotoCase = 139; continue; };
1335 { this.tokenType = null; return cursor; }
1339 this.setLexCondition(this._lexConditions.INITIAL);
1340 { return this._stringToken(cursor, true); }
1342 yych = this._charAt(++cursor);
1345 if (yych == '"') { gotoCase = 138; continue; };
1346 if (yych <= '&') { gotoCase = 134; continue; };
1349 if (yych <= '[') { gotoCase = 134; continue; };
1351 if (yych != 'b') { gotoCase = 134; continue; };
1357 if (yych >= 'g') { gotoCase = 134; continue; };
1359 if (yych <= 'n') { gotoCase = 138; continue; };
1360 if (yych <= 'q') { gotoCase = 134; continue; };
1364 if (yych <= 's') { gotoCase = 134; continue; };
1366 if (yych != 'v') { gotoCase = 134; continue; };
1372 YYMARKER = ++cursor;
1373 yych = this._charAt(cursor);
1376 if (yych == '\n') { gotoCase = 131; continue; };
1377 if (yych <= '\f') { gotoCase = 138; continue; };
1378 { gotoCase = 131; continue; };
1381 if (yych <= '&') { gotoCase = 138; continue; };
1382 { gotoCase = 142; continue; };
1384 if (yych != '\\') { gotoCase = 138; continue; };
1388 yych = this._charAt(cursor);
1391 if (yych == '"') { gotoCase = 138; continue; };
1392 if (yych >= '\'') { gotoCase = 138; continue; };
1395 if (yych >= '\\') { gotoCase = 138; continue; };
1397 if (yych == 'b') { gotoCase = 138; continue; };
1403 if (yych <= 'f') { gotoCase = 138; continue; };
1405 if (yych <= 'n') { gotoCase = 138; continue; };
1406 if (yych >= 'r') { gotoCase = 138; continue; };
1410 if (yych >= 't') { gotoCase = 138; continue; };
1412 if (yych == 'v') { gotoCase = 138; continue; };
1417 { gotoCase = 131; continue; };
1420 yych = this._charAt(cursor);
1421 { gotoCase = 136; continue; };
1428 WebInspector.SourceCSSTokenizer.prototype.__proto__ = WebInspector.SourceTokenizer.prototype;