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