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