[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9
pfeldman at chromium.org
pfeldman at chromium.org
Thu Feb 4 21:27:53 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 7d3d8f43c50d4ec93762266b2ff354da24ca583c
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jan 26 10:18:50 2010 +0000
2010-01-26 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Implement HTML and CSS highlighters.
https://bugs.webkit.org/show_bug.cgi?id=34144
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/JavaScriptTokenizer.js: Removed.
* inspector/front-end/JavaScriptTokenizer.re2js: Removed.
* inspector/front-end/SourceCSSTokenizer.js: Added.
(WebInspector.SourceCSSTokenizer):
(WebInspector.SourceCSSTokenizer.prototype._stringToken):
(WebInspector.SourceCSSTokenizer.prototype._isPropertyValue):
(WebInspector.SourceCSSTokenizer.prototype.nextToken):
* inspector/front-end/SourceCSSTokenizer.re2js: Added.
* inspector/front-end/SourceHTMLTokenizer.js: Added.
(WebInspector.SourceHTMLTokenizer):
(WebInspector.SourceHTMLTokenizer.prototype._stringToken):
(WebInspector.SourceHTMLTokenizer.prototype.nextToken):
* inspector/front-end/SourceHTMLTokenizer.re2js: Added.
* inspector/front-end/SourceJavaScriptTokenizer.js: Added.
(WebInspector.SourceJavaScriptTokenizer):
(WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
* inspector/front-end/SourceJavaScriptTokenizer.re2js: Added.
* inspector/front-end/TextEditorHighlighter.js:
(WebInspector.TextEditorHighlighter):
(WebInspector.TextEditorHighlighter.prototype._highlightLines):
(WebInspector.TextEditorHighlighter.Tokenizer):
(WebInspector.TextEditorHighlighter.Tokenizer.prototype.set line):
(WebInspector.TextEditorHighlighter.Tokenizer.prototype.set condition):
(WebInspector.TextEditorHighlighter.Tokenizer.prototype.get condition):
(WebInspector.TextEditorHighlighter.Tokenizer.prototype.hasCondition):
(WebInspector.TextEditorHighlighter.Tokenizer.prototype.getLexCondition):
(WebInspector.TextEditorHighlighter.Tokenizer.prototype.setLexCondition):
(WebInspector.TextEditorHighlighter.Tokenizer.prototype._charAt):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d7bdcc9..e209121 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,44 @@
+2010-01-26 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Implement HTML and CSS highlighters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34144
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/JavaScriptTokenizer.js: Removed.
+ * inspector/front-end/JavaScriptTokenizer.re2js: Removed.
+ * inspector/front-end/SourceCSSTokenizer.js: Added.
+ (WebInspector.SourceCSSTokenizer):
+ (WebInspector.SourceCSSTokenizer.prototype._stringToken):
+ (WebInspector.SourceCSSTokenizer.prototype._isPropertyValue):
+ (WebInspector.SourceCSSTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceCSSTokenizer.re2js: Added.
+ * inspector/front-end/SourceHTMLTokenizer.js: Added.
+ (WebInspector.SourceHTMLTokenizer):
+ (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js: Added.
+ * inspector/front-end/SourceJavaScriptTokenizer.js: Added.
+ (WebInspector.SourceJavaScriptTokenizer):
+ (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceJavaScriptTokenizer.re2js: Added.
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+ (WebInspector.TextEditorHighlighter.prototype._highlightLines):
+ (WebInspector.TextEditorHighlighter.Tokenizer):
+ (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set line):
+ (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set condition):
+ (WebInspector.TextEditorHighlighter.Tokenizer.prototype.get condition):
+ (WebInspector.TextEditorHighlighter.Tokenizer.prototype.hasCondition):
+ (WebInspector.TextEditorHighlighter.Tokenizer.prototype.getLexCondition):
+ (WebInspector.TextEditorHighlighter.Tokenizer.prototype.setLexCondition):
+ (WebInspector.TextEditorHighlighter.Tokenizer.prototype._charAt):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
2010-01-26 Simon Hausmann <simon.hausmann at nokia.com>
Reviewed by Holger Freyther.
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index cbbdceb..1a1c3ac 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -3707,7 +3707,6 @@
'inspector/front-end/InjectedScriptAccess.js',
'inspector/front-end/inspector.js',
'inspector/front-end/JavaScriptSourceSyntaxHighlighter.js',
- 'inspector/front-end/JavaScriptTokenizer.js',
'inspector/front-end/KeyboardShortcut.js',
'inspector/front-end/MetricsSidebarPane.js',
'inspector/front-end/Object.js',
@@ -3734,8 +3733,11 @@
'inspector/front-end/Settings.js',
'inspector/front-end/SidebarPane.js',
'inspector/front-end/SidebarTreeElement.js',
+ 'inspector/front-end/SourceCSSTokenizer.js',
'inspector/front-end/SourceFrame.js',
'inspector/front-end/SourceFrame2.js',
+ 'inspector/front-end/SourceHTMLTokenizer.js',
+ 'inspector/front-end/SourceJavaScriptTokenizer.js',
'inspector/front-end/SourceSyntaxHighlighter.js',
'inspector/front-end/SourceView.js',
'inspector/front-end/StatusBarButton.js',
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index 872509b..36cc5b7 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -42924,10 +42924,6 @@
>
</File>
<File
- RelativePath="..\inspector\front-end\JavaScriptTokenizer.js"
- >
- </File>
- <File
RelativePath="..\inspector\front-end\MetricsSidebarPane.js"
>
</File>
@@ -43028,6 +43024,10 @@
>
</File>
<File
+ RelativePath="..\inspector\front-end\SourceCSSTokenizer.js"
+ >
+ </File>
+ <File
RelativePath="..\inspector\front-end\SourceFrame.js"
>
</File>
@@ -43036,6 +43036,14 @@
>
</File>
<File
+ RelativePath="..\inspector\front-end\SourceHTMLTokenizer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SourceJavaScriptTokenizer.js"
+ >
+ </File>
+ <File
RelativePath="..\inspector\front-end\SourceSyntaxHighlighter.js"
>
</File>
diff --git a/WebCore/inspector/front-end/JavaScriptTokenizer.js b/WebCore/inspector/front-end/JavaScriptTokenizer.js
deleted file mode 100644
index a178a10..0000000
--- a/WebCore/inspector/front-end/JavaScriptTokenizer.js
+++ /dev/null
@@ -1,2434 +0,0 @@
-/* Generated by re2c 0.13.5 on Fri Jan 8 14:49:18 2010 */
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// Generate js file as follows:
-//
-// re2c -isc WebCore/inspector/front-end/JavaScriptTokenizer.re2js \
-// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
-// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
-// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
-// | sed 's|[*]cursor|this._charAt(cursor)|' \
-// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
-// | sed 's|{ gotoCase = \([^; continue; };]*\)|{ gotoCase = \1; continue; }|' \
-// | sed 's|unsigned\ int|var|' \
-// | sed 's|var\ yych|case 1: case 1: var yych|'
-
-WebInspector.JavaScriptTokenizer = function()
-{
- this._tokens = [];
- this._keywords = [
- "null", "true", "false", "break", "case", "catch", "const", "default", "finally", "for",
- "instanceof", "new", "var", "continue", "function", "return", "void", "delete", "if",
- "this", "do", "while", "else", "in", "switch", "throw", "try", "typeof", "debugger",
- "class", "enum", "export", "extends", "import", "super", "get", "set"
- ].keySet();
-
- this._conditions = {
- DIV: 0,
- NODIV: 1,
- COMMENT: 2,
- DSTRING: 3,
- SSTRING: 4,
- REGEX: 5
- };
-
- this.case_DIV = 1000;
- this.case_NODIV = 1001;
- this.case_COMMENT = 1002;
- this.case_DSTRING = 1003;
- this.case_SSTRING = 1004;
- this.case_REGEX = 1005;
-
- this.initialCondition = this._conditions.NODIV;
- this.condition = this.initialCondition;
-}
-
-WebInspector.JavaScriptTokenizer.prototype = {
-
- set line(line) {
- this._line = line;
- },
-
- getCondition: function()
- {
- return this.condition;
- },
-
- setCondition: function(condition)
- {
- this.condition = condition;
- },
-
- _charAt: function(cursor)
- {
- return cursor < this._line.length ? this._line.charAt(cursor) : "\n";
- },
-
- nextToken: function(cursor)
- {
- var cursorOnEnter = cursor;
- var gotoCase = 1;
- while (1) {
- switch (gotoCase)
- // Following comment is replaced with generated state machine.
-
- {
- case 1: var yych;
- var yyaccept = 0;
- if (this.getCondition() < 3) {
- if (this.getCondition() < 1) {
- { gotoCase = this.case_DIV; continue; };
- } else {
- if (this.getCondition() < 2) {
- { gotoCase = this.case_NODIV; continue; };
- } else {
- { gotoCase = this.case_COMMENT; continue; };
- }
- }
- } else {
- if (this.getCondition() < 4) {
- { gotoCase = this.case_DSTRING; continue; };
- } else {
- if (this.getCondition() < 5) {
- { gotoCase = this.case_SSTRING; continue; };
- } else {
- { gotoCase = this.case_REGEX; continue; };
- }
- }
- }
-/* *********************************** */
-case this.case_COMMENT:
-
- yych = this._charAt(cursor);
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 4; continue; };
- { gotoCase = 3; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 4; continue; };
- if (yych == '*') { gotoCase = 6; continue; };
- { gotoCase = 3; continue; };
- }
-case 2:
- { this.tokenType = "comment"; return cursor; }
-case 3:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- { gotoCase = 12; continue; };
-case 4:
- ++cursor;
- { this.tokenType = null; return cursor; }
-case 6:
- yyaccept = 1;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych == '*') { gotoCase = 9; continue; };
- if (yych != '/') { gotoCase = 11; continue; };
-case 7:
- ++cursor;
- this.setCondition(this._conditions.NODIV);
- { this.tokenType = "comment"; return cursor; }
-case 9:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '*') { gotoCase = 9; continue; };
- if (yych == '/') { gotoCase = 7; continue; };
-case 11:
- yyaccept = 0;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
-case 12:
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 2; continue; };
- { gotoCase = 11; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 2; continue; };
- if (yych == '*') { gotoCase = 9; continue; };
- { gotoCase = 11; continue; };
- }
-/* *********************************** */
-case this.case_DIV:
- yych = this._charAt(cursor);
- if (yych <= '9') {
- if (yych <= '(') {
- if (yych <= '#') {
- if (yych <= ' ') { gotoCase = 15; continue; };
- if (yych <= '!') { gotoCase = 17; continue; };
- if (yych <= '"') { gotoCase = 19; continue; };
- } else {
- if (yych <= '%') {
- if (yych <= '$') { gotoCase = 20; continue; };
- { gotoCase = 22; continue; };
- } else {
- if (yych <= '&') { gotoCase = 23; continue; };
- if (yych <= '\'') { gotoCase = 24; continue; };
- { gotoCase = 25; continue; };
- }
- }
- } else {
- if (yych <= ',') {
- if (yych <= ')') { gotoCase = 26; continue; };
- if (yych <= '*') { gotoCase = 28; continue; };
- if (yych <= '+') { gotoCase = 29; continue; };
- { gotoCase = 25; continue; };
- } else {
- if (yych <= '.') {
- if (yych <= '-') { gotoCase = 30; continue; };
- { gotoCase = 31; continue; };
- } else {
- if (yych <= '/') { gotoCase = 32; continue; };
- if (yych <= '0') { gotoCase = 34; continue; };
- { gotoCase = 36; continue; };
- }
- }
- }
- } else {
- if (yych <= '\\') {
- if (yych <= '>') {
- if (yych <= ';') { gotoCase = 25; continue; };
- if (yych <= '<') { gotoCase = 37; continue; };
- if (yych <= '=') { gotoCase = 38; continue; };
- { gotoCase = 39; continue; };
- } else {
- if (yych <= '@') {
- if (yych <= '?') { gotoCase = 25; continue; };
- } else {
- if (yych <= 'Z') { gotoCase = 20; continue; };
- if (yych <= '[') { gotoCase = 25; continue; };
- { gotoCase = 40; continue; };
- }
- }
- } else {
- if (yych <= 'z') {
- if (yych <= '^') {
- if (yych <= ']') { gotoCase = 25; continue; };
- { gotoCase = 41; continue; };
- } else {
- if (yych != '`') { gotoCase = 20; continue; };
- }
- } else {
- if (yych <= '|') {
- if (yych <= '{') { gotoCase = 25; continue; };
- { gotoCase = 42; continue; };
- } else {
- if (yych <= '~') { gotoCase = 25; continue; };
- if (yych >= 0x80) { gotoCase = 20; continue; };
- }
- }
- }
- }
-case 15:
- ++cursor;
-case 16:
- { this.tokenType = null; return cursor; }
-case 17:
- ++cursor;
- if ((yych = this._charAt(cursor)) == '=') { gotoCase = 115; continue; };
-case 18:
- this.setCondition(this._conditions.NODIV);
- { this.tokenType = null; return cursor; }
-case 19:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych == '\n') { gotoCase = 16; continue; };
- if (yych == '\r') { gotoCase = 16; continue; };
- { gotoCase = 107; continue; };
-case 20:
- yyaccept = 1;
- yych = this._charAt(YYMARKER = ++cursor);
- { gotoCase = 50; continue; };
-case 21:
- {
- var token = this._line.substring(cursorOnEnter, cursor);
- if (token in this._keywords)
- this.tokenType = "keyword";
- else
- this.tokenType = null;
- return cursor;
- }
-case 22:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 23:
- yych = this._charAt(++cursor);
- if (yych == '&') { gotoCase = 43; continue; };
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 24:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych == '\n') { gotoCase = 16; continue; };
- if (yych == '\r') { gotoCase = 16; continue; };
- { gotoCase = 96; continue; };
-case 25:
- yych = this._charAt(++cursor);
- { gotoCase = 18; continue; };
-case 26:
- ++cursor;
- { this.tokenType = null; return cursor; }
-case 28:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 29:
- yych = this._charAt(++cursor);
- if (yych == '+') { gotoCase = 43; continue; };
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 30:
- yych = this._charAt(++cursor);
- if (yych == '-') { gotoCase = 43; continue; };
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 31:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 18; continue; };
- if (yych <= '9') { gotoCase = 89; continue; };
- { gotoCase = 18; continue; };
-case 32:
- yyaccept = 2;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= '.') {
- if (yych == '*') { gotoCase = 78; continue; };
- } else {
- if (yych <= '/') { gotoCase = 80; continue; };
- if (yych == '=') { gotoCase = 77; continue; };
- }
-case 33:
- this.setCondition(this._conditions.NODIV);
- { this.tokenType = null; return cursor; }
-case 34:
- yyaccept = 3;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= 'E') {
- if (yych <= '/') {
- if (yych == '.') { gotoCase = 63; continue; };
- } else {
- if (yych <= '7') { gotoCase = 72; continue; };
- if (yych >= 'E') { gotoCase = 62; continue; };
- }
- } else {
- if (yych <= 'd') {
- if (yych == 'X') { gotoCase = 74; continue; };
- } else {
- if (yych <= 'e') { gotoCase = 62; continue; };
- if (yych == 'x') { gotoCase = 74; continue; };
- }
- }
-case 35:
- { this.tokenType = "number"; return cursor; }
-case 36:
- yyaccept = 3;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= '9') {
- if (yych == '.') { gotoCase = 63; continue; };
- if (yych <= '/') { gotoCase = 35; continue; };
- { gotoCase = 60; continue; };
- } else {
- if (yych <= 'E') {
- if (yych <= 'D') { gotoCase = 35; continue; };
- { gotoCase = 62; continue; };
- } else {
- if (yych == 'e') { gotoCase = 62; continue; };
- { gotoCase = 35; continue; };
- }
- }
-case 37:
- yych = this._charAt(++cursor);
- if (yych <= ';') { gotoCase = 18; continue; };
- if (yych <= '<') { gotoCase = 59; continue; };
- if (yych <= '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 38:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 58; continue; };
- { gotoCase = 18; continue; };
-case 39:
- yych = this._charAt(++cursor);
- if (yych <= '<') { gotoCase = 18; continue; };
- if (yych <= '=') { gotoCase = 43; continue; };
- if (yych <= '>') { gotoCase = 56; continue; };
- { gotoCase = 18; continue; };
-case 40:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych == 'u') { gotoCase = 44; continue; };
- { gotoCase = 16; continue; };
-case 41:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 42:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 43; continue; };
- if (yych != '|') { gotoCase = 18; continue; };
-case 43:
- yych = this._charAt(++cursor);
- { gotoCase = 18; continue; };
-case 44:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 46; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 46; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych <= 'f') { gotoCase = 46; continue; };
- }
-case 45:
- cursor = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- { gotoCase = 16; continue; };
- } else {
- { gotoCase = 21; continue; };
- }
- } else {
- if (yyaccept <= 2) {
- { gotoCase = 33; continue; };
- } else {
- { gotoCase = 35; continue; };
- }
- }
-case 46:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 47; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 47:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 48; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 48:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 49; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 49:
- yyaccept = 1;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
-case 50:
- if (yych <= '[') {
- if (yych <= '/') {
- if (yych == '$') { gotoCase = 49; continue; };
- { gotoCase = 21; continue; };
- } else {
- if (yych <= '9') { gotoCase = 49; continue; };
- if (yych <= '@') { gotoCase = 21; continue; };
- if (yych <= 'Z') { gotoCase = 49; continue; };
- { gotoCase = 21; continue; };
- }
- } else {
- if (yych <= '_') {
- if (yych <= '\\') { gotoCase = 51; continue; };
- if (yych <= '^') { gotoCase = 21; continue; };
- { gotoCase = 49; continue; };
- } else {
- if (yych <= '`') { gotoCase = 21; continue; };
- if (yych <= 'z') { gotoCase = 49; continue; };
- if (yych <= 0x7F) { gotoCase = 21; continue; };
- { gotoCase = 49; continue; };
- }
- }
-case 51:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych != 'u') { gotoCase = 45; continue; };
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 53; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 53:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 54; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 54:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 55; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 55:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 49; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 49; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych <= 'f') { gotoCase = 49; continue; };
- { gotoCase = 45; continue; };
- }
-case 56:
- yych = this._charAt(++cursor);
- if (yych <= '<') { gotoCase = 18; continue; };
- if (yych <= '=') { gotoCase = 43; continue; };
- if (yych >= '?') { gotoCase = 18; continue; };
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 58:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 59:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-case 60:
- yyaccept = 3;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '9') {
- if (yych == '.') { gotoCase = 63; continue; };
- if (yych <= '/') { gotoCase = 35; continue; };
- { gotoCase = 60; continue; };
- } else {
- if (yych <= 'E') {
- if (yych <= 'D') { gotoCase = 35; continue; };
- } else {
- if (yych != 'e') { gotoCase = 35; continue; };
- }
- }
-case 62:
- yych = this._charAt(++cursor);
- if (yych <= ',') {
- if (yych == '+') { gotoCase = 69; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= '-') { gotoCase = 69; continue; };
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 70; continue; };
- { gotoCase = 45; continue; };
- }
-case 63:
- yyaccept = 3;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'D') {
- if (yych <= '/') { gotoCase = 35; continue; };
- if (yych <= '9') { gotoCase = 63; continue; };
- { gotoCase = 35; continue; };
- } else {
- if (yych <= 'E') { gotoCase = 65; continue; };
- if (yych != 'e') { gotoCase = 35; continue; };
- }
-case 65:
- yych = this._charAt(++cursor);
- if (yych <= ',') {
- if (yych != '+') { gotoCase = 45; continue; };
- } else {
- if (yych <= '-') { gotoCase = 66; continue; };
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 67; continue; };
- { gotoCase = 45; continue; };
- }
-case 66:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
-case 67:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 35; continue; };
- if (yych <= '9') { gotoCase = 67; continue; };
- { gotoCase = 35; continue; };
-case 69:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
-case 70:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 35; continue; };
- if (yych <= '9') { gotoCase = 70; continue; };
- { gotoCase = 35; continue; };
-case 72:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 35; continue; };
- if (yych <= '7') { gotoCase = 72; continue; };
- { gotoCase = 35; continue; };
-case 74:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 75; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 75:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 35; continue; };
- if (yych <= '9') { gotoCase = 75; continue; };
- { gotoCase = 35; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 75; continue; };
- if (yych <= '`') { gotoCase = 35; continue; };
- if (yych <= 'f') { gotoCase = 75; continue; };
- { gotoCase = 35; continue; };
- }
-case 77:
- yych = this._charAt(++cursor);
- { gotoCase = 33; continue; };
-case 78:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 85; continue; };
- { gotoCase = 78; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 85; continue; };
- if (yych == '*') { gotoCase = 83; continue; };
- { gotoCase = 78; continue; };
- }
-case 80:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 82; continue; };
- if (yych != '\r') { gotoCase = 80; continue; };
-case 82:
- { this.tokenType = "comment"; return cursor; }
-case 83:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '*') { gotoCase = 83; continue; };
- if (yych == '/') { gotoCase = 87; continue; };
- { gotoCase = 78; continue; };
-case 85:
- ++cursor;
- this.setCondition(this._conditions.COMMENT);
- { this.tokenType = "comment"; return cursor; }
-case 87:
- ++cursor;
- { this.tokenType = "comment"; return cursor; }
-case 89:
- yyaccept = 3;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'D') {
- if (yych <= '/') { gotoCase = 35; continue; };
- if (yych <= '9') { gotoCase = 89; continue; };
- { gotoCase = 35; continue; };
- } else {
- if (yych <= 'E') { gotoCase = 91; continue; };
- if (yych != 'e') { gotoCase = 35; continue; };
- }
-case 91:
- yych = this._charAt(++cursor);
- if (yych <= ',') {
- if (yych != '+') { gotoCase = 45; continue; };
- } else {
- if (yych <= '-') { gotoCase = 92; continue; };
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 93; continue; };
- { gotoCase = 45; continue; };
- }
-case 92:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
-case 93:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 35; continue; };
- if (yych <= '9') { gotoCase = 93; continue; };
- { gotoCase = 35; continue; };
-case 95:
- ++cursor;
- yych = this._charAt(cursor);
-case 96:
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 45; continue; };
- if (yych <= '\f') { gotoCase = 95; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= '\'') {
- if (yych <= '&') { gotoCase = 95; continue; };
- { gotoCase = 98; continue; };
- } else {
- if (yych != '\\') { gotoCase = 95; continue; };
- }
- }
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'a') {
- if (yych <= '!') {
- if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 45; continue; };
- { gotoCase = 101; continue; };
- } else {
- if (yych == '\r') { gotoCase = 101; continue; };
- { gotoCase = 45; continue; };
- }
- } else {
- if (yych <= '\'') {
- if (yych <= '"') { gotoCase = 95; continue; };
- if (yych <= '&') { gotoCase = 45; continue; };
- { gotoCase = 95; continue; };
- } else {
- if (yych == '\\') { gotoCase = 95; continue; };
- { gotoCase = 45; continue; };
- }
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'f') {
- if (yych <= 'b') { gotoCase = 95; continue; };
- if (yych <= 'e') { gotoCase = 45; continue; };
- { gotoCase = 95; continue; };
- } else {
- if (yych == 'n') { gotoCase = 95; continue; };
- { gotoCase = 45; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych == 's') { gotoCase = 45; continue; };
- { gotoCase = 95; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 100; continue; };
- if (yych <= 'v') { gotoCase = 95; continue; };
- { gotoCase = 45; continue; };
- }
- }
- }
-case 98:
- ++cursor;
- { this.tokenType = "string"; return cursor; }
-case 100:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 103; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 103; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych <= 'f') { gotoCase = 103; continue; };
- { gotoCase = 45; continue; };
- }
-case 101:
- ++cursor;
- this.setCondition(this._conditions.SSTRING);
- { this.tokenType = "string"; return cursor; }
-case 103:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 104; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 104:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 105; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 105:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 95; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 95; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych <= 'f') { gotoCase = 95; continue; };
- { gotoCase = 45; continue; };
- }
-case 106:
- ++cursor;
- yych = this._charAt(cursor);
-case 107:
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 45; continue; };
- if (yych <= '\f') { gotoCase = 106; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= '"') {
- if (yych <= '!') { gotoCase = 106; continue; };
- { gotoCase = 98; continue; };
- } else {
- if (yych != '\\') { gotoCase = 106; continue; };
- }
- }
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'a') {
- if (yych <= '!') {
- if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 45; continue; };
- { gotoCase = 110; continue; };
- } else {
- if (yych == '\r') { gotoCase = 110; continue; };
- { gotoCase = 45; continue; };
- }
- } else {
- if (yych <= '\'') {
- if (yych <= '"') { gotoCase = 106; continue; };
- if (yych <= '&') { gotoCase = 45; continue; };
- { gotoCase = 106; continue; };
- } else {
- if (yych == '\\') { gotoCase = 106; continue; };
- { gotoCase = 45; continue; };
- }
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'f') {
- if (yych <= 'b') { gotoCase = 106; continue; };
- if (yych <= 'e') { gotoCase = 45; continue; };
- { gotoCase = 106; continue; };
- } else {
- if (yych == 'n') { gotoCase = 106; continue; };
- { gotoCase = 45; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych == 's') { gotoCase = 45; continue; };
- { gotoCase = 106; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 109; continue; };
- if (yych <= 'v') { gotoCase = 106; continue; };
- { gotoCase = 45; continue; };
- }
- }
- }
-case 109:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 112; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 112; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych <= 'f') { gotoCase = 112; continue; };
- { gotoCase = 45; continue; };
- }
-case 110:
- ++cursor;
- this.setCondition(this._conditions.DSTRING);
- { this.tokenType = "string"; return cursor; }
-case 112:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 113; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 113:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych >= ':') { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 114; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych >= 'g') { gotoCase = 45; continue; };
- }
-case 114:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 45; continue; };
- if (yych <= '9') { gotoCase = 106; continue; };
- { gotoCase = 45; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 106; continue; };
- if (yych <= '`') { gotoCase = 45; continue; };
- if (yych <= 'f') { gotoCase = 106; continue; };
- { gotoCase = 45; continue; };
- }
-case 115:
- ++cursor;
- if ((yych = this._charAt(cursor)) == '=') { gotoCase = 43; continue; };
- { gotoCase = 18; continue; };
-/* *********************************** */
-case this.case_DSTRING:
- yych = this._charAt(cursor);
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 120; continue; };
- if (yych <= '\f') { gotoCase = 119; continue; };
- { gotoCase = 120; continue; };
- } else {
- if (yych <= '"') {
- if (yych <= '!') { gotoCase = 119; continue; };
- { gotoCase = 122; continue; };
- } else {
- if (yych == '\\') { gotoCase = 124; continue; };
- { gotoCase = 119; continue; };
- }
- }
-case 118:
- { this.tokenType = "string"; return cursor; }
-case 119:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- { gotoCase = 126; continue; };
-case 120:
- ++cursor;
-case 121:
- { this.tokenType = null; return cursor; }
-case 122:
- ++cursor;
-case 123:
- this.setCondition(this._conditions.NODIV);
- { this.tokenType = "string"; return cursor; }
-case 124:
- yyaccept = 1;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= 'e') {
- if (yych <= '\'') {
- if (yych == '"') { gotoCase = 125; continue; };
- if (yych <= '&') { gotoCase = 121; continue; };
- } else {
- if (yych <= '\\') {
- if (yych <= '[') { gotoCase = 121; continue; };
- } else {
- if (yych != 'b') { gotoCase = 121; continue; };
- }
- }
- } else {
- if (yych <= 'r') {
- if (yych <= 'm') {
- if (yych >= 'g') { gotoCase = 121; continue; };
- } else {
- if (yych <= 'n') { gotoCase = 125; continue; };
- if (yych <= 'q') { gotoCase = 121; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych <= 's') { gotoCase = 121; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 127; continue; };
- if (yych >= 'w') { gotoCase = 121; continue; };
- }
- }
- }
-case 125:
- yyaccept = 0;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
-case 126:
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 118; continue; };
- if (yych <= '\f') { gotoCase = 125; continue; };
- { gotoCase = 118; continue; };
- } else {
- if (yych <= '"') {
- if (yych <= '!') { gotoCase = 125; continue; };
- { gotoCase = 133; continue; };
- } else {
- if (yych == '\\') { gotoCase = 132; continue; };
- { gotoCase = 125; continue; };
- }
- }
-case 127:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 128; continue; };
- if (yych <= '9') { gotoCase = 129; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 129; continue; };
- if (yych <= '`') { gotoCase = 128; continue; };
- if (yych <= 'f') { gotoCase = 129; continue; };
- }
-case 128:
- cursor = YYMARKER;
- if (yyaccept <= 0) {
- { gotoCase = 118; continue; };
- } else {
- { gotoCase = 121; continue; };
- }
-case 129:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 128; continue; };
- if (yych >= ':') { gotoCase = 128; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 130; continue; };
- if (yych <= '`') { gotoCase = 128; continue; };
- if (yych >= 'g') { gotoCase = 128; continue; };
- }
-case 130:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 128; continue; };
- if (yych >= ':') { gotoCase = 128; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 131; continue; };
- if (yych <= '`') { gotoCase = 128; continue; };
- if (yych >= 'g') { gotoCase = 128; continue; };
- }
-case 131:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 128; continue; };
- if (yych <= '9') { gotoCase = 125; continue; };
- { gotoCase = 128; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 125; continue; };
- if (yych <= '`') { gotoCase = 128; continue; };
- if (yych <= 'f') { gotoCase = 125; continue; };
- { gotoCase = 128; continue; };
- }
-case 132:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'e') {
- if (yych <= '\'') {
- if (yych == '"') { gotoCase = 125; continue; };
- if (yych <= '&') { gotoCase = 128; continue; };
- { gotoCase = 125; continue; };
- } else {
- if (yych <= '\\') {
- if (yych <= '[') { gotoCase = 128; continue; };
- { gotoCase = 125; continue; };
- } else {
- if (yych == 'b') { gotoCase = 125; continue; };
- { gotoCase = 128; continue; };
- }
- }
- } else {
- if (yych <= 'r') {
- if (yych <= 'm') {
- if (yych <= 'f') { gotoCase = 125; continue; };
- { gotoCase = 128; continue; };
- } else {
- if (yych <= 'n') { gotoCase = 125; continue; };
- if (yych <= 'q') { gotoCase = 128; continue; };
- { gotoCase = 125; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych <= 's') { gotoCase = 128; continue; };
- { gotoCase = 125; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 127; continue; };
- if (yych <= 'v') { gotoCase = 125; continue; };
- { gotoCase = 128; continue; };
- }
- }
- }
-case 133:
- ++cursor;
- yych = this._charAt(cursor);
- { gotoCase = 123; continue; };
-/* *********************************** */
-case this.case_NODIV:
- yych = this._charAt(cursor);
- if (yych <= '9') {
- if (yych <= '(') {
- if (yych <= '#') {
- if (yych <= ' ') { gotoCase = 136; continue; };
- if (yych <= '!') { gotoCase = 138; continue; };
- if (yych <= '"') { gotoCase = 140; continue; };
- } else {
- if (yych <= '%') {
- if (yych <= '$') { gotoCase = 141; continue; };
- { gotoCase = 143; continue; };
- } else {
- if (yych <= '&') { gotoCase = 144; continue; };
- if (yych <= '\'') { gotoCase = 145; continue; };
- { gotoCase = 146; continue; };
- }
- }
- } else {
- if (yych <= ',') {
- if (yych <= ')') { gotoCase = 147; continue; };
- if (yych <= '*') { gotoCase = 149; continue; };
- if (yych <= '+') { gotoCase = 150; continue; };
- { gotoCase = 146; continue; };
- } else {
- if (yych <= '.') {
- if (yych <= '-') { gotoCase = 151; continue; };
- { gotoCase = 152; continue; };
- } else {
- if (yych <= '/') { gotoCase = 153; continue; };
- if (yych <= '0') { gotoCase = 154; continue; };
- { gotoCase = 156; continue; };
- }
- }
- }
- } else {
- if (yych <= '\\') {
- if (yych <= '>') {
- if (yych <= ';') { gotoCase = 146; continue; };
- if (yych <= '<') { gotoCase = 157; continue; };
- if (yych <= '=') { gotoCase = 158; continue; };
- { gotoCase = 159; continue; };
- } else {
- if (yych <= '@') {
- if (yych <= '?') { gotoCase = 146; continue; };
- } else {
- if (yych <= 'Z') { gotoCase = 141; continue; };
- if (yych <= '[') { gotoCase = 146; continue; };
- { gotoCase = 160; continue; };
- }
- }
- } else {
- if (yych <= 'z') {
- if (yych <= '^') {
- if (yych <= ']') { gotoCase = 146; continue; };
- { gotoCase = 161; continue; };
- } else {
- if (yych != '`') { gotoCase = 141; continue; };
- }
- } else {
- if (yych <= '|') {
- if (yych <= '{') { gotoCase = 146; continue; };
- { gotoCase = 162; continue; };
- } else {
- if (yych <= '~') { gotoCase = 146; continue; };
- if (yych >= 0x80) { gotoCase = 141; continue; };
- }
- }
- }
- }
-case 136:
- ++cursor;
-case 137:
- { this.tokenType = null; return cursor; }
-case 138:
- ++cursor;
- if ((yych = this._charAt(cursor)) == '=') { gotoCase = 260; continue; };
-case 139:
- { this.tokenType = null; return cursor; }
-case 140:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych == '\n') { gotoCase = 137; continue; };
- if (yych == '\r') { gotoCase = 137; continue; };
- { gotoCase = 252; continue; };
-case 141:
- yyaccept = 1;
- yych = this._charAt(YYMARKER = ++cursor);
- { gotoCase = 170; continue; };
-case 142:
- this.setCondition(this._conditions.DIV);
- {
- var token = this._line.substring(cursorOnEnter, cursor);
- if (token in this._keywords)
- this.tokenType = "keyword";
- else
- this.tokenType = null;
- return cursor;
- }
-case 143:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 144:
- yych = this._charAt(++cursor);
- if (yych == '&') { gotoCase = 163; continue; };
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 145:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych == '\n') { gotoCase = 137; continue; };
- if (yych == '\r') { gotoCase = 137; continue; };
- { gotoCase = 241; continue; };
-case 146:
- yych = this._charAt(++cursor);
- { gotoCase = 139; continue; };
-case 147:
- ++cursor;
- this.setCondition(this._conditions.DIV);
- { this.tokenType = null; return cursor; }
-case 149:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 150:
- yych = this._charAt(++cursor);
- if (yych == '+') { gotoCase = 163; continue; };
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 151:
- yych = this._charAt(++cursor);
- if (yych == '-') { gotoCase = 163; continue; };
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 152:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 139; continue; };
- if (yych <= '9') { gotoCase = 234; continue; };
- { gotoCase = 139; continue; };
-case 153:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 137; continue; };
- { gotoCase = 197; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 137; continue; };
- if (yych <= ')') { gotoCase = 197; continue; };
- { gotoCase = 202; continue; };
- }
- } else {
- if (yych <= 'Z') {
- if (yych == '/') { gotoCase = 204; continue; };
- { gotoCase = 197; continue; };
- } else {
- if (yych <= '[') { gotoCase = 200; continue; };
- if (yych <= '\\') { gotoCase = 199; continue; };
- if (yych <= ']') { gotoCase = 137; continue; };
- { gotoCase = 197; continue; };
- }
- }
-case 154:
- yyaccept = 2;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= 'E') {
- if (yych <= '/') {
- if (yych == '.') { gotoCase = 183; continue; };
- } else {
- if (yych <= '7') { gotoCase = 192; continue; };
- if (yych >= 'E') { gotoCase = 182; continue; };
- }
- } else {
- if (yych <= 'd') {
- if (yych == 'X') { gotoCase = 194; continue; };
- } else {
- if (yych <= 'e') { gotoCase = 182; continue; };
- if (yych == 'x') { gotoCase = 194; continue; };
- }
- }
-case 155:
- this.setCondition(this._conditions.DIV);
- { this.tokenType = "number"; return cursor; }
-case 156:
- yyaccept = 2;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= '9') {
- if (yych == '.') { gotoCase = 183; continue; };
- if (yych <= '/') { gotoCase = 155; continue; };
- { gotoCase = 180; continue; };
- } else {
- if (yych <= 'E') {
- if (yych <= 'D') { gotoCase = 155; continue; };
- { gotoCase = 182; continue; };
- } else {
- if (yych == 'e') { gotoCase = 182; continue; };
- { gotoCase = 155; continue; };
- }
- }
-case 157:
- yych = this._charAt(++cursor);
- if (yych <= ';') { gotoCase = 139; continue; };
- if (yych <= '<') { gotoCase = 179; continue; };
- if (yych <= '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 158:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 178; continue; };
- { gotoCase = 139; continue; };
-case 159:
- yych = this._charAt(++cursor);
- if (yych <= '<') { gotoCase = 139; continue; };
- if (yych <= '=') { gotoCase = 163; continue; };
- if (yych <= '>') { gotoCase = 176; continue; };
- { gotoCase = 139; continue; };
-case 160:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych == 'u') { gotoCase = 164; continue; };
- { gotoCase = 137; continue; };
-case 161:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 162:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 163; continue; };
- if (yych != '|') { gotoCase = 139; continue; };
-case 163:
- yych = this._charAt(++cursor);
- { gotoCase = 139; continue; };
-case 164:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 166; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 166; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych <= 'f') { gotoCase = 166; continue; };
- }
-case 165:
- cursor = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- { gotoCase = 137; continue; };
- } else {
- { gotoCase = 142; continue; };
- }
- } else {
- if (yyaccept <= 2) {
- { gotoCase = 155; continue; };
- } else {
- { gotoCase = 217; continue; };
- }
- }
-case 166:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 167; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 167:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 168; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 168:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 169; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 169:
- yyaccept = 1;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
-case 170:
- if (yych <= '[') {
- if (yych <= '/') {
- if (yych == '$') { gotoCase = 169; continue; };
- { gotoCase = 142; continue; };
- } else {
- if (yych <= '9') { gotoCase = 169; continue; };
- if (yych <= '@') { gotoCase = 142; continue; };
- if (yych <= 'Z') { gotoCase = 169; continue; };
- { gotoCase = 142; continue; };
- }
- } else {
- if (yych <= '_') {
- if (yych <= '\\') { gotoCase = 171; continue; };
- if (yych <= '^') { gotoCase = 142; continue; };
- { gotoCase = 169; continue; };
- } else {
- if (yych <= '`') { gotoCase = 142; continue; };
- if (yych <= 'z') { gotoCase = 169; continue; };
- if (yych <= 0x7F) { gotoCase = 142; continue; };
- { gotoCase = 169; continue; };
- }
- }
-case 171:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych != 'u') { gotoCase = 165; continue; };
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 173; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 173:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 174; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 174:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 175; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 175:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 169; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 169; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych <= 'f') { gotoCase = 169; continue; };
- { gotoCase = 165; continue; };
- }
-case 176:
- yych = this._charAt(++cursor);
- if (yych <= '<') { gotoCase = 139; continue; };
- if (yych <= '=') { gotoCase = 163; continue; };
- if (yych >= '?') { gotoCase = 139; continue; };
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 178:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 179:
- yych = this._charAt(++cursor);
- if (yych == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-case 180:
- yyaccept = 2;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '9') {
- if (yych == '.') { gotoCase = 183; continue; };
- if (yych <= '/') { gotoCase = 155; continue; };
- { gotoCase = 180; continue; };
- } else {
- if (yych <= 'E') {
- if (yych <= 'D') { gotoCase = 155; continue; };
- } else {
- if (yych != 'e') { gotoCase = 155; continue; };
- }
- }
-case 182:
- yych = this._charAt(++cursor);
- if (yych <= ',') {
- if (yych == '+') { gotoCase = 189; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= '-') { gotoCase = 189; continue; };
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 190; continue; };
- { gotoCase = 165; continue; };
- }
-case 183:
- yyaccept = 2;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'D') {
- if (yych <= '/') { gotoCase = 155; continue; };
- if (yych <= '9') { gotoCase = 183; continue; };
- { gotoCase = 155; continue; };
- } else {
- if (yych <= 'E') { gotoCase = 185; continue; };
- if (yych != 'e') { gotoCase = 155; continue; };
- }
-case 185:
- yych = this._charAt(++cursor);
- if (yych <= ',') {
- if (yych != '+') { gotoCase = 165; continue; };
- } else {
- if (yych <= '-') { gotoCase = 186; continue; };
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 187; continue; };
- { gotoCase = 165; continue; };
- }
-case 186:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
-case 187:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 155; continue; };
- if (yych <= '9') { gotoCase = 187; continue; };
- { gotoCase = 155; continue; };
-case 189:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
-case 190:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 155; continue; };
- if (yych <= '9') { gotoCase = 190; continue; };
- { gotoCase = 155; continue; };
-case 192:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 155; continue; };
- if (yych <= '7') { gotoCase = 192; continue; };
- { gotoCase = 155; continue; };
-case 194:
- yych = this._charAt(++cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 195; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 195:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 155; continue; };
- if (yych <= '9') { gotoCase = 195; continue; };
- { gotoCase = 155; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 195; continue; };
- if (yych <= '`') { gotoCase = 155; continue; };
- if (yych <= 'f') { gotoCase = 195; continue; };
- { gotoCase = 155; continue; };
- }
-case 197:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '.') {
- if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 197; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych == '\r') { gotoCase = 165; continue; };
- { gotoCase = 197; continue; };
- }
- } else {
- if (yych <= '[') {
- if (yych <= '/') { gotoCase = 220; continue; };
- if (yych <= 'Z') { gotoCase = 197; continue; };
- { gotoCase = 228; continue; };
- } else {
- if (yych <= '\\') { gotoCase = 227; continue; };
- if (yych <= ']') { gotoCase = 165; continue; };
- { gotoCase = 197; continue; };
- }
- }
-case 199:
- yych = this._charAt(++cursor);
- if (yych == '\n') { gotoCase = 165; continue; };
- if (yych == '\r') { gotoCase = 165; continue; };
- { gotoCase = 197; continue; };
-case 200:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 165; continue; };
- { gotoCase = 200; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 165; continue; };
- if (yych <= ')') { gotoCase = 200; continue; };
- { gotoCase = 165; continue; };
- }
- } else {
- if (yych <= '[') {
- if (yych == '/') { gotoCase = 165; continue; };
- { gotoCase = 200; continue; };
- } else {
- if (yych <= '\\') { gotoCase = 215; continue; };
- if (yych <= ']') { gotoCase = 213; continue; };
- { gotoCase = 200; continue; };
- }
- }
-case 202:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 209; continue; };
- { gotoCase = 202; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 209; continue; };
- if (yych == '*') { gotoCase = 207; continue; };
- { gotoCase = 202; continue; };
- }
-case 204:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 206; continue; };
- if (yych != '\r') { gotoCase = 204; continue; };
-case 206:
- { this.tokenType = "comment"; return cursor; }
-case 207:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '*') { gotoCase = 207; continue; };
- if (yych == '/') { gotoCase = 211; continue; };
- { gotoCase = 202; continue; };
-case 209:
- ++cursor;
- this.setCondition(this._conditions.COMMENT);
- { this.tokenType = "comment"; return cursor; }
-case 211:
- ++cursor;
- { this.tokenType = "comment"; return cursor; }
-case 213:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 165; continue; };
- { gotoCase = 213; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 165; continue; };
- if (yych <= ')') { gotoCase = 213; continue; };
- { gotoCase = 197; continue; };
- }
- } else {
- if (yych <= 'Z') {
- if (yych == '/') { gotoCase = 220; continue; };
- { gotoCase = 213; continue; };
- } else {
- if (yych <= '[') { gotoCase = 218; continue; };
- if (yych <= '\\') { gotoCase = 216; continue; };
- { gotoCase = 213; continue; };
- }
- }
-case 215:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 165; continue; };
- if (yych == '\r') { gotoCase = 165; continue; };
- { gotoCase = 200; continue; };
-case 216:
- yyaccept = 3;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 217; continue; };
- if (yych != '\r') { gotoCase = 213; continue; };
-case 217:
- this.setCondition(this._conditions.REGEX);
- { this.tokenType = "regex"; return cursor; }
-case 218:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 165; continue; };
- { gotoCase = 218; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 165; continue; };
- if (yych <= ')') { gotoCase = 218; continue; };
- { gotoCase = 165; continue; };
- }
- } else {
- if (yych <= '[') {
- if (yych == '/') { gotoCase = 165; continue; };
- { gotoCase = 218; continue; };
- } else {
- if (yych <= '\\') { gotoCase = 225; continue; };
- if (yych <= ']') { gotoCase = 223; continue; };
- { gotoCase = 218; continue; };
- }
- }
-case 220:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'h') {
- if (yych == 'g') { gotoCase = 220; continue; };
- } else {
- if (yych <= 'i') { gotoCase = 220; continue; };
- if (yych == 'm') { gotoCase = 220; continue; };
- }
- { this.tokenType = "regex"; return cursor; }
-case 223:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 165; continue; };
- { gotoCase = 223; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 165; continue; };
- if (yych <= ')') { gotoCase = 223; continue; };
- { gotoCase = 197; continue; };
- }
- } else {
- if (yych <= 'Z') {
- if (yych == '/') { gotoCase = 220; continue; };
- { gotoCase = 223; continue; };
- } else {
- if (yych <= '[') { gotoCase = 218; continue; };
- if (yych <= '\\') { gotoCase = 226; continue; };
- { gotoCase = 223; continue; };
- }
- }
-case 225:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 165; continue; };
- if (yych == '\r') { gotoCase = 165; continue; };
- { gotoCase = 218; continue; };
-case 226:
- yyaccept = 3;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 217; continue; };
- if (yych == '\r') { gotoCase = 217; continue; };
- { gotoCase = 223; continue; };
-case 227:
- yyaccept = 3;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 217; continue; };
- if (yych == '\r') { gotoCase = 217; continue; };
- { gotoCase = 197; continue; };
-case 228:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 165; continue; };
- { gotoCase = 228; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 165; continue; };
- if (yych <= ')') { gotoCase = 228; continue; };
- { gotoCase = 165; continue; };
- }
- } else {
- if (yych <= '[') {
- if (yych == '/') { gotoCase = 165; continue; };
- { gotoCase = 228; continue; };
- } else {
- if (yych <= '\\') { gotoCase = 232; continue; };
- if (yych >= '^') { gotoCase = 228; continue; };
- }
- }
-case 230:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 165; continue; };
- { gotoCase = 230; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 165; continue; };
- if (yych <= ')') { gotoCase = 230; continue; };
- { gotoCase = 197; continue; };
- }
- } else {
- if (yych <= 'Z') {
- if (yych == '/') { gotoCase = 220; continue; };
- { gotoCase = 230; continue; };
- } else {
- if (yych <= '[') { gotoCase = 228; continue; };
- if (yych <= '\\') { gotoCase = 233; continue; };
- { gotoCase = 230; continue; };
- }
- }
-case 232:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 165; continue; };
- if (yych == '\r') { gotoCase = 165; continue; };
- { gotoCase = 228; continue; };
-case 233:
- yyaccept = 3;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 217; continue; };
- if (yych == '\r') { gotoCase = 217; continue; };
- { gotoCase = 230; continue; };
-case 234:
- yyaccept = 2;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'D') {
- if (yych <= '/') { gotoCase = 155; continue; };
- if (yych <= '9') { gotoCase = 234; continue; };
- { gotoCase = 155; continue; };
- } else {
- if (yych <= 'E') { gotoCase = 236; continue; };
- if (yych != 'e') { gotoCase = 155; continue; };
- }
-case 236:
- yych = this._charAt(++cursor);
- if (yych <= ',') {
- if (yych != '+') { gotoCase = 165; continue; };
- } else {
- if (yych <= '-') { gotoCase = 237; continue; };
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 238; continue; };
- { gotoCase = 165; continue; };
- }
-case 237:
- yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
-case 238:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '/') { gotoCase = 155; continue; };
- if (yych <= '9') { gotoCase = 238; continue; };
- { gotoCase = 155; continue; };
-case 240:
- ++cursor;
- yych = this._charAt(cursor);
-case 241:
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 165; continue; };
- if (yych <= '\f') { gotoCase = 240; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= '\'') {
- if (yych <= '&') { gotoCase = 240; continue; };
- { gotoCase = 243; continue; };
- } else {
- if (yych != '\\') { gotoCase = 240; continue; };
- }
- }
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'a') {
- if (yych <= '!') {
- if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 165; continue; };
- { gotoCase = 246; continue; };
- } else {
- if (yych == '\r') { gotoCase = 246; continue; };
- { gotoCase = 165; continue; };
- }
- } else {
- if (yych <= '\'') {
- if (yych <= '"') { gotoCase = 240; continue; };
- if (yych <= '&') { gotoCase = 165; continue; };
- { gotoCase = 240; continue; };
- } else {
- if (yych == '\\') { gotoCase = 240; continue; };
- { gotoCase = 165; continue; };
- }
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'f') {
- if (yych <= 'b') { gotoCase = 240; continue; };
- if (yych <= 'e') { gotoCase = 165; continue; };
- { gotoCase = 240; continue; };
- } else {
- if (yych == 'n') { gotoCase = 240; continue; };
- { gotoCase = 165; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych == 's') { gotoCase = 165; continue; };
- { gotoCase = 240; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 245; continue; };
- if (yych <= 'v') { gotoCase = 240; continue; };
- { gotoCase = 165; continue; };
- }
- }
- }
-case 243:
- ++cursor;
- { this.tokenType = "string"; return cursor; }
-case 245:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 248; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 248; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych <= 'f') { gotoCase = 248; continue; };
- { gotoCase = 165; continue; };
- }
-case 246:
- ++cursor;
- this.setCondition(this._conditions.SSTRING);
- { this.tokenType = "string"; return cursor; }
-case 248:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 249; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 249:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 250; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 250:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 240; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 240; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych <= 'f') { gotoCase = 240; continue; };
- { gotoCase = 165; continue; };
- }
-case 251:
- ++cursor;
- yych = this._charAt(cursor);
-case 252:
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 165; continue; };
- if (yych <= '\f') { gotoCase = 251; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= '"') {
- if (yych <= '!') { gotoCase = 251; continue; };
- { gotoCase = 243; continue; };
- } else {
- if (yych != '\\') { gotoCase = 251; continue; };
- }
- }
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'a') {
- if (yych <= '!') {
- if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 165; continue; };
- { gotoCase = 255; continue; };
- } else {
- if (yych == '\r') { gotoCase = 255; continue; };
- { gotoCase = 165; continue; };
- }
- } else {
- if (yych <= '\'') {
- if (yych <= '"') { gotoCase = 251; continue; };
- if (yych <= '&') { gotoCase = 165; continue; };
- { gotoCase = 251; continue; };
- } else {
- if (yych == '\\') { gotoCase = 251; continue; };
- { gotoCase = 165; continue; };
- }
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'f') {
- if (yych <= 'b') { gotoCase = 251; continue; };
- if (yych <= 'e') { gotoCase = 165; continue; };
- { gotoCase = 251; continue; };
- } else {
- if (yych == 'n') { gotoCase = 251; continue; };
- { gotoCase = 165; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych == 's') { gotoCase = 165; continue; };
- { gotoCase = 251; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 254; continue; };
- if (yych <= 'v') { gotoCase = 251; continue; };
- { gotoCase = 165; continue; };
- }
- }
- }
-case 254:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 257; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 257; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych <= 'f') { gotoCase = 257; continue; };
- { gotoCase = 165; continue; };
- }
-case 255:
- ++cursor;
- this.setCondition(this._conditions.DSTRING);
- { this.tokenType = "string"; return cursor; }
-case 257:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 258; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 258:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych >= ':') { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 259; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych >= 'g') { gotoCase = 165; continue; };
- }
-case 259:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 165; continue; };
- if (yych <= '9') { gotoCase = 251; continue; };
- { gotoCase = 165; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 251; continue; };
- if (yych <= '`') { gotoCase = 165; continue; };
- if (yych <= 'f') { gotoCase = 251; continue; };
- { gotoCase = 165; continue; };
- }
-case 260:
- ++cursor;
- if ((yych = this._charAt(cursor)) == '=') { gotoCase = 163; continue; };
- { gotoCase = 139; continue; };
-/* *********************************** */
-case this.case_REGEX:
- yych = this._charAt(cursor);
- if (yych <= '.') {
- if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 264; continue; };
- { gotoCase = 265; continue; };
- } else {
- if (yych == '\r') { gotoCase = 265; continue; };
- { gotoCase = 264; continue; };
- }
- } else {
- if (yych <= '[') {
- if (yych <= '/') { gotoCase = 267; continue; };
- if (yych <= 'Z') { gotoCase = 264; continue; };
- { gotoCase = 269; continue; };
- } else {
- if (yych <= '\\') { gotoCase = 270; continue; };
- if (yych <= ']') { gotoCase = 265; continue; };
- { gotoCase = 264; continue; };
- }
- }
-case 263:
- { this.tokenType = "regex"; return cursor; }
-case 264:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- { gotoCase = 272; continue; };
-case 265:
- ++cursor;
-case 266:
- { this.tokenType = null; return cursor; }
-case 267:
- ++cursor;
- yych = this._charAt(cursor);
- { gotoCase = 278; continue; };
-case 268:
- this.setCondition(this._conditions.NODIV);
- { this.tokenType = "regex"; return cursor; }
-case 269:
- yyaccept = 1;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 266; continue; };
- if (yych <= '\f') { gotoCase = 276; continue; };
- { gotoCase = 266; continue; };
- } else {
- if (yych <= '*') {
- if (yych <= ')') { gotoCase = 276; continue; };
- { gotoCase = 266; continue; };
- } else {
- if (yych == '/') { gotoCase = 266; continue; };
- { gotoCase = 276; continue; };
- }
- }
-case 270:
- yych = this._charAt(++cursor);
- if (yych == '\n') { gotoCase = 266; continue; };
- if (yych == '\r') { gotoCase = 266; continue; };
-case 271:
- yyaccept = 0;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
-case 272:
- if (yych <= '.') {
- if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 271; continue; };
- { gotoCase = 263; continue; };
- } else {
- if (yych == '\r') { gotoCase = 263; continue; };
- { gotoCase = 271; continue; };
- }
- } else {
- if (yych <= '[') {
- if (yych <= '/') { gotoCase = 277; continue; };
- if (yych <= 'Z') { gotoCase = 271; continue; };
- { gotoCase = 275; continue; };
- } else {
- if (yych <= '\\') { gotoCase = 273; continue; };
- if (yych <= ']') { gotoCase = 263; continue; };
- { gotoCase = 271; continue; };
- }
- }
-case 273:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 274; continue; };
- if (yych != '\r') { gotoCase = 271; continue; };
-case 274:
- cursor = YYMARKER;
- if (yyaccept <= 0) {
- { gotoCase = 263; continue; };
- } else {
- { gotoCase = 266; continue; };
- }
-case 275:
- ++cursor;
- yych = this._charAt(cursor);
-case 276:
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 274; continue; };
- { gotoCase = 275; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 274; continue; };
- if (yych <= ')') { gotoCase = 275; continue; };
- { gotoCase = 274; continue; };
- }
- } else {
- if (yych <= '[') {
- if (yych == '/') { gotoCase = 274; continue; };
- { gotoCase = 275; continue; };
- } else {
- if (yych <= '\\') { gotoCase = 281; continue; };
- if (yych <= ']') { gotoCase = 279; continue; };
- { gotoCase = 275; continue; };
- }
- }
-case 277:
- ++cursor;
- yych = this._charAt(cursor);
-case 278:
- if (yych <= 'h') {
- if (yych == 'g') { gotoCase = 277; continue; };
- { gotoCase = 268; continue; };
- } else {
- if (yych <= 'i') { gotoCase = 277; continue; };
- if (yych == 'm') { gotoCase = 277; continue; };
- { gotoCase = 268; continue; };
- }
-case 279:
- yyaccept = 0;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '*') {
- if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 263; continue; };
- { gotoCase = 279; continue; };
- } else {
- if (yych <= '\r') { gotoCase = 263; continue; };
- if (yych <= ')') { gotoCase = 279; continue; };
- { gotoCase = 271; continue; };
- }
- } else {
- if (yych <= 'Z') {
- if (yych == '/') { gotoCase = 277; continue; };
- { gotoCase = 279; continue; };
- } else {
- if (yych <= '[') { gotoCase = 275; continue; };
- if (yych <= '\\') { gotoCase = 282; continue; };
- { gotoCase = 279; continue; };
- }
- }
-case 281:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 274; continue; };
- if (yych == '\r') { gotoCase = 274; continue; };
- { gotoCase = 275; continue; };
-case 282:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych == '\n') { gotoCase = 274; continue; };
- if (yych == '\r') { gotoCase = 274; continue; };
- { gotoCase = 279; continue; };
-/* *********************************** */
-case this.case_SSTRING:
- yych = this._charAt(cursor);
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 287; continue; };
- if (yych <= '\f') { gotoCase = 286; continue; };
- { gotoCase = 287; continue; };
- } else {
- if (yych <= '\'') {
- if (yych <= '&') { gotoCase = 286; continue; };
- { gotoCase = 289; continue; };
- } else {
- if (yych == '\\') { gotoCase = 291; continue; };
- { gotoCase = 286; continue; };
- }
- }
-case 285:
- { this.tokenType = "string"; return cursor; }
-case 286:
- yyaccept = 0;
- yych = this._charAt(YYMARKER = ++cursor);
- { gotoCase = 293; continue; };
-case 287:
- ++cursor;
-case 288:
- { this.tokenType = null; return cursor; }
-case 289:
- ++cursor;
-case 290:
- this.setCondition(this._conditions.NODIV);
- { this.tokenType = "string"; return cursor; }
-case 291:
- yyaccept = 1;
- yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= 'e') {
- if (yych <= '\'') {
- if (yych == '"') { gotoCase = 292; continue; };
- if (yych <= '&') { gotoCase = 288; continue; };
- } else {
- if (yych <= '\\') {
- if (yych <= '[') { gotoCase = 288; continue; };
- } else {
- if (yych != 'b') { gotoCase = 288; continue; };
- }
- }
- } else {
- if (yych <= 'r') {
- if (yych <= 'm') {
- if (yych >= 'g') { gotoCase = 288; continue; };
- } else {
- if (yych <= 'n') { gotoCase = 292; continue; };
- if (yych <= 'q') { gotoCase = 288; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych <= 's') { gotoCase = 288; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 294; continue; };
- if (yych >= 'w') { gotoCase = 288; continue; };
- }
- }
- }
-case 292:
- yyaccept = 0;
- YYMARKER = ++cursor;
- yych = this._charAt(cursor);
-case 293:
- if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 285; continue; };
- if (yych <= '\f') { gotoCase = 292; continue; };
- { gotoCase = 285; continue; };
- } else {
- if (yych <= '\'') {
- if (yych <= '&') { gotoCase = 292; continue; };
- { gotoCase = 300; continue; };
- } else {
- if (yych == '\\') { gotoCase = 299; continue; };
- { gotoCase = 292; continue; };
- }
- }
-case 294:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 295; continue; };
- if (yych <= '9') { gotoCase = 296; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 296; continue; };
- if (yych <= '`') { gotoCase = 295; continue; };
- if (yych <= 'f') { gotoCase = 296; continue; };
- }
-case 295:
- cursor = YYMARKER;
- if (yyaccept <= 0) {
- { gotoCase = 285; continue; };
- } else {
- { gotoCase = 288; continue; };
- }
-case 296:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 295; continue; };
- if (yych >= ':') { gotoCase = 295; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 297; continue; };
- if (yych <= '`') { gotoCase = 295; continue; };
- if (yych >= 'g') { gotoCase = 295; continue; };
- }
-case 297:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 295; continue; };
- if (yych >= ':') { gotoCase = 295; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 298; continue; };
- if (yych <= '`') { gotoCase = 295; continue; };
- if (yych >= 'g') { gotoCase = 295; continue; };
- }
-case 298:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= '@') {
- if (yych <= '/') { gotoCase = 295; continue; };
- if (yych <= '9') { gotoCase = 292; continue; };
- { gotoCase = 295; continue; };
- } else {
- if (yych <= 'F') { gotoCase = 292; continue; };
- if (yych <= '`') { gotoCase = 295; continue; };
- if (yych <= 'f') { gotoCase = 292; continue; };
- { gotoCase = 295; continue; };
- }
-case 299:
- ++cursor;
- yych = this._charAt(cursor);
- if (yych <= 'e') {
- if (yych <= '\'') {
- if (yych == '"') { gotoCase = 292; continue; };
- if (yych <= '&') { gotoCase = 295; continue; };
- { gotoCase = 292; continue; };
- } else {
- if (yych <= '\\') {
- if (yych <= '[') { gotoCase = 295; continue; };
- { gotoCase = 292; continue; };
- } else {
- if (yych == 'b') { gotoCase = 292; continue; };
- { gotoCase = 295; continue; };
- }
- }
- } else {
- if (yych <= 'r') {
- if (yych <= 'm') {
- if (yych <= 'f') { gotoCase = 292; continue; };
- { gotoCase = 295; continue; };
- } else {
- if (yych <= 'n') { gotoCase = 292; continue; };
- if (yych <= 'q') { gotoCase = 295; continue; };
- { gotoCase = 292; continue; };
- }
- } else {
- if (yych <= 't') {
- if (yych <= 's') { gotoCase = 295; continue; };
- { gotoCase = 292; continue; };
- } else {
- if (yych <= 'u') { gotoCase = 294; continue; };
- if (yych <= 'v') { gotoCase = 292; continue; };
- { gotoCase = 295; continue; };
- }
- }
- }
-case 300:
- ++cursor;
- yych = this._charAt(cursor);
- { gotoCase = 290; continue; };
- }
-
- }
- }
-}
diff --git a/WebCore/inspector/front-end/JavaScriptTokenizer.re2js b/WebCore/inspector/front-end/JavaScriptTokenizer.re2js
deleted file mode 100644
index c4e486a..0000000
--- a/WebCore/inspector/front-end/JavaScriptTokenizer.re2js
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// Generate js file as follows:
-//
-// re2c -isc WebCore/inspector/front-end/JavaScriptTokenizer.re2js \
-// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
-// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
-// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
-// | sed 's|[*]cursor|this._charAt(cursor)|' \
-// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
-// | sed 's|goto case \([^;]*\)|{ gotoCase = \1; continue; }|' \
-// | sed 's|unsigned\ int|var|' \
-// | sed 's|var\ yych|case 1: var yych|'
-
-WebInspector.JavaScriptTokenizer = function()
-{
- this._tokens = [];
- this._keywords = [
- "null", "true", "false", "break", "case", "catch", "const", "default", "finally", "for",
- "instanceof", "new", "var", "continue", "function", "return", "void", "delete", "if",
- "this", "do", "while", "else", "in", "switch", "throw", "try", "typeof", "debugger",
- "class", "enum", "export", "extends", "import", "super", "get", "set"
- ].keySet();
-
- this._conditions = {
- DIV: 0,
- NODIV: 1,
- COMMENT: 2,
- DSTRING: 3,
- SSTRING: 4,
- REGEX: 5
- };
-
- this.case_DIV = 1000;
- this.case_NODIV = 1001;
- this.case_COMMENT = 1002;
- this.case_DSTRING = 1003;
- this.case_SSTRING = 1004;
- this.case_REGEX = 1005;
-
- this.initialCondition = this._conditions.NODIV;
- this.condition = this.initialCondition;
-}
-
-WebInspector.JavaScriptTokenizer.prototype = {
-
- set line(line) {
- this._line = line;
- },
-
- getCondition: function()
- {
- return this.condition;
- },
-
- setCondition: function(condition)
- {
- this.condition = condition;
- },
-
- _charAt: function(cursor)
- {
- return cursor < this._line.length ? this._line.charAt(cursor) : "\n";
- },
-
- nextToken: function(cursor)
- {
- var cursorOnEnter = cursor;
- var gotoCase = 1;
- while (1) {
- switch (gotoCase)
- // Following comment is replaced with generated state machine.
- /*!re2c
- re2c:define:YYCTYPE = "var";
- re2c:define:YYCURSOR = cursor;
- re2c:define:YYGETCONDITION = "this.getCondition";
- re2c:define:YYSETCONDITION = "this.setCondition";
- re2c:condprefix = "case this.case_";
- re2c:condenumprefix = "this._conditions.";
- re2c:yyfill:enable = 0;
- re2c:labelprefix = "case ";
- re2c:indent:top = 2;
- re2c:indent:string = " ";
-
- LineComment = "//" [^\r\n]*;
- CommentContent = ([^*\r\n] | ("*"+[^/*]))*;
- Comment = "/*" CommentContent "*"+ "/";
- CommentStart = "/*" CommentContent [\r\n];
- CommentEnd = CommentContent "*"+ "/";
-
- DecimalDigit = [0-9];
- NonZeroDigit = [1-9];
- OctalDigit = [0-7];
- HexDigit = [0-9a-fA-F];
- SignedInteger = ("+"|"-")? DecimalDigit+;
- ExponentPart = ("e" | "E") SignedInteger;
- DecimalIntegerLiteral = "0" | NonZeroDigit DecimalDigit*;
- DecimalLiteral = DecimalIntegerLiteral "." DecimalDigit* ExponentPart? | "." DecimalDigit+ ExponentPart? | DecimalIntegerLiteral ExponentPart?;
- HexIntegerLiteral = "0" ("x"|"X") HexDigit+;
- OctalIntegerLiteral = "0" OctalDigit+;
- NumericLiteral = DecimalLiteral | HexIntegerLiteral | OctalIntegerLiteral;
-
- Punctuation = [\!\%\&\(\*\+\,\-\.\:\;\<\=\>\?\[\]\^\{\|\}\~] | "!=" | "!==" | "%=" | "&&" | "&=" | "*=" | "++" | "+=" | "--" | "-=" | "<<" | "<<=" | "<=" | "==" | "===" | ">=" | ">>" | ">>=" | ">>>" | ">>>=" | "^=" | "|=" | "||";
- Division = "/" | "/=";
- RightParen = ")";
-
- Letter = [a-zA-Z\x80-\xFF];
- UnicodeEscapeSequence = "\\u" HexDigit HexDigit HexDigit HexDigit;
-
- IdentifierStart = Letter | "_" | "$" | UnicodeEscapeSequence;
- IdentifierPart = IdentifierStart | DecimalDigit;
- Identifier = IdentifierStart IdentifierPart *;
-
- DoubleStringContent = ([^\r\n\"\\] | UnicodeEscapeSequence | "\\" ['"\\bfnrtv])*;
- SingleStringContent = ([^\r\n\'\\] | UnicodeEscapeSequence | "\\" ['"\\bfnrtv])*;
- StringLiteral = "\"" DoubleStringContent "\"" | "'" SingleStringContent "'";
- DoubleStringStart = "\"" DoubleStringContent "\\" [\r\n];
- DoubleStringEnd = DoubleStringContent "\"";
- SingleStringStart = "\'" SingleStringContent "\\" [\r\n];
- SingleStringEnd = SingleStringContent "\'";
-
- BackslashSequence = "\\" [^\r\n];
- RegexSet = "[" ([^\r\n*\\/] | BackslashSequence)* "]";
- RegexFirstChar = [^\r\n*\\/\[\]] | BackslashSequence | RegexSet;
- RegexChar = [^\r\n\\/\[\]] | BackslashSequence | RegexSet;
- RegexContent = RegexChar*;
- Regex = "/" RegexFirstChar RegexContent "/" [igm]*;
- RegexStart = "/" RegexFirstChar RegexContent "\\";
- RegexEnd = RegexContent "/" [igm]*;
-
- <DIV,NODIV> LineComment { this.tokenType = "comment"; return cursor; }
- <DIV,NODIV> Comment { this.tokenType = "comment"; return cursor; }
- <DIV,NODIV> CommentStart => COMMENT { this.tokenType = "comment"; return cursor; }
- <COMMENT> CommentContent => COMMENT { this.tokenType = "comment"; return cursor; }
- <COMMENT> CommentEnd => NODIV { this.tokenType = "comment"; return cursor; }
-
- <DIV,NODIV> StringLiteral { this.tokenType = "string"; return cursor; }
- <DIV,NODIV> DoubleStringStart => DSTRING { this.tokenType = "string"; return cursor; }
- <DSTRING> DoubleStringContent => DSTRING { this.tokenType = "string"; return cursor; }
- <DSTRING> DoubleStringEnd => NODIV { this.tokenType = "string"; return cursor; }
- <DIV,NODIV> SingleStringStart => SSTRING { this.tokenType = "string"; return cursor; }
- <SSTRING> SingleStringContent => SSTRING { this.tokenType = "string"; return cursor; }
- <SSTRING> SingleStringEnd => NODIV { this.tokenType = "string"; return cursor; }
-
- <NODIV> Regex { this.tokenType = "regex"; return cursor; }
- <NODIV> RegexStart => REGEX { this.tokenType = "regex"; return cursor; }
- <REGEX> RegexContent => REGEX { this.tokenType = "regex"; return cursor; }
- <REGEX> RegexEnd => NODIV { this.tokenType = "regex"; return cursor; }
-
- <DIV,NODIV> NumericLiteral => DIV { this.tokenType = "number"; return cursor; }
- <DIV,NODIV> Identifier => DIV
- {
- var token = this._line.substring(cursorOnEnter, cursor);
- if (token in this._keywords)
- this.tokenType = "keyword";
- else
- this.tokenType = null;
- return cursor;
- }
- <DIV,NODIV> RightParen => DIV { this.tokenType = null; return cursor; }
- <DIV,NODIV> Punctuation => NODIV { this.tokenType = null; return cursor; }
- <DIV> Division => NODIV { this.tokenType = null; return cursor; }
- <*> [^] { this.tokenType = null; return cursor; }
- */
- }
- }
-}
diff --git a/WebCore/inspector/front-end/SourceCSSTokenizer.js b/WebCore/inspector/front-end/SourceCSSTokenizer.js
new file mode 100644
index 0000000..1c0d0a2
--- /dev/null
+++ b/WebCore/inspector/front-end/SourceCSSTokenizer.js
@@ -0,0 +1,1226 @@
+/* Generated by re2c 0.13.5 on Tue Jan 26 01:16:33 2010 */
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Generate js file as follows:
+//
+// re2c -isc WebCore/inspector/front-end/SourceCSSTokenizer.re2js \
+// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
+// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
+// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
+// | sed 's|[*]cursor|this._charAt(cursor)|' \
+// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
+// | sed 's|{ gotoCase = \([^; continue; };]*\)|{ gotoCase = \1; continue; }|' \
+// | sed 's|unsigned\ int|var|' \
+// | sed 's|var\ yych|case 1: case 1: var yych|'
+
+WebInspector.SourceCSSTokenizer = function()
+{
+ WebInspector.TextEditorHighlighter.Tokenizer.call(this);
+
+ this._propertyKeywords = [
+ "background", "background-attachment", "background-clip", "background-color", "background-image",
+ "background-origin", "background-position", "background-position-x", "background-position-y",
+ "background-repeat", "background-repeat-x", "background-repeat-y", "background-size", "border",
+ "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius",
+ "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-left",
+ "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right",
+ "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style",
+ "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style",
+ "border-top-width", "border-width", "bottom", "caption-side", "clear", "clip", "color", "content",
+ "counter-increment", "counter-reset", "cursor", "direction", "display", "empty-cells", "float",
+ "font", "font-family", "font-size", "font-stretch", "font-style", "font-variant", "font-weight",
+ "height", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position",
+ "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "max-height",
+ "max-width", "min-height", "min-width", "opacity", "orphans", "outline", "outline-color", "outline-offset",
+ "outline-style", "outline-width", "overflow", "overflow-x", "overflow-y", "padding", "padding-bottom",
+ "padding-left", "padding-right", "padding-top", "page", "page-break-after", "page-break-before",
+ "page-break-inside", "pointer-events", "position", "quotes", "resize", "right", "size", "src",
+ "table-layout", "text-align", "text-decoration", "text-indent", "text-line-through", "text-line-through-color",
+ "text-line-through-mode", "text-line-through-style", "text-line-through-width", "text-overflow", "text-overline",
+ "text-overline-color", "text-overline-mode", "text-overline-style", "text-overline-width", "text-rendering",
+ "text-shadow", "text-transform", "text-underline", "text-underline-color", "text-underline-mode",
+ "text-underline-style", "text-underline-width", "top", "unicode-bidi", "unicode-range", "vertical-align",
+ "visibility", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index", "zoom",
+ "-webkit-animation", "-webkit-animation-delay", "-webkit-animation-direction", "-webkit-animation-duration",
+ "-webkit-animation-iteration-count", "-webkit-animation-name", "-webkit-animation-play-state",
+ "-webkit-animation-timing-function", "-webkit-appearance", "-webkit-backface-visibility",
+ "-webkit-background-clip", "-webkit-background-composite", "-webkit-background-origin", "-webkit-background-size",
+ "-webkit-binding", "-webkit-border-fit", "-webkit-border-horizontal-spacing", "-webkit-border-image",
+ "-webkit-border-radius", "-webkit-border-vertical-spacing", "-webkit-box-align", "-webkit-box-direction",
+ "-webkit-box-flex", "-webkit-box-flex-group", "-webkit-box-lines", "-webkit-box-ordinal-group",
+ "-webkit-box-orient", "-webkit-box-pack", "-webkit-box-reflect", "-webkit-box-shadow", "-webkit-box-sizing",
+ "-webkit-column-break-after", "-webkit-column-break-before", "-webkit-column-break-inside", "-webkit-column-count",
+ "-webkit-column-gap", "-webkit-column-rule", "-webkit-column-rule-color", "-webkit-column-rule-style",
+ "-webkit-column-rule-width", "-webkit-column-width", "-webkit-columns", "-webkit-font-size-delta",
+ "-webkit-font-smoothing", "-webkit-highlight", "-webkit-line-break", "-webkit-line-clamp",
+ "-webkit-margin-bottom-collapse", "-webkit-margin-collapse", "-webkit-margin-start", "-webkit-margin-top-collapse",
+ "-webkit-marquee", "-webkit-marquee-direction", "-webkit-marquee-increment", "-webkit-marquee-repetition",
+ "-webkit-marquee-speed", "-webkit-marquee-style", "-webkit-mask", "-webkit-mask-attachment",
+ "-webkit-mask-box-image", "-webkit-mask-clip", "-webkit-mask-composite", "-webkit-mask-image",
+ "-webkit-mask-origin", "-webkit-mask-position", "-webkit-mask-position-x", "-webkit-mask-position-y",
+ "-webkit-mask-repeat", "-webkit-mask-repeat-x", "-webkit-mask-repeat-y", "-webkit-mask-size",
+ "-webkit-match-nearest-mail-blockquote-color", "-webkit-nbsp-mode", "-webkit-padding-start",
+ "-webkit-perspective", "-webkit-perspective-origin", "-webkit-perspective-origin-x", "-webkit-perspective-origin-y",
+ "-webkit-rtl-ordering", "-webkit-text-decorations-in-effect", "-webkit-text-fill-color", "-webkit-text-security",
+ "-webkit-text-size-adjust", "-webkit-text-stroke", "-webkit-text-stroke-color", "-webkit-text-stroke-width",
+ "-webkit-transform", "-webkit-transform-origin", "-webkit-transform-origin-x", "-webkit-transform-origin-y",
+ "-webkit-transform-origin-z", "-webkit-transform-style", "-webkit-transition", "-webkit-transition-delay",
+ "-webkit-transition-duration", "-webkit-transition-property", "-webkit-transition-timing-function",
+ "-webkit-user-drag", "-webkit-user-modify", "-webkit-user-select", "-webkit-variable-declaration-block"
+ ].keySet();
+
+ this._valueKeywords = [
+ "above", "absolute", "activeborder", "activecaption", "afar", "after-white-space", "ahead", "alias", "all", "all-scroll",
+ "alternate", "always","amharic", "amharic-abegede", "antialiased", "appworkspace", "aqua", "armenian", "auto", "avoid",
+ "background", "backwards", "baseline", "below", "bidi-override", "black", "blink", "block", "block-axis", "blue", "bold",
+ "bolder", "border", "border-box", "both", "bottom", "break-all", "break-word", "button", "button-bevel", "buttonface",
+ "buttonhighlight", "buttonshadow", "buttontext", "capitalize", "caps-lock-indicator", "caption", "captiontext", "caret", "cell",
+ "center", "checkbox", "circle", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic", "clear", "clip", "close-quote",
+ "col-resize", "collapse", "compact", "condensed", "contain", "content", "content-box", "context-menu", "continuous", "copy",
+ "cover", "crop", "cross", "crosshair", "currentcolor", "cursive", "dashed", "decimal", "decimal-leading-zero", "default",
+ "default-button", "destination-atop", "destination-in", "destination-out", "destination-over", "disc", "discard", "document",
+ "dot-dash", "dot-dot-dash", "dotted", "double", "down", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", "element",
+ "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", "ethiopic-abegede-am-et", "ethiopic-abegede-gez",
+ "ethiopic-abegede-ti-er", "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", "ethiopic-halehame-aa-et",
+ "ethiopic-halehame-am-et", "ethiopic-halehame-gez", "ethiopic-halehame-om-et", "ethiopic-halehame-sid-et",
+ "ethiopic-halehame-so-et", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", "ew-resize", "expanded",
+ "extra-condensed", "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "forwards", "from", "fuchsia", "geometricPrecision",
+ "georgian", "gray", "graytext", "green", "grey", "groove", "hand", "hangul", "hangul-consonant", "hebrew", "help", "hidden", "hide",
+ "higher", "highlight", "highlighttext", "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "icon", "ignore",
+ "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline",
+ "inline-axis", "inline-block", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "justify", "katakana",
+ "katakana-iroha", "landscape", "large", "larger", "left", "level", "lighter", "lime", "line-through", "linear", "lines",
+ "list-button", "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-greek", "lower-latin",
+ "lower-norwegian", "lower-roman", "lowercase", "ltr", "maroon", "match", "media-controls-background", "media-current-time-display",
+ "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button", "media-rewind-button",
+ "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display",
+ "media-volume-slider", "media-volume-slider-container", "media-volume-sliderthumb", "medium", "menu", "menulist", "menulist-button",
+ "menulist-text", "menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic", "mix", "monospace", "move", "multiple",
+ "n-resize", "narrower", "navy", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", "no-open-quote", "no-repeat", "none",
+ "normal", "not-allowed", "nowrap", "ns-resize", "nw-resize", "nwse-resize", "oblique", "olive", "open-quote", "optimizeLegibility",
+ "optimizeSpeed", "orange", "oromo", "outset", "outside", "overlay", "overline", "padding", "padding-box", "painted", "paused",
+ "plus-darker", "plus-lighter", "pointer", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", "progress", "purple",
+ "push-button", "radio", "read-only", "read-write", "read-write-plaintext-only", "red", "relative", "repeat", "repeat-x",
+ "repeat-y", "reset", "reverse", "rgb", "rgba", "ridge", "right", "round", "row-resize", "rtl", "run-in", "running", "s-resize", "sans-serif",
+ "scroll", "scrollbar", "se-resize", "searchfield", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button",
+ "searchfield-results-decoration", "semi-condensed", "semi-expanded", "separate", "serif", "show", "sidama", "silver", "single",
+ "skip-white-space", "slide", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow",
+ "small", "small-caps", "small-caption", "smaller", "solid", "somali", "source-atop", "source-in", "source-out", "source-over",
+ "space", "square", "square-button", "start", "static", "status-bar", "stretch", "stroke", "sub", "subpixel-antialiased", "super",
+ "sw-resize", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group",
+ "table-row", "table-row-group", "teal", "text", "text-bottom", "text-top", "textarea", "textfield", "thick", "thin", "threeddarkshadow",
+ "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "tigre", "tigrinya-er", "tigrinya-er-abegede", "tigrinya-et",
+ "tigrinya-et-abegede", "to", "top", "transparent", "ultra-condensed", "ultra-expanded", "underline", "up", "upper-alpha", "upper-greek",
+ "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "url", "vertical", "vertical-text", "visible", "visibleFill", "visiblePainted",
+ "visibleStroke", "visual", "w-resize", "wait", "wave", "white", "wider", "window", "windowframe", "windowtext", "x-large", "x-small",
+ "xor", "xx-large", "xx-small", "yellow", "-wap-marquee", "-webkit-activelink", "-webkit-auto", "-webkit-baseline-middle", "-webkit-body",
+ "-webkit-box", "-webkit-center", "-webkit-control", "-webkit-focus-ring-color", "-webkit-grab", "-webkit-grabbing", "-webkit-gradient", "-webkit-inline-box",
+ "-webkit-left", "-webkit-link", "-webkit-marquee", "-webkit-mini-control", "-webkit-nowrap", "-webkit-right", "-webkit-small-control",
+ "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
+ ].keySet();
+
+ this._mediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
+
+ this._lexConditions = {
+ INITIAL: 0,
+ COMMENT: 1,
+ DSTRING: 2,
+ SSTRING: 3
+ };
+
+ this._parseConditions = {
+ INITIAL: 0,
+ PROPERTY: 1,
+ PROPERTY_VALUE: 2,
+ AT_RULE: 3
+ };
+
+ this.case_INITIAL = 1000;
+ this.case_COMMENT = 1002;
+ this.case_DSTRING = 1003;
+ this.case_SSTRING = 1004;
+
+ this.initialCondition = { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL }
+}
+
+WebInspector.SourceCSSTokenizer.prototype = {
+ _stringToken: function(cursor, stringEnds)
+ {
+ if (this._isPropertyValue())
+ this.tokenType = "css-string";
+ else
+ this.tokenType = null;
+ return cursor;
+ },
+
+ _isPropertyValue: function()
+ {
+ return this._parseCondition === this._parseConditions.PROPERTY_VALUE || this._parseCondition === this._parseConditions.AT_RULE;
+ },
+
+ nextToken: function(cursor)
+ {
+ var cursorOnEnter = cursor;
+ var gotoCase = 1;
+ while (1) {
+ switch (gotoCase)
+ // Following comment is replaced with generated state machine.
+
+ {
+ case 1: var yych;
+ var yyaccept = 0;
+ if (this.getLexCondition() < 2) {
+ if (this.getLexCondition() < 1) {
+ { gotoCase = this.case_INITIAL; continue; };
+ } else {
+ { gotoCase = this.case_COMMENT; continue; };
+ }
+ } else {
+ if (this.getLexCondition() < 3) {
+ { gotoCase = this.case_DSTRING; continue; };
+ } else {
+ { gotoCase = this.case_SSTRING; continue; };
+ }
+ }
+/* *********************************** */
+case this.case_COMMENT:
+
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 4; continue; };
+ { gotoCase = 3; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 4; continue; };
+ if (yych == '*') { gotoCase = 6; continue; };
+ { gotoCase = 3; continue; };
+ }
+case 2:
+ { this.tokenType = "css-comment"; return cursor; }
+case 3:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 12; continue; };
+case 4:
+ ++cursor;
+ { this.tokenType = null; return cursor; }
+case 6:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '*') { gotoCase = 9; continue; };
+ if (yych != '/') { gotoCase = 11; continue; };
+case 7:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.INITIAL);
+ { this.tokenType = "css-comment"; return cursor; }
+case 9:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '*') { gotoCase = 9; continue; };
+ if (yych == '/') { gotoCase = 7; continue; };
+case 11:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 12:
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 2; continue; };
+ { gotoCase = 11; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 2; continue; };
+ if (yych == '*') { gotoCase = 9; continue; };
+ { gotoCase = 11; continue; };
+ }
+/* *********************************** */
+case this.case_DSTRING:
+ yych = this._charAt(cursor);
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 17; continue; };
+ if (yych <= '\f') { gotoCase = 16; continue; };
+ { gotoCase = 17; continue; };
+ } else {
+ if (yych <= '"') {
+ if (yych <= '!') { gotoCase = 16; continue; };
+ { gotoCase = 19; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 21; continue; };
+ { gotoCase = 16; continue; };
+ }
+ }
+case 15:
+ { return this._stringToken(cursor); }
+case 16:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 23; continue; };
+case 17:
+ ++cursor;
+case 18:
+ { this.tokenType = null; return cursor; }
+case 19:
+ ++cursor;
+case 20:
+ this.setLexCondition(this._lexConditions.INITIAL);
+ { return this._stringToken(cursor, true); }
+case 21:
+ yych = this._charAt(++cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 22; continue; };
+ if (yych <= '&') { gotoCase = 18; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '[') { gotoCase = 18; continue; };
+ } else {
+ if (yych != 'b') { gotoCase = 18; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych >= 'g') { gotoCase = 18; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 22; continue; };
+ if (yych <= 'q') { gotoCase = 18; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') { gotoCase = 18; continue; };
+ } else {
+ if (yych != 'v') { gotoCase = 18; continue; };
+ }
+ }
+ }
+case 22:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 23:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 15; continue; };
+ if (yych <= '\f') { gotoCase = 22; continue; };
+ { gotoCase = 15; continue; };
+ } else {
+ if (yych <= '"') {
+ if (yych <= '!') { gotoCase = 22; continue; };
+ { gotoCase = 26; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 22; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 22; continue; };
+ if (yych >= '\'') { gotoCase = 22; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych >= '\\') { gotoCase = 22; continue; };
+ } else {
+ if (yych == 'b') { gotoCase = 22; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych <= 'f') { gotoCase = 22; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 22; continue; };
+ if (yych >= 'r') { gotoCase = 22; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych >= 't') { gotoCase = 22; continue; };
+ } else {
+ if (yych == 'v') { gotoCase = 22; continue; };
+ }
+ }
+ }
+ cursor = YYMARKER;
+ { gotoCase = 15; continue; };
+case 26:
+ ++cursor;
+ yych = this._charAt(cursor);
+ { gotoCase = 20; continue; };
+/* *********************************** */
+case this.case_INITIAL:
+ yych = this._charAt(cursor);
+ if (yych <= '9') {
+ if (yych <= '&') {
+ if (yych <= '"') {
+ if (yych <= ' ') { gotoCase = 29; continue; };
+ if (yych <= '!') { gotoCase = 31; continue; };
+ { gotoCase = 33; continue; };
+ } else {
+ if (yych == '$') { gotoCase = 31; continue; };
+ }
+ } else {
+ if (yych <= '-') {
+ if (yych <= '\'') { gotoCase = 34; continue; };
+ if (yych >= '-') { gotoCase = 35; continue; };
+ } else {
+ if (yych <= '.') { gotoCase = 36; continue; };
+ if (yych <= '/') { gotoCase = 37; continue; };
+ { gotoCase = 38; continue; };
+ }
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= '?') {
+ if (yych <= ':') { gotoCase = 40; continue; };
+ if (yych <= ';') { gotoCase = 42; continue; };
+ } else {
+ if (yych <= 'Z') { gotoCase = 31; continue; };
+ if (yych >= '_') { gotoCase = 31; continue; };
+ }
+ } else {
+ if (yych <= '{') {
+ if (yych <= '`') { gotoCase = 29; continue; };
+ if (yych <= 'z') { gotoCase = 31; continue; };
+ { gotoCase = 44; continue; };
+ } else {
+ if (yych == '}') { gotoCase = 46; continue; };
+ }
+ }
+ }
+case 29:
+ ++cursor;
+case 30:
+ { this.tokenType = null; return cursor; }
+case 31:
+ ++cursor;
+ yych = this._charAt(cursor);
+ { gotoCase = 49; continue; };
+case 32:
+ {
+ var token = this._line.substring(cursorOnEnter, cursor);
+ if (this._parseCondition === this._parseConditions.INITIAL) {
+ if (token === "@import" || token === "@media") {
+ this.tokenType = "css-at-rule";
+ this._parseCondition = this._parseConditions.AT_RULE;
+ } else
+ this.tokenType = "css-selector";
+ }
+ else if (this._parseCondition === this._parseConditions.AT_RULE && token in this._mediaTypes)
+ this.tokenType = "css-keyword";
+ else if (this._parseCondition === this._parseConditions.PROPERTY && token in this._propertyKeywords)
+ this.tokenType = "css-property";
+ else if (this._isPropertyValue() && token in this._valueKeywords)
+ this.tokenType = "css-keyword";
+ else if (token === "!important")
+ this.tokenType = "css-important";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+case 33:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '\n') { gotoCase = 30; continue; };
+ if (yych == '\r') { gotoCase = 30; continue; };
+ { gotoCase = 120; continue; };
+case 34:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '\n') { gotoCase = 30; continue; };
+ if (yych == '\r') { gotoCase = 30; continue; };
+ { gotoCase = 113; continue; };
+case 35:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '.') { gotoCase = 65; continue; };
+ if (yych <= '/') { gotoCase = 49; continue; };
+ if (yych <= '9') { gotoCase = 50; continue; };
+ { gotoCase = 49; continue; };
+case 36:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 30; continue; };
+ if (yych <= '9') { gotoCase = 68; continue; };
+ { gotoCase = 30; continue; };
+case 37:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '*') { gotoCase = 104; continue; };
+ { gotoCase = 30; continue; };
+case 38:
+ yyaccept = 2;
+ yych = this._charAt(YYMARKER = ++cursor);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '-':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'f':
+ case 'h':
+ case 'j':
+ case 'l':
+ case 'n':
+ case 'o':
+ case 'q':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': { gotoCase = 48; continue; };
+ case '%': { gotoCase = 67; continue; };
+ case '.': { gotoCase = 65; continue; };
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': { gotoCase = 50; continue; };
+ case 'H': { gotoCase = 52; continue; };
+ case '_': { gotoCase = 53; continue; };
+ case 'c': { gotoCase = 54; continue; };
+ case 'd': { gotoCase = 55; continue; };
+ case 'e': { gotoCase = 56; continue; };
+ case 'g': { gotoCase = 57; continue; };
+ case 'i': { gotoCase = 58; continue; };
+ case 'k': { gotoCase = 59; continue; };
+ case 'm': { gotoCase = 60; continue; };
+ case 'p': { gotoCase = 61; continue; };
+ case 'r': { gotoCase = 62; continue; };
+ case 's': { gotoCase = 63; continue; };
+ case 't': { gotoCase = 64; continue; };
+ default: { gotoCase = 39; continue; };
+ }
+case 39:
+ {
+ if (this._isPropertyValue())
+ this.tokenType = "css-number";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+case 40:
+ ++cursor;
+ {
+ this.tokenType = null;
+ if (this._parseCondition === this._parseConditions.PROPERTY)
+ this._parseCondition = this._parseConditions.PROPERTY_VALUE;
+ return cursor;
+ }
+case 42:
+ ++cursor;
+ {
+ this.tokenType = null;
+ if (this._parseCondition === this._parseConditions.AT_RULE)
+ this._parseCondition = this._parseConditions.INITIAL;
+ else
+ this._parseCondition = this._parseConditions.PROPERTY;
+ return cursor;
+ }
+case 44:
+ ++cursor;
+ {
+ this.tokenType = null;
+ if (this._parseCondition === this._parseConditions.AT_RULE)
+ this._parseCondition = this._parseConditions.INITIAL;
+ else
+ this._parseCondition = this._parseConditions.PROPERTY;
+ return cursor;
+ }
+case 46:
+ ++cursor;
+ {
+ this.tokenType = null;
+ this._parseCondition = this._parseConditions.INITIAL;
+ return cursor;
+ }
+case 48:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 49:
+ if (yych <= '/') {
+ if (yych <= '#') {
+ if (yych == '!') { gotoCase = 48; continue; };
+ { gotoCase = 32; continue; };
+ } else {
+ if (yych <= '$') { gotoCase = 48; continue; };
+ if (yych == '-') { gotoCase = 48; continue; };
+ { gotoCase = 32; continue; };
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '9') { gotoCase = 48; continue; };
+ if (yych <= '?') { gotoCase = 32; continue; };
+ if (yych <= 'Z') { gotoCase = 48; continue; };
+ { gotoCase = 32; continue; };
+ } else {
+ if (yych == '`') { gotoCase = 32; continue; };
+ if (yych <= 'z') { gotoCase = 48; continue; };
+ { gotoCase = 32; continue; };
+ }
+ }
+case 50:
+ yyaccept = 2;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '-':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'f':
+ case 'h':
+ case 'j':
+ case 'l':
+ case 'n':
+ case 'o':
+ case 'q':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': { gotoCase = 48; continue; };
+ case '%': { gotoCase = 67; continue; };
+ case '.': { gotoCase = 65; continue; };
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': { gotoCase = 50; continue; };
+ case 'H': { gotoCase = 52; continue; };
+ case '_': { gotoCase = 53; continue; };
+ case 'c': { gotoCase = 54; continue; };
+ case 'd': { gotoCase = 55; continue; };
+ case 'e': { gotoCase = 56; continue; };
+ case 'g': { gotoCase = 57; continue; };
+ case 'i': { gotoCase = 58; continue; };
+ case 'k': { gotoCase = 59; continue; };
+ case 'm': { gotoCase = 60; continue; };
+ case 'p': { gotoCase = 61; continue; };
+ case 'r': { gotoCase = 62; continue; };
+ case 's': { gotoCase = 63; continue; };
+ case 't': { gotoCase = 64; continue; };
+ default: { gotoCase = 39; continue; };
+ }
+case 52:
+ yych = this._charAt(++cursor);
+ if (yych == 'z') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 53:
+ yych = this._charAt(++cursor);
+ if (yych == '_') { gotoCase = 101; continue; };
+ { gotoCase = 49; continue; };
+case 54:
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 55:
+ yych = this._charAt(++cursor);
+ if (yych == 'e') { gotoCase = 100; continue; };
+ { gotoCase = 49; continue; };
+case 56:
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 63; continue; };
+ if (yych == 'x') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 57:
+ yych = this._charAt(++cursor);
+ if (yych == 'r') { gotoCase = 98; continue; };
+ { gotoCase = 49; continue; };
+case 58:
+ yych = this._charAt(++cursor);
+ if (yych == 'n') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 59:
+ yych = this._charAt(++cursor);
+ if (yych == 'H') { gotoCase = 97; continue; };
+ { gotoCase = 49; continue; };
+case 60:
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 63; continue; };
+ if (yych == 's') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 61:
+ yych = this._charAt(++cursor);
+ if (yych <= 's') {
+ if (yych == 'c') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+ } else {
+ if (yych <= 't') { gotoCase = 63; continue; };
+ if (yych == 'x') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+ }
+case 62:
+ yych = this._charAt(++cursor);
+ if (yych == 'a') { gotoCase = 95; continue; };
+ if (yych == 'e') { gotoCase = 96; continue; };
+ { gotoCase = 49; continue; };
+case 63:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') {
+ if (yych <= '#') {
+ if (yych == '!') { gotoCase = 48; continue; };
+ { gotoCase = 39; continue; };
+ } else {
+ if (yych <= '$') { gotoCase = 48; continue; };
+ if (yych == '-') { gotoCase = 48; continue; };
+ { gotoCase = 39; continue; };
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '9') { gotoCase = 48; continue; };
+ if (yych <= '?') { gotoCase = 39; continue; };
+ if (yych <= 'Z') { gotoCase = 48; continue; };
+ { gotoCase = 39; continue; };
+ } else {
+ if (yych == '`') { gotoCase = 39; continue; };
+ if (yych <= 'z') { gotoCase = 48; continue; };
+ { gotoCase = 39; continue; };
+ }
+ }
+case 64:
+ yych = this._charAt(++cursor);
+ if (yych == 'u') { gotoCase = 93; continue; };
+ { gotoCase = 49; continue; };
+case 65:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 66; continue; };
+ if (yych <= '9') { gotoCase = 68; continue; };
+case 66:
+ cursor = YYMARKER;
+ if (yyaccept <= 1) {
+ if (yyaccept <= 0) {
+ { gotoCase = 30; continue; };
+ } else {
+ { gotoCase = 32; continue; };
+ }
+ } else {
+ { gotoCase = 39; continue; };
+ }
+case 67:
+ yych = this._charAt(++cursor);
+ { gotoCase = 39; continue; };
+case 68:
+ yyaccept = 2;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'f') {
+ if (yych <= 'H') {
+ if (yych <= '/') {
+ if (yych == '%') { gotoCase = 67; continue; };
+ { gotoCase = 39; continue; };
+ } else {
+ if (yych <= '9') { gotoCase = 68; continue; };
+ if (yych <= 'G') { gotoCase = 39; continue; };
+ { gotoCase = 80; continue; };
+ }
+ } else {
+ if (yych <= 'b') {
+ if (yych == '_') { gotoCase = 72; continue; };
+ { gotoCase = 39; continue; };
+ } else {
+ if (yych <= 'c') { gotoCase = 74; continue; };
+ if (yych <= 'd') { gotoCase = 77; continue; };
+ if (yych >= 'f') { gotoCase = 39; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'i') {
+ if (yych <= 'g') { gotoCase = 78; continue; };
+ if (yych <= 'h') { gotoCase = 39; continue; };
+ { gotoCase = 76; continue; };
+ } else {
+ if (yych == 'k') { gotoCase = 81; continue; };
+ if (yych <= 'l') { gotoCase = 39; continue; };
+ { gotoCase = 75; continue; };
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'p') { gotoCase = 73; continue; };
+ { gotoCase = 39; continue; };
+ } else {
+ if (yych <= 'r') { gotoCase = 71; continue; };
+ if (yych <= 's') { gotoCase = 67; continue; };
+ if (yych <= 't') { gotoCase = 79; continue; };
+ { gotoCase = 39; continue; };
+ }
+ }
+ }
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 67; continue; };
+ if (yych == 'x') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 71:
+ yych = this._charAt(++cursor);
+ if (yych == 'a') { gotoCase = 91; continue; };
+ if (yych == 'e') { gotoCase = 92; continue; };
+ { gotoCase = 66; continue; };
+case 72:
+ yych = this._charAt(++cursor);
+ if (yych == '_') { gotoCase = 88; continue; };
+ { gotoCase = 66; continue; };
+case 73:
+ yych = this._charAt(++cursor);
+ if (yych <= 's') {
+ if (yych == 'c') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+ } else {
+ if (yych <= 't') { gotoCase = 67; continue; };
+ if (yych == 'x') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+ }
+case 74:
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 75:
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 67; continue; };
+ if (yych == 's') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 76:
+ yych = this._charAt(++cursor);
+ if (yych == 'n') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 77:
+ yych = this._charAt(++cursor);
+ if (yych == 'e') { gotoCase = 87; continue; };
+ { gotoCase = 66; continue; };
+case 78:
+ yych = this._charAt(++cursor);
+ if (yych == 'r') { gotoCase = 85; continue; };
+ { gotoCase = 66; continue; };
+case 79:
+ yych = this._charAt(++cursor);
+ if (yych == 'u') { gotoCase = 83; continue; };
+ { gotoCase = 66; continue; };
+case 80:
+ yych = this._charAt(++cursor);
+ if (yych == 'z') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 81:
+ yych = this._charAt(++cursor);
+ if (yych != 'H') { gotoCase = 66; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == 'z') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 83:
+ yych = this._charAt(++cursor);
+ if (yych != 'r') { gotoCase = 66; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == 'n') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 85:
+ yych = this._charAt(++cursor);
+ if (yych != 'a') { gotoCase = 66; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == 'd') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 87:
+ yych = this._charAt(++cursor);
+ if (yych == 'g') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 88:
+ yych = this._charAt(++cursor);
+ if (yych != 'q') { gotoCase = 66; continue; };
+ yych = this._charAt(++cursor);
+ if (yych != 'e') { gotoCase = 66; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 91:
+ yych = this._charAt(++cursor);
+ if (yych == 'd') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 92:
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 67; continue; };
+ { gotoCase = 66; continue; };
+case 93:
+ yych = this._charAt(++cursor);
+ if (yych != 'r') { gotoCase = 49; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == 'n') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 95:
+ yych = this._charAt(++cursor);
+ if (yych == 'd') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 96:
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 97:
+ yych = this._charAt(++cursor);
+ if (yych == 'z') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 98:
+ yych = this._charAt(++cursor);
+ if (yych != 'a') { gotoCase = 49; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == 'd') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 100:
+ yych = this._charAt(++cursor);
+ if (yych == 'g') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 101:
+ yych = this._charAt(++cursor);
+ if (yych != 'q') { gotoCase = 49; continue; };
+ yych = this._charAt(++cursor);
+ if (yych != 'e') { gotoCase = 49; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 63; continue; };
+ { gotoCase = 49; continue; };
+case 104:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 108; continue; };
+ { gotoCase = 104; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 108; continue; };
+ if (yych != '*') { gotoCase = 104; continue; };
+ }
+case 106:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '*') { gotoCase = 106; continue; };
+ if (yych == '/') { gotoCase = 110; continue; };
+ { gotoCase = 104; continue; };
+case 108:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.COMMENT);
+ { this.tokenType = "css-comment"; return cursor; }
+case 110:
+ ++cursor;
+ { this.tokenType = "css-comment"; return cursor; }
+case 112:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 113:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 66; continue; };
+ if (yych <= '\f') { gotoCase = 112; continue; };
+ { gotoCase = 66; continue; };
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&') { gotoCase = 112; continue; };
+ { gotoCase = 115; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 112; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'a') {
+ if (yych <= '!') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 66; continue; };
+ { gotoCase = 117; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 117; continue; };
+ { gotoCase = 66; continue; };
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 112; continue; };
+ if (yych <= '&') { gotoCase = 66; continue; };
+ { gotoCase = 112; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 112; continue; };
+ { gotoCase = 66; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'f') {
+ if (yych <= 'b') { gotoCase = 112; continue; };
+ if (yych <= 'e') { gotoCase = 66; continue; };
+ { gotoCase = 112; continue; };
+ } else {
+ if (yych == 'n') { gotoCase = 112; continue; };
+ { gotoCase = 66; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych == 's') { gotoCase = 66; continue; };
+ { gotoCase = 112; continue; };
+ } else {
+ if (yych == 'v') { gotoCase = 112; continue; };
+ { gotoCase = 66; continue; };
+ }
+ }
+ }
+case 115:
+ ++cursor;
+ { return this._stringToken(cursor, true); }
+case 117:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.SSTRING);
+ { return this._stringToken(cursor); }
+case 119:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 120:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 66; continue; };
+ if (yych <= '\f') { gotoCase = 119; continue; };
+ { gotoCase = 66; continue; };
+ } else {
+ if (yych <= '"') {
+ if (yych <= '!') { gotoCase = 119; continue; };
+ { gotoCase = 115; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 119; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'a') {
+ if (yych <= '!') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 66; continue; };
+ } else {
+ if (yych != '\r') { gotoCase = 66; continue; };
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 119; continue; };
+ if (yych <= '&') { gotoCase = 66; continue; };
+ { gotoCase = 119; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 119; continue; };
+ { gotoCase = 66; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'f') {
+ if (yych <= 'b') { gotoCase = 119; continue; };
+ if (yych <= 'e') { gotoCase = 66; continue; };
+ { gotoCase = 119; continue; };
+ } else {
+ if (yych == 'n') { gotoCase = 119; continue; };
+ { gotoCase = 66; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych == 's') { gotoCase = 66; continue; };
+ { gotoCase = 119; continue; };
+ } else {
+ if (yych == 'v') { gotoCase = 119; continue; };
+ { gotoCase = 66; continue; };
+ }
+ }
+ }
+ ++cursor;
+ this.setLexCondition(this._lexConditions.DSTRING);
+ { return this._stringToken(cursor); }
+/* *********************************** */
+case this.case_SSTRING:
+ yych = this._charAt(cursor);
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 128; continue; };
+ if (yych <= '\f') { gotoCase = 127; continue; };
+ { gotoCase = 128; continue; };
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&') { gotoCase = 127; continue; };
+ { gotoCase = 130; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 132; continue; };
+ { gotoCase = 127; continue; };
+ }
+ }
+case 126:
+ { return this._stringToken(cursor); }
+case 127:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 134; continue; };
+case 128:
+ ++cursor;
+case 129:
+ { this.tokenType = null; return cursor; }
+case 130:
+ ++cursor;
+case 131:
+ this.setLexCondition(this._lexConditions.INITIAL);
+ { return this._stringToken(cursor, true); }
+case 132:
+ yych = this._charAt(++cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 133; continue; };
+ if (yych <= '&') { gotoCase = 129; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '[') { gotoCase = 129; continue; };
+ } else {
+ if (yych != 'b') { gotoCase = 129; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych >= 'g') { gotoCase = 129; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 133; continue; };
+ if (yych <= 'q') { gotoCase = 129; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') { gotoCase = 129; continue; };
+ } else {
+ if (yych != 'v') { gotoCase = 129; continue; };
+ }
+ }
+ }
+case 133:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 134:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 126; continue; };
+ if (yych <= '\f') { gotoCase = 133; continue; };
+ { gotoCase = 126; continue; };
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&') { gotoCase = 133; continue; };
+ { gotoCase = 137; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 133; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 133; continue; };
+ if (yych >= '\'') { gotoCase = 133; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych >= '\\') { gotoCase = 133; continue; };
+ } else {
+ if (yych == 'b') { gotoCase = 133; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych <= 'f') { gotoCase = 133; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 133; continue; };
+ if (yych >= 'r') { gotoCase = 133; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych >= 't') { gotoCase = 133; continue; };
+ } else {
+ if (yych == 'v') { gotoCase = 133; continue; };
+ }
+ }
+ }
+ cursor = YYMARKER;
+ { gotoCase = 126; continue; };
+case 137:
+ ++cursor;
+ yych = this._charAt(cursor);
+ { gotoCase = 131; continue; };
+ }
+
+ }
+ }
+}
+
+WebInspector.SourceCSSTokenizer.prototype.__proto__ = WebInspector.TextEditorHighlighter.Tokenizer.prototype;
diff --git a/WebCore/inspector/front-end/SourceCSSTokenizer.re2js b/WebCore/inspector/front-end/SourceCSSTokenizer.re2js
new file mode 100644
index 0000000..1e921ca
--- /dev/null
+++ b/WebCore/inspector/front-end/SourceCSSTokenizer.re2js
@@ -0,0 +1,319 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Generate js file as follows:
+//
+// re2c -isc WebCore/inspector/front-end/SourceCSSTokenizer.re2js \
+// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
+// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
+// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
+// | sed 's|[*]cursor|this._charAt(cursor)|' \
+// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
+// | sed 's|goto case \([^;]*\)|{ gotoCase = \1; continue; }|' \
+// | sed 's|unsigned\ int|var|' \
+// | sed 's|var\ yych|case 1: var yych|'
+
+WebInspector.SourceCSSTokenizer = function()
+{
+ WebInspector.TextEditorHighlighter.Tokenizer.call(this);
+
+ this._propertyKeywords = [
+ "background", "background-attachment", "background-clip", "background-color", "background-image",
+ "background-origin", "background-position", "background-position-x", "background-position-y",
+ "background-repeat", "background-repeat-x", "background-repeat-y", "background-size", "border",
+ "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius",
+ "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-left",
+ "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right",
+ "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style",
+ "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style",
+ "border-top-width", "border-width", "bottom", "caption-side", "clear", "clip", "color", "content",
+ "counter-increment", "counter-reset", "cursor", "direction", "display", "empty-cells", "float",
+ "font", "font-family", "font-size", "font-stretch", "font-style", "font-variant", "font-weight",
+ "height", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position",
+ "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "max-height",
+ "max-width", "min-height", "min-width", "opacity", "orphans", "outline", "outline-color", "outline-offset",
+ "outline-style", "outline-width", "overflow", "overflow-x", "overflow-y", "padding", "padding-bottom",
+ "padding-left", "padding-right", "padding-top", "page", "page-break-after", "page-break-before",
+ "page-break-inside", "pointer-events", "position", "quotes", "resize", "right", "size", "src",
+ "table-layout", "text-align", "text-decoration", "text-indent", "text-line-through", "text-line-through-color",
+ "text-line-through-mode", "text-line-through-style", "text-line-through-width", "text-overflow", "text-overline",
+ "text-overline-color", "text-overline-mode", "text-overline-style", "text-overline-width", "text-rendering",
+ "text-shadow", "text-transform", "text-underline", "text-underline-color", "text-underline-mode",
+ "text-underline-style", "text-underline-width", "top", "unicode-bidi", "unicode-range", "vertical-align",
+ "visibility", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index", "zoom",
+ "-webkit-animation", "-webkit-animation-delay", "-webkit-animation-direction", "-webkit-animation-duration",
+ "-webkit-animation-iteration-count", "-webkit-animation-name", "-webkit-animation-play-state",
+ "-webkit-animation-timing-function", "-webkit-appearance", "-webkit-backface-visibility",
+ "-webkit-background-clip", "-webkit-background-composite", "-webkit-background-origin", "-webkit-background-size",
+ "-webkit-binding", "-webkit-border-fit", "-webkit-border-horizontal-spacing", "-webkit-border-image",
+ "-webkit-border-radius", "-webkit-border-vertical-spacing", "-webkit-box-align", "-webkit-box-direction",
+ "-webkit-box-flex", "-webkit-box-flex-group", "-webkit-box-lines", "-webkit-box-ordinal-group",
+ "-webkit-box-orient", "-webkit-box-pack", "-webkit-box-reflect", "-webkit-box-shadow", "-webkit-box-sizing",
+ "-webkit-column-break-after", "-webkit-column-break-before", "-webkit-column-break-inside", "-webkit-column-count",
+ "-webkit-column-gap", "-webkit-column-rule", "-webkit-column-rule-color", "-webkit-column-rule-style",
+ "-webkit-column-rule-width", "-webkit-column-width", "-webkit-columns", "-webkit-font-size-delta",
+ "-webkit-font-smoothing", "-webkit-highlight", "-webkit-line-break", "-webkit-line-clamp",
+ "-webkit-margin-bottom-collapse", "-webkit-margin-collapse", "-webkit-margin-start", "-webkit-margin-top-collapse",
+ "-webkit-marquee", "-webkit-marquee-direction", "-webkit-marquee-increment", "-webkit-marquee-repetition",
+ "-webkit-marquee-speed", "-webkit-marquee-style", "-webkit-mask", "-webkit-mask-attachment",
+ "-webkit-mask-box-image", "-webkit-mask-clip", "-webkit-mask-composite", "-webkit-mask-image",
+ "-webkit-mask-origin", "-webkit-mask-position", "-webkit-mask-position-x", "-webkit-mask-position-y",
+ "-webkit-mask-repeat", "-webkit-mask-repeat-x", "-webkit-mask-repeat-y", "-webkit-mask-size",
+ "-webkit-match-nearest-mail-blockquote-color", "-webkit-nbsp-mode", "-webkit-padding-start",
+ "-webkit-perspective", "-webkit-perspective-origin", "-webkit-perspective-origin-x", "-webkit-perspective-origin-y",
+ "-webkit-rtl-ordering", "-webkit-text-decorations-in-effect", "-webkit-text-fill-color", "-webkit-text-security",
+ "-webkit-text-size-adjust", "-webkit-text-stroke", "-webkit-text-stroke-color", "-webkit-text-stroke-width",
+ "-webkit-transform", "-webkit-transform-origin", "-webkit-transform-origin-x", "-webkit-transform-origin-y",
+ "-webkit-transform-origin-z", "-webkit-transform-style", "-webkit-transition", "-webkit-transition-delay",
+ "-webkit-transition-duration", "-webkit-transition-property", "-webkit-transition-timing-function",
+ "-webkit-user-drag", "-webkit-user-modify", "-webkit-user-select", "-webkit-variable-declaration-block"
+ ].keySet();
+
+ this._valueKeywords = [
+ "above", "absolute", "activeborder", "activecaption", "afar", "after-white-space", "ahead", "alias", "all", "all-scroll",
+ "alternate", "always","amharic", "amharic-abegede", "antialiased", "appworkspace", "aqua", "armenian", "auto", "avoid",
+ "background", "backwards", "baseline", "below", "bidi-override", "black", "blink", "block", "block-axis", "blue", "bold",
+ "bolder", "border", "border-box", "both", "bottom", "break-all", "break-word", "button", "button-bevel", "buttonface",
+ "buttonhighlight", "buttonshadow", "buttontext", "capitalize", "caps-lock-indicator", "caption", "captiontext", "caret", "cell",
+ "center", "checkbox", "circle", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic", "clear", "clip", "close-quote",
+ "col-resize", "collapse", "compact", "condensed", "contain", "content", "content-box", "context-menu", "continuous", "copy",
+ "cover", "crop", "cross", "crosshair", "currentcolor", "cursive", "dashed", "decimal", "decimal-leading-zero", "default",
+ "default-button", "destination-atop", "destination-in", "destination-out", "destination-over", "disc", "discard", "document",
+ "dot-dash", "dot-dot-dash", "dotted", "double", "down", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", "element",
+ "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", "ethiopic-abegede-am-et", "ethiopic-abegede-gez",
+ "ethiopic-abegede-ti-er", "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", "ethiopic-halehame-aa-et",
+ "ethiopic-halehame-am-et", "ethiopic-halehame-gez", "ethiopic-halehame-om-et", "ethiopic-halehame-sid-et",
+ "ethiopic-halehame-so-et", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", "ew-resize", "expanded",
+ "extra-condensed", "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "forwards", "from", "fuchsia", "geometricPrecision",
+ "georgian", "gray", "graytext", "green", "grey", "groove", "hand", "hangul", "hangul-consonant", "hebrew", "help", "hidden", "hide",
+ "higher", "highlight", "highlighttext", "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "icon", "ignore",
+ "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline",
+ "inline-axis", "inline-block", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "justify", "katakana",
+ "katakana-iroha", "landscape", "large", "larger", "left", "level", "lighter", "lime", "line-through", "linear", "lines",
+ "list-button", "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-greek", "lower-latin",
+ "lower-norwegian", "lower-roman", "lowercase", "ltr", "maroon", "match", "media-controls-background", "media-current-time-display",
+ "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button", "media-rewind-button",
+ "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display",
+ "media-volume-slider", "media-volume-slider-container", "media-volume-sliderthumb", "medium", "menu", "menulist", "menulist-button",
+ "menulist-text", "menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic", "mix", "monospace", "move", "multiple",
+ "n-resize", "narrower", "navy", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", "no-open-quote", "no-repeat", "none",
+ "normal", "not-allowed", "nowrap", "ns-resize", "nw-resize", "nwse-resize", "oblique", "olive", "open-quote", "optimizeLegibility",
+ "optimizeSpeed", "orange", "oromo", "outset", "outside", "overlay", "overline", "padding", "padding-box", "painted", "paused",
+ "plus-darker", "plus-lighter", "pointer", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", "progress", "purple",
+ "push-button", "radio", "read-only", "read-write", "read-write-plaintext-only", "red", "relative", "repeat", "repeat-x",
+ "repeat-y", "reset", "reverse", "rgb", "rgba", "ridge", "right", "round", "row-resize", "rtl", "run-in", "running", "s-resize", "sans-serif",
+ "scroll", "scrollbar", "se-resize", "searchfield", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button",
+ "searchfield-results-decoration", "semi-condensed", "semi-expanded", "separate", "serif", "show", "sidama", "silver", "single",
+ "skip-white-space", "slide", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow",
+ "small", "small-caps", "small-caption", "smaller", "solid", "somali", "source-atop", "source-in", "source-out", "source-over",
+ "space", "square", "square-button", "start", "static", "status-bar", "stretch", "stroke", "sub", "subpixel-antialiased", "super",
+ "sw-resize", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group",
+ "table-row", "table-row-group", "teal", "text", "text-bottom", "text-top", "textarea", "textfield", "thick", "thin", "threeddarkshadow",
+ "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "tigre", "tigrinya-er", "tigrinya-er-abegede", "tigrinya-et",
+ "tigrinya-et-abegede", "to", "top", "transparent", "ultra-condensed", "ultra-expanded", "underline", "up", "upper-alpha", "upper-greek",
+ "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "url", "vertical", "vertical-text", "visible", "visibleFill", "visiblePainted",
+ "visibleStroke", "visual", "w-resize", "wait", "wave", "white", "wider", "window", "windowframe", "windowtext", "x-large", "x-small",
+ "xor", "xx-large", "xx-small", "yellow", "-wap-marquee", "-webkit-activelink", "-webkit-auto", "-webkit-baseline-middle", "-webkit-body",
+ "-webkit-box", "-webkit-center", "-webkit-control", "-webkit-focus-ring-color", "-webkit-grab", "-webkit-grabbing", "-webkit-gradient", "-webkit-inline-box",
+ "-webkit-left", "-webkit-link", "-webkit-marquee", "-webkit-mini-control", "-webkit-nowrap", "-webkit-right", "-webkit-small-control",
+ "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
+ ].keySet();
+
+ this._mediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
+
+ this._lexConditions = {
+ INITIAL: 0,
+ COMMENT: 1,
+ DSTRING: 2,
+ SSTRING: 3
+ };
+
+ this._parseConditions = {
+ INITIAL: 0,
+ PROPERTY: 1,
+ PROPERTY_VALUE: 2,
+ AT_RULE: 3
+ };
+
+ this.case_INITIAL = 1000;
+ this.case_COMMENT = 1002;
+ this.case_DSTRING = 1003;
+ this.case_SSTRING = 1004;
+
+ this.initialCondition = { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL }
+}
+
+WebInspector.SourceCSSTokenizer.prototype = {
+ _stringToken: function(cursor, stringEnds)
+ {
+ if (this._isPropertyValue())
+ this.tokenType = "css-string";
+ else
+ this.tokenType = null;
+ return cursor;
+ },
+
+ _isPropertyValue: function()
+ {
+ return this._parseCondition === this._parseConditions.PROPERTY_VALUE || this._parseCondition === this._parseConditions.AT_RULE;
+ },
+
+ nextToken: function(cursor)
+ {
+ var cursorOnEnter = cursor;
+ var gotoCase = 1;
+ while (1) {
+ switch (gotoCase)
+ // Following comment is replaced with generated state machine.
+ /*!re2c
+ re2c:define:YYCTYPE = "var";
+ re2c:define:YYCURSOR = cursor;
+ re2c:define:YYGETCONDITION = "this.getLexCondition";
+ re2c:define:YYSETCONDITION = "this.setLexCondition";
+ re2c:condprefix = "case this.case_";
+ re2c:condenumprefix = "this._lexConditions.";
+ re2c:yyfill:enable = 0;
+ re2c:labelprefix = "case ";
+ re2c:indent:top = 2;
+ re2c:indent:string = " ";
+
+ CommentContent = ([^*\r\n] | ("*"+[^/*]))*;
+ Comment = "/*" CommentContent "*"+ "/";
+ CommentStart = "/*" CommentContent [\r\n];
+ CommentEnd = CommentContent "*"+ "/";
+
+ OpenCurlyBracket = "{";
+ CloseCurlyBracket = "}";
+
+ OpenBracket = "(";
+ CloseBracket = ")";
+
+ Colon = ":";
+ Semicolon = ";";
+
+ NumericLiteral = "-"? ([0-9]+ | [0-9]* "." [0-9]+) ("em" | "rem" | "__qem" | "ex" | "px" | "cm" |
+ "mm" | "in" | "pt" | "pc" | "deg" | "rad" | "grad" | "turn" | "ms" | "s" | "Hz" | "kHz" | "%")?;
+
+ Identifier = [@!_\-$0-9a-zA-Z]+;
+
+ DoubleStringContent = ([^\r\n\"\\] | "\\" ['"\\bfnrtv])*;
+ SingleStringContent = ([^\r\n\'\\] | "\\" ['"\\bfnrtv])*;
+ StringLiteral = "\"" DoubleStringContent "\"" | "'" SingleStringContent "'";
+ DoubleStringStart = "\"" DoubleStringContent "\\" [\r\n];
+ DoubleStringEnd = DoubleStringContent "\"";
+ SingleStringStart = "'" SingleStringContent "\\" [\r\n];
+ SingleStringEnd = SingleStringContent "'";
+
+ <INITIAL> Comment { this.tokenType = "css-comment"; return cursor; }
+ <INITIAL> CommentStart => COMMENT { this.tokenType = "css-comment"; return cursor; }
+ <COMMENT> CommentContent => COMMENT { this.tokenType = "css-comment"; return cursor; }
+ <COMMENT> CommentEnd => INITIAL { this.tokenType = "css-comment"; return cursor; }
+
+ <INITIAL> StringLiteral { return this._stringToken(cursor, true); }
+ <INITIAL> DoubleStringStart => DSTRING { return this._stringToken(cursor); }
+ <DSTRING> DoubleStringContent => DSTRING { return this._stringToken(cursor); }
+ <DSTRING> DoubleStringEnd => INITIAL { return this._stringToken(cursor, true); }
+ <INITIAL> SingleStringStart => SSTRING { return this._stringToken(cursor); }
+ <SSTRING> SingleStringContent => SSTRING { return this._stringToken(cursor); }
+ <SSTRING> SingleStringEnd => INITIAL { return this._stringToken(cursor, true); }
+
+ <INITIAL> OpenCurlyBracket
+ {
+ this.tokenType = null;
+ if (this._parseCondition === this._parseConditions.AT_RULE)
+ this._parseCondition = this._parseConditions.INITIAL;
+ else
+ this._parseCondition = this._parseConditions.PROPERTY;
+ return cursor;
+ }
+
+ <INITIAL> CloseCurlyBracket
+ {
+ this.tokenType = null;
+ this._parseCondition = this._parseConditions.INITIAL;
+ return cursor;
+ }
+
+ <INITIAL> Colon
+ {
+ this.tokenType = null;
+ if (this._parseCondition === this._parseConditions.PROPERTY)
+ this._parseCondition = this._parseConditions.PROPERTY_VALUE;
+ return cursor;
+ }
+
+ <INITIAL> Semicolon
+ {
+ this.tokenType = null;
+ if (this._parseCondition === this._parseConditions.AT_RULE)
+ this._parseCondition = this._parseConditions.INITIAL;
+ else
+ this._parseCondition = this._parseConditions.PROPERTY;
+ return cursor;
+ }
+
+ <INITIAL> NumericLiteral
+ {
+ if (this._isPropertyValue())
+ this.tokenType = "css-number";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+
+ <INITIAL> Identifier
+ {
+ var token = this._line.substring(cursorOnEnter, cursor);
+ if (this._parseCondition === this._parseConditions.INITIAL) {
+ if (token === "@import" || token === "@media") {
+ this.tokenType = "css-at-rule";
+ this._parseCondition = this._parseConditions.AT_RULE;
+ } else
+ this.tokenType = "css-selector";
+ }
+ else if (this._parseCondition === this._parseConditions.AT_RULE && token in this._mediaTypes)
+ this.tokenType = "css-keyword";
+ else if (this._parseCondition === this._parseConditions.PROPERTY && token in this._propertyKeywords)
+ this.tokenType = "css-property";
+ else if (this._isPropertyValue() && token in this._valueKeywords)
+ this.tokenType = "css-keyword";
+ else if (token === "!important")
+ this.tokenType = "css-important";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+ <*> [^] { this.tokenType = null; return cursor; }
+ */
+ }
+ }
+}
+
+WebInspector.SourceCSSTokenizer.prototype.__proto__ = WebInspector.TextEditorHighlighter.Tokenizer.prototype;
diff --git a/WebCore/inspector/front-end/SourceHTMLTokenizer.js b/WebCore/inspector/front-end/SourceHTMLTokenizer.js
new file mode 100644
index 0000000..4b3f141
--- /dev/null
+++ b/WebCore/inspector/front-end/SourceHTMLTokenizer.js
@@ -0,0 +1,466 @@
+/* Generated by re2c 0.13.5 on Tue Jan 26 01:16:33 2010 */
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Generate js file as follows:
+//
+// re2c -isc WebCore/inspector/front-end/SourceHTMLTokenizer.re2js \
+// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
+// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
+// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
+// | sed 's|[*]cursor|this._charAt(cursor)|' \
+// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
+// | sed 's|{ gotoCase = \([^; continue; };]*\)|{ gotoCase = \1; continue; }|' \
+// | sed 's|unsigned\ int|var|' \
+// | sed 's|var\ yych|case 1: case 1: var yych|'
+
+WebInspector.SourceHTMLTokenizer = function()
+{
+ WebInspector.TextEditorHighlighter.Tokenizer.call(this);
+
+ this._lexConditions = {
+ INITIAL: 0,
+ COMMENT: 1,
+ DSTRING: 2,
+ SSTRING: 3
+ };
+
+ this._parseConditions = {
+ INITIAL: 0,
+ TAG: 1,
+ ATTRIBUTE: 2,
+ ATTRIBUTE_VALUE: 3,
+ DOCTYPE: 4
+ };
+
+ this.case_INITIAL = 1000;
+ this.case_COMMENT = 1001;
+ this.case_DSTRING = 1002;
+ this.case_SSTRING = 1003;
+
+ this.initialCondition = { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL };
+}
+
+WebInspector.SourceHTMLTokenizer.prototype = {
+ _stringToken: function(cursor, stringEnds)
+ {
+ if (this._parseCondition === this._parseConditions.ATTRIBUTE_VALUE) {
+ this.tokenType = "html-attr-value";
+ if (stringEnds)
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = null;
+ return cursor;
+ },
+
+ nextToken: function(cursor)
+ {
+ var cursorOnEnter = cursor;
+ var gotoCase = 1;
+ while (1) {
+ switch (gotoCase)
+ // Following comment is replaced with generated state machine.
+
+ {
+ case 1: var yych;
+ var yyaccept = 0;
+ if (this.getLexCondition() < 2) {
+ if (this.getLexCondition() < 1) {
+ { gotoCase = this.case_INITIAL; continue; };
+ } else {
+ { gotoCase = this.case_COMMENT; continue; };
+ }
+ } else {
+ if (this.getLexCondition() < 3) {
+ { gotoCase = this.case_DSTRING; continue; };
+ } else {
+ { gotoCase = this.case_SSTRING; continue; };
+ }
+ }
+/* *********************************** */
+case this.case_COMMENT:
+
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 4; continue; };
+ { gotoCase = 3; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 4; continue; };
+ if (yych == '-') { gotoCase = 6; continue; };
+ { gotoCase = 3; continue; };
+ }
+case 2:
+ { this.tokenType = "html-comment"; return cursor; }
+case 3:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 9; continue; };
+case 4:
+ ++cursor;
+case 5:
+ { this.tokenType = null; return cursor; }
+case 6:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych != '-') { gotoCase = 5; continue; };
+case 7:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '>') { gotoCase = 10; continue; };
+case 8:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 9:
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 2; continue; };
+ { gotoCase = 8; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 2; continue; };
+ if (yych == '-') { gotoCase = 12; continue; };
+ { gotoCase = 8; continue; };
+ }
+case 10:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.INITIAL);
+ { this.tokenType = "html-comment"; return cursor; }
+case 12:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '-') { gotoCase = 7; continue; };
+ cursor = YYMARKER;
+ if (yyaccept <= 0) {
+ { gotoCase = 2; continue; };
+ } else {
+ { gotoCase = 5; continue; };
+ }
+/* *********************************** */
+case this.case_DSTRING:
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 18; continue; };
+ { gotoCase = 17; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 18; continue; };
+ if (yych == '"') { gotoCase = 20; continue; };
+ { gotoCase = 17; continue; };
+ }
+case 16:
+ { return this._stringToken(cursor); }
+case 17:
+ yych = this._charAt(++cursor);
+ { gotoCase = 24; continue; };
+case 18:
+ ++cursor;
+ { this.tokenType = null; return cursor; }
+case 20:
+ ++cursor;
+case 21:
+ this.setLexCondition(this._lexConditions.INITIAL);
+ { return this._stringToken(cursor, true); }
+case 22:
+ yych = this._charAt(++cursor);
+ { gotoCase = 21; continue; };
+case 23:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 24:
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 16; continue; };
+ { gotoCase = 23; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 16; continue; };
+ if (yych == '"') { gotoCase = 22; continue; };
+ { gotoCase = 23; continue; };
+ }
+/* *********************************** */
+case this.case_INITIAL:
+ yych = this._charAt(cursor);
+ if (yych <= '>') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 29; continue; };
+ if (yych >= '\'') { gotoCase = 30; continue; };
+ } else {
+ if (yych <= ';') { gotoCase = 27; continue; };
+ if (yych <= '<') { gotoCase = 31; continue; };
+ if (yych <= '=') { gotoCase = 33; continue; };
+ { gotoCase = 35; continue; };
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= '@') { gotoCase = 27; continue; };
+ if (yych <= 'Z') { gotoCase = 37; continue; };
+ if (yych >= '_') { gotoCase = 37; continue; };
+ } else {
+ if (yych <= '`') { gotoCase = 27; continue; };
+ if (yych <= 'z') { gotoCase = 37; continue; };
+ if (yych >= 0x80) { gotoCase = 37; continue; };
+ }
+ }
+case 27:
+ ++cursor;
+case 28:
+ { this.tokenType = null; return cursor; }
+case 29:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 68; continue; };
+case 30:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 62; continue; };
+case 31:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '!') { gotoCase = 42; continue; };
+ if (yych == '/') { gotoCase = 41; continue; };
+case 32:
+ {
+ this.tokenType = "html-tag";
+ this._parseCondition = this._parseConditions.TAG;
+ return cursor;
+ }
+case 33:
+ ++cursor;
+ {
+ if (this._parseCondition === this._parseConditions.ATTRIBUTE) {
+ this.tokenType = null;
+ this._parseCondition = this._parseConditions.ATTRIBUTE_VALUE;
+ } else if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+case 35:
+ ++cursor;
+ {
+ if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = "html-tag";
+ this._parseCondition = this._parseConditions.INITIAL;
+ return cursor;
+ }
+case 37:
+ ++cursor;
+ yych = this._charAt(cursor);
+ { gotoCase = 40; continue; };
+case 38:
+ {
+ if (this._parseCondition === this._parseConditions.TAG) {
+ this.tokenType = "html-tag";
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.ATTRIBUTE) {
+ this.tokenType = "html-attr-name";
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.ATTRIBUTE_VALUE) {
+ this.tokenType = "html-attr-value";
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+case 39:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 40:
+ if (yych <= '_') {
+ if (yych <= '@') { gotoCase = 38; continue; };
+ if (yych <= 'Z') { gotoCase = 39; continue; };
+ if (yych <= '^') { gotoCase = 38; continue; };
+ { gotoCase = 39; continue; };
+ } else {
+ if (yych <= '`') { gotoCase = 38; continue; };
+ if (yych <= 'z') { gotoCase = 39; continue; };
+ if (yych <= 0x7F) { gotoCase = 38; continue; };
+ { gotoCase = 39; continue; };
+ }
+case 41:
+ yych = this._charAt(++cursor);
+ { gotoCase = 32; continue; };
+case 42:
+ yych = this._charAt(++cursor);
+ if (yych <= 'C') {
+ if (yych == '-') { gotoCase = 44; continue; };
+ } else {
+ if (yych <= 'D') { gotoCase = 45; continue; };
+ if (yych == 'd') { gotoCase = 45; continue; };
+ }
+case 43:
+ cursor = YYMARKER;
+ if (yyaccept <= 0) {
+ { gotoCase = 28; continue; };
+ } else {
+ { gotoCase = 32; continue; };
+ }
+case 44:
+ yych = this._charAt(++cursor);
+ if (yych == '-') { gotoCase = 53; continue; };
+ { gotoCase = 43; continue; };
+case 45:
+ yych = this._charAt(++cursor);
+ if (yych == 'O') { gotoCase = 46; continue; };
+ if (yych != 'o') { gotoCase = 43; continue; };
+case 46:
+ yych = this._charAt(++cursor);
+ if (yych == 'C') { gotoCase = 47; continue; };
+ if (yych != 'c') { gotoCase = 43; continue; };
+case 47:
+ yych = this._charAt(++cursor);
+ if (yych == 'T') { gotoCase = 48; continue; };
+ if (yych != 't') { gotoCase = 43; continue; };
+case 48:
+ yych = this._charAt(++cursor);
+ if (yych == 'Y') { gotoCase = 49; continue; };
+ if (yych != 'y') { gotoCase = 43; continue; };
+case 49:
+ yych = this._charAt(++cursor);
+ if (yych == 'P') { gotoCase = 50; continue; };
+ if (yych != 'p') { gotoCase = 43; continue; };
+case 50:
+ yych = this._charAt(++cursor);
+ if (yych == 'E') { gotoCase = 51; continue; };
+ if (yych != 'e') { gotoCase = 43; continue; };
+case 51:
+ ++cursor;
+ {
+ var token = this._line.substring(cursorOnEnter, cursor);
+ this.tokenType = "html-doctype";
+ this._parseCondition = this._parseConditions.DOCTYPE;
+ return cursor;
+ }
+case 53:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 56; continue; };
+ { gotoCase = 53; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 56; continue; };
+ if (yych != '-') { gotoCase = 53; continue; };
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '-') { gotoCase = 58; continue; };
+ { gotoCase = 43; continue; };
+case 56:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.COMMENT);
+ { this.tokenType = "html-comment"; return cursor; }
+case 58:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych != '>') { gotoCase = 53; continue; };
+ ++cursor;
+ { this.tokenType = "html-comment"; return cursor; }
+case 61:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 62:
+ if (yych <= '\f') {
+ if (yych != '\n') { gotoCase = 61; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 63; continue; };
+ if (yych == '\'') { gotoCase = 65; continue; };
+ { gotoCase = 61; continue; };
+ }
+case 63:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.SSTRING);
+ { return this._stringToken(cursor); }
+case 65:
+ ++cursor;
+ { return this._stringToken(cursor, true); }
+case 67:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 68:
+ if (yych <= '\f') {
+ if (yych != '\n') { gotoCase = 67; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 69; continue; };
+ if (yych == '"') { gotoCase = 65; continue; };
+ { gotoCase = 67; continue; };
+ }
+case 69:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.DSTRING);
+ { return this._stringToken(cursor); }
+/* *********************************** */
+case this.case_SSTRING:
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 75; continue; };
+ { gotoCase = 74; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 75; continue; };
+ if (yych == '\'') { gotoCase = 77; continue; };
+ { gotoCase = 74; continue; };
+ }
+case 73:
+ { return this._stringToken(cursor); }
+case 74:
+ yych = this._charAt(++cursor);
+ { gotoCase = 81; continue; };
+case 75:
+ ++cursor;
+ { this.tokenType = null; return cursor; }
+case 77:
+ ++cursor;
+case 78:
+ this.setLexCondition(this._lexConditions.INITIAL);
+ { return this._stringToken(cursor, true); }
+case 79:
+ yych = this._charAt(++cursor);
+ { gotoCase = 78; continue; };
+case 80:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 81:
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 73; continue; };
+ { gotoCase = 80; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 73; continue; };
+ if (yych == '\'') { gotoCase = 79; continue; };
+ { gotoCase = 80; continue; };
+ }
+ }
+
+ }
+ }
+}
+
+WebInspector.SourceHTMLTokenizer.prototype.__proto__ = WebInspector.TextEditorHighlighter.Tokenizer.prototype;
diff --git a/WebCore/inspector/front-end/SourceHTMLTokenizer.re2js b/WebCore/inspector/front-end/SourceHTMLTokenizer.re2js
new file mode 100644
index 0000000..1a8333c
--- /dev/null
+++ b/WebCore/inspector/front-end/SourceHTMLTokenizer.re2js
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Generate js file as follows:
+//
+// re2c -isc WebCore/inspector/front-end/SourceHTMLTokenizer.re2js \
+// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
+// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
+// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
+// | sed 's|[*]cursor|this._charAt(cursor)|' \
+// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
+// | sed 's|goto case \([^;]*\)|{ gotoCase = \1; continue; }|' \
+// | sed 's|unsigned\ int|var|' \
+// | sed 's|var\ yych|case 1: var yych|'
+
+WebInspector.SourceHTMLTokenizer = function()
+{
+ WebInspector.TextEditorHighlighter.Tokenizer.call(this);
+
+ this._lexConditions = {
+ INITIAL: 0,
+ COMMENT: 1,
+ DSTRING: 2,
+ SSTRING: 3
+ };
+
+ this._parseConditions = {
+ INITIAL: 0,
+ TAG: 1,
+ ATTRIBUTE: 2,
+ ATTRIBUTE_VALUE: 3,
+ DOCTYPE: 4
+ };
+
+ this.case_INITIAL = 1000;
+ this.case_COMMENT = 1001;
+ this.case_DSTRING = 1002;
+ this.case_SSTRING = 1003;
+
+ this.initialCondition = { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL };
+}
+
+WebInspector.SourceHTMLTokenizer.prototype = {
+ _stringToken: function(cursor, stringEnds)
+ {
+ if (this._parseCondition === this._parseConditions.ATTRIBUTE_VALUE) {
+ this.tokenType = "html-attr-value";
+ if (stringEnds)
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = null;
+ return cursor;
+ },
+
+ nextToken: function(cursor)
+ {
+ var cursorOnEnter = cursor;
+ var gotoCase = 1;
+ while (1) {
+ switch (gotoCase)
+ // Following comment is replaced with generated state machine.
+ /*!re2c
+ re2c:define:YYCTYPE = "var";
+ re2c:define:YYCURSOR = cursor;
+ re2c:define:YYGETCONDITION = "this.getLexCondition";
+ re2c:define:YYSETCONDITION = "this.setLexCondition";
+ re2c:condprefix = "case this.case_";
+ re2c:condenumprefix = "this._lexConditions.";
+ re2c:yyfill:enable = 0;
+ re2c:labelprefix = "case ";
+ re2c:indent:top = 2;
+ re2c:indent:string = " ";
+
+ CommentContent = ([^-\r\n] | ("--" [^>]))*;
+ Comment = "<!--" CommentContent "-->";
+ CommentStart = "<!--" CommentContent [\r\n];
+ CommentEnd = CommentContent "-->";
+
+ LT = "<" | "</";
+ DocTypeLT = "<!" [Dd] [Oo] [Cc] [Tt] [Yy] [Pp] [Ee];
+ GT = ">";
+ EqualSign = "=";
+
+ Letter = [_a-zA-Z\x80-\xFF];
+
+ DoubleStringContent = [^\r\n\"]*;
+ SingleStringContent = [^\r\n\']*;
+ StringLiteral = "\"" DoubleStringContent "\"" | "'" SingleStringContent "'";
+ DoubleStringStart = "\"" DoubleStringContent [\r\n];
+ DoubleStringEnd = DoubleStringContent "\"";
+ SingleStringStart = "'" SingleStringContent [\r\n];
+ SingleStringEnd = SingleStringContent "'";
+
+ Identifier = Letter+;
+
+ <INITIAL> Comment { this.tokenType = "html-comment"; return cursor; }
+ <INITIAL> CommentStart => COMMENT { this.tokenType = "html-comment"; return cursor; }
+ <COMMENT> CommentContent => COMMENT { this.tokenType = "html-comment"; return cursor; }
+ <COMMENT> CommentEnd => INITIAL { this.tokenType = "html-comment"; return cursor; }
+
+ <INITIAL> DocTypeLT => INITIAL
+ {
+ var token = this._line.substring(cursorOnEnter, cursor);
+ this.tokenType = "html-doctype";
+ this._parseCondition = this._parseConditions.DOCTYPE;
+ return cursor;
+ }
+
+ <INITIAL> LT => INITIAL
+ {
+ this.tokenType = "html-tag";
+ this._parseCondition = this._parseConditions.TAG;
+ return cursor;
+ }
+
+ <INITIAL> GT => INITIAL
+ {
+ if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = "html-tag";
+ this._parseCondition = this._parseConditions.INITIAL;
+ return cursor;
+ }
+
+ <INITIAL> StringLiteral { return this._stringToken(cursor, true); }
+ <INITIAL> DoubleStringStart => DSTRING { return this._stringToken(cursor); }
+ <DSTRING> DoubleStringContent => DSTRING { return this._stringToken(cursor); }
+ <DSTRING> DoubleStringEnd => INITIAL { return this._stringToken(cursor, true); }
+ <INITIAL> SingleStringStart => SSTRING { return this._stringToken(cursor); }
+ <SSTRING> SingleStringContent => SSTRING { return this._stringToken(cursor); }
+ <SSTRING> SingleStringEnd => INITIAL { return this._stringToken(cursor, true); }
+
+ <INITIAL> EqualSign => INITIAL
+ {
+ if (this._parseCondition === this._parseConditions.ATTRIBUTE) {
+ this.tokenType = null;
+ this._parseCondition = this._parseConditions.ATTRIBUTE_VALUE;
+ } else if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+
+ <INITIAL> Identifier
+ {
+ if (this._parseCondition === this._parseConditions.TAG) {
+ this.tokenType = "html-tag";
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.ATTRIBUTE) {
+ this.tokenType = "html-attr-name";
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.ATTRIBUTE_VALUE) {
+ this.tokenType = "html-attr-value";
+ this._parseCondition = this._parseConditions.ATTRIBUTE;
+ } else if (this._parseCondition === this._parseConditions.DOCTYPE)
+ this.tokenType = "html-doctype";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+ <*> [^] { this.tokenType = null; return cursor; }
+ */
+ }
+ }
+}
+
+WebInspector.SourceHTMLTokenizer.prototype.__proto__ = WebInspector.TextEditorHighlighter.Tokenizer.prototype;
diff --git a/WebCore/inspector/front-end/SourceJavaScriptTokenizer.js b/WebCore/inspector/front-end/SourceJavaScriptTokenizer.js
new file mode 100644
index 0000000..0c86acd
--- /dev/null
+++ b/WebCore/inspector/front-end/SourceJavaScriptTokenizer.js
@@ -0,0 +1,2416 @@
+/* Generated by re2c 0.13.5 on Tue Jan 26 01:16:33 2010 */
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Generate js file as follows:
+//
+// re2c -isc WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js \
+// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
+// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
+// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
+// | sed 's|[*]cursor|this._charAt(cursor)|' \
+// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
+// | sed 's|{ gotoCase = \([^; continue; };]*\)|{ gotoCase = \1; continue; }|' \
+// | sed 's|unsigned\ int|var|' \
+// | sed 's|var\ yych|case 1: case 1: var yych|'
+
+WebInspector.SourceJavaScriptTokenizer = function()
+{
+ WebInspector.TextEditorHighlighter.Tokenizer.call(this);
+
+ this._keywords = [
+ "null", "true", "false", "break", "case", "catch", "const", "default", "finally", "for",
+ "instanceof", "new", "var", "continue", "function", "return", "void", "delete", "if",
+ "this", "do", "while", "else", "in", "switch", "throw", "try", "typeof", "debugger",
+ "class", "enum", "export", "extends", "import", "super", "get", "set"
+ ].keySet();
+
+ this._lexConditions = {
+ DIV: 0,
+ NODIV: 1,
+ COMMENT: 2,
+ DSTRING: 3,
+ SSTRING: 4,
+ REGEX: 5
+ };
+
+ this.case_DIV = 1000;
+ this.case_NODIV = 1001;
+ this.case_COMMENT = 1002;
+ this.case_DSTRING = 1003;
+ this.case_SSTRING = 1004;
+ this.case_REGEX = 1005;
+
+ this.initialCondition = { lexCondition: this._lexConditions.NODIV }
+}
+
+WebInspector.SourceJavaScriptTokenizer.prototype = {
+ nextToken: function(cursor)
+ {
+ var cursorOnEnter = cursor;
+ var gotoCase = 1;
+ while (1) {
+ switch (gotoCase)
+ // Following comment is replaced with generated state machine.
+
+ {
+ case 1: var yych;
+ var yyaccept = 0;
+ if (this.getLexCondition() < 3) {
+ if (this.getLexCondition() < 1) {
+ { gotoCase = this.case_DIV; continue; };
+ } else {
+ if (this.getLexCondition() < 2) {
+ { gotoCase = this.case_NODIV; continue; };
+ } else {
+ { gotoCase = this.case_COMMENT; continue; };
+ }
+ }
+ } else {
+ if (this.getLexCondition() < 4) {
+ { gotoCase = this.case_DSTRING; continue; };
+ } else {
+ if (this.getLexCondition() < 5) {
+ { gotoCase = this.case_SSTRING; continue; };
+ } else {
+ { gotoCase = this.case_REGEX; continue; };
+ }
+ }
+ }
+/* *********************************** */
+case this.case_COMMENT:
+
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 4; continue; };
+ { gotoCase = 3; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 4; continue; };
+ if (yych == '*') { gotoCase = 6; continue; };
+ { gotoCase = 3; continue; };
+ }
+case 2:
+ { this.tokenType = "js-comment"; return cursor; }
+case 3:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 12; continue; };
+case 4:
+ ++cursor;
+ { this.tokenType = null; return cursor; }
+case 6:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '*') { gotoCase = 9; continue; };
+ if (yych != '/') { gotoCase = 11; continue; };
+case 7:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.NODIV);
+ { this.tokenType = "js-comment"; return cursor; }
+case 9:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '*') { gotoCase = 9; continue; };
+ if (yych == '/') { gotoCase = 7; continue; };
+case 11:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 12:
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 2; continue; };
+ { gotoCase = 11; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 2; continue; };
+ if (yych == '*') { gotoCase = 9; continue; };
+ { gotoCase = 11; continue; };
+ }
+/* *********************************** */
+case this.case_DIV:
+ yych = this._charAt(cursor);
+ if (yych <= '9') {
+ if (yych <= '(') {
+ if (yych <= '#') {
+ if (yych <= ' ') { gotoCase = 15; continue; };
+ if (yych <= '!') { gotoCase = 17; continue; };
+ if (yych <= '"') { gotoCase = 19; continue; };
+ } else {
+ if (yych <= '%') {
+ if (yych <= '$') { gotoCase = 20; continue; };
+ { gotoCase = 22; continue; };
+ } else {
+ if (yych <= '&') { gotoCase = 23; continue; };
+ if (yych <= '\'') { gotoCase = 24; continue; };
+ { gotoCase = 25; continue; };
+ }
+ }
+ } else {
+ if (yych <= ',') {
+ if (yych <= ')') { gotoCase = 26; continue; };
+ if (yych <= '*') { gotoCase = 28; continue; };
+ if (yych <= '+') { gotoCase = 29; continue; };
+ { gotoCase = 25; continue; };
+ } else {
+ if (yych <= '.') {
+ if (yych <= '-') { gotoCase = 30; continue; };
+ { gotoCase = 31; continue; };
+ } else {
+ if (yych <= '/') { gotoCase = 32; continue; };
+ if (yych <= '0') { gotoCase = 34; continue; };
+ { gotoCase = 36; continue; };
+ }
+ }
+ }
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '>') {
+ if (yych <= ';') { gotoCase = 25; continue; };
+ if (yych <= '<') { gotoCase = 37; continue; };
+ if (yych <= '=') { gotoCase = 38; continue; };
+ { gotoCase = 39; continue; };
+ } else {
+ if (yych <= '@') {
+ if (yych <= '?') { gotoCase = 25; continue; };
+ } else {
+ if (yych <= 'Z') { gotoCase = 20; continue; };
+ if (yych <= '[') { gotoCase = 25; continue; };
+ { gotoCase = 40; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'z') {
+ if (yych <= '^') {
+ if (yych <= ']') { gotoCase = 25; continue; };
+ { gotoCase = 41; continue; };
+ } else {
+ if (yych != '`') { gotoCase = 20; continue; };
+ }
+ } else {
+ if (yych <= '|') {
+ if (yych <= '{') { gotoCase = 25; continue; };
+ { gotoCase = 42; continue; };
+ } else {
+ if (yych <= '~') { gotoCase = 25; continue; };
+ if (yych >= 0x80) { gotoCase = 20; continue; };
+ }
+ }
+ }
+ }
+case 15:
+ ++cursor;
+case 16:
+ { this.tokenType = null; return cursor; }
+case 17:
+ ++cursor;
+ if ((yych = this._charAt(cursor)) == '=') { gotoCase = 115; continue; };
+case 18:
+ this.setLexCondition(this._lexConditions.NODIV);
+ { this.tokenType = null; return cursor; }
+case 19:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '\n') { gotoCase = 16; continue; };
+ if (yych == '\r') { gotoCase = 16; continue; };
+ { gotoCase = 107; continue; };
+case 20:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 50; continue; };
+case 21:
+ {
+ var token = this._line.substring(cursorOnEnter, cursor);
+ if (token in this._keywords)
+ this.tokenType = "js-keyword";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+case 22:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 23:
+ yych = this._charAt(++cursor);
+ if (yych == '&') { gotoCase = 43; continue; };
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 24:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '\n') { gotoCase = 16; continue; };
+ if (yych == '\r') { gotoCase = 16; continue; };
+ { gotoCase = 96; continue; };
+case 25:
+ yych = this._charAt(++cursor);
+ { gotoCase = 18; continue; };
+case 26:
+ ++cursor;
+ { this.tokenType = null; return cursor; }
+case 28:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 29:
+ yych = this._charAt(++cursor);
+ if (yych == '+') { gotoCase = 43; continue; };
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 30:
+ yych = this._charAt(++cursor);
+ if (yych == '-') { gotoCase = 43; continue; };
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 31:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 18; continue; };
+ if (yych <= '9') { gotoCase = 89; continue; };
+ { gotoCase = 18; continue; };
+case 32:
+ yyaccept = 2;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= '.') {
+ if (yych == '*') { gotoCase = 78; continue; };
+ } else {
+ if (yych <= '/') { gotoCase = 80; continue; };
+ if (yych == '=') { gotoCase = 77; continue; };
+ }
+case 33:
+ this.setLexCondition(this._lexConditions.NODIV);
+ { this.tokenType = null; return cursor; }
+case 34:
+ yyaccept = 3;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= 'E') {
+ if (yych <= '/') {
+ if (yych == '.') { gotoCase = 63; continue; };
+ } else {
+ if (yych <= '7') { gotoCase = 72; continue; };
+ if (yych >= 'E') { gotoCase = 62; continue; };
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych == 'X') { gotoCase = 74; continue; };
+ } else {
+ if (yych <= 'e') { gotoCase = 62; continue; };
+ if (yych == 'x') { gotoCase = 74; continue; };
+ }
+ }
+case 35:
+ { this.tokenType = "js-number"; return cursor; }
+case 36:
+ yyaccept = 3;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= '9') {
+ if (yych == '.') { gotoCase = 63; continue; };
+ if (yych <= '/') { gotoCase = 35; continue; };
+ { gotoCase = 60; continue; };
+ } else {
+ if (yych <= 'E') {
+ if (yych <= 'D') { gotoCase = 35; continue; };
+ { gotoCase = 62; continue; };
+ } else {
+ if (yych == 'e') { gotoCase = 62; continue; };
+ { gotoCase = 35; continue; };
+ }
+ }
+case 37:
+ yych = this._charAt(++cursor);
+ if (yych <= ';') { gotoCase = 18; continue; };
+ if (yych <= '<') { gotoCase = 59; continue; };
+ if (yych <= '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 38:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 58; continue; };
+ { gotoCase = 18; continue; };
+case 39:
+ yych = this._charAt(++cursor);
+ if (yych <= '<') { gotoCase = 18; continue; };
+ if (yych <= '=') { gotoCase = 43; continue; };
+ if (yych <= '>') { gotoCase = 56; continue; };
+ { gotoCase = 18; continue; };
+case 40:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == 'u') { gotoCase = 44; continue; };
+ { gotoCase = 16; continue; };
+case 41:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 42:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 43; continue; };
+ if (yych != '|') { gotoCase = 18; continue; };
+case 43:
+ yych = this._charAt(++cursor);
+ { gotoCase = 18; continue; };
+case 44:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 46; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 46; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych <= 'f') { gotoCase = 46; continue; };
+ }
+case 45:
+ cursor = YYMARKER;
+ if (yyaccept <= 1) {
+ if (yyaccept <= 0) {
+ { gotoCase = 16; continue; };
+ } else {
+ { gotoCase = 21; continue; };
+ }
+ } else {
+ if (yyaccept <= 2) {
+ { gotoCase = 33; continue; };
+ } else {
+ { gotoCase = 35; continue; };
+ }
+ }
+case 46:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 47; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 47:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 48; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 48:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 49; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 49:
+ yyaccept = 1;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 50:
+ if (yych <= '[') {
+ if (yych <= '/') {
+ if (yych == '$') { gotoCase = 49; continue; };
+ { gotoCase = 21; continue; };
+ } else {
+ if (yych <= '9') { gotoCase = 49; continue; };
+ if (yych <= '@') { gotoCase = 21; continue; };
+ if (yych <= 'Z') { gotoCase = 49; continue; };
+ { gotoCase = 21; continue; };
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= '\\') { gotoCase = 51; continue; };
+ if (yych <= '^') { gotoCase = 21; continue; };
+ { gotoCase = 49; continue; };
+ } else {
+ if (yych <= '`') { gotoCase = 21; continue; };
+ if (yych <= 'z') { gotoCase = 49; continue; };
+ if (yych <= 0x7F) { gotoCase = 21; continue; };
+ { gotoCase = 49; continue; };
+ }
+ }
+case 51:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych != 'u') { gotoCase = 45; continue; };
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 53; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 53:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 54; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 54:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 55; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 55:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 49; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 49; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych <= 'f') { gotoCase = 49; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 56:
+ yych = this._charAt(++cursor);
+ if (yych <= '<') { gotoCase = 18; continue; };
+ if (yych <= '=') { gotoCase = 43; continue; };
+ if (yych >= '?') { gotoCase = 18; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 58:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 59:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+case 60:
+ yyaccept = 3;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '9') {
+ if (yych == '.') { gotoCase = 63; continue; };
+ if (yych <= '/') { gotoCase = 35; continue; };
+ { gotoCase = 60; continue; };
+ } else {
+ if (yych <= 'E') {
+ if (yych <= 'D') { gotoCase = 35; continue; };
+ } else {
+ if (yych != 'e') { gotoCase = 35; continue; };
+ }
+ }
+case 62:
+ yych = this._charAt(++cursor);
+ if (yych <= ',') {
+ if (yych == '+') { gotoCase = 69; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= '-') { gotoCase = 69; continue; };
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 70; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 63:
+ yyaccept = 3;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'D') {
+ if (yych <= '/') { gotoCase = 35; continue; };
+ if (yych <= '9') { gotoCase = 63; continue; };
+ { gotoCase = 35; continue; };
+ } else {
+ if (yych <= 'E') { gotoCase = 65; continue; };
+ if (yych != 'e') { gotoCase = 35; continue; };
+ }
+case 65:
+ yych = this._charAt(++cursor);
+ if (yych <= ',') {
+ if (yych != '+') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= '-') { gotoCase = 66; continue; };
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 67; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 66:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+case 67:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 35; continue; };
+ if (yych <= '9') { gotoCase = 67; continue; };
+ { gotoCase = 35; continue; };
+case 69:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+case 70:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 35; continue; };
+ if (yych <= '9') { gotoCase = 70; continue; };
+ { gotoCase = 35; continue; };
+case 72:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 35; continue; };
+ if (yych <= '7') { gotoCase = 72; continue; };
+ { gotoCase = 35; continue; };
+case 74:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 75; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 75:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 35; continue; };
+ if (yych <= '9') { gotoCase = 75; continue; };
+ { gotoCase = 35; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 75; continue; };
+ if (yych <= '`') { gotoCase = 35; continue; };
+ if (yych <= 'f') { gotoCase = 75; continue; };
+ { gotoCase = 35; continue; };
+ }
+case 77:
+ yych = this._charAt(++cursor);
+ { gotoCase = 33; continue; };
+case 78:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 85; continue; };
+ { gotoCase = 78; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 85; continue; };
+ if (yych == '*') { gotoCase = 83; continue; };
+ { gotoCase = 78; continue; };
+ }
+case 80:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 82; continue; };
+ if (yych != '\r') { gotoCase = 80; continue; };
+case 82:
+ { this.tokenType = "js-comment"; return cursor; }
+case 83:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '*') { gotoCase = 83; continue; };
+ if (yych == '/') { gotoCase = 87; continue; };
+ { gotoCase = 78; continue; };
+case 85:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.COMMENT);
+ { this.tokenType = "js-comment"; return cursor; }
+case 87:
+ ++cursor;
+ { this.tokenType = "js-comment"; return cursor; }
+case 89:
+ yyaccept = 3;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'D') {
+ if (yych <= '/') { gotoCase = 35; continue; };
+ if (yych <= '9') { gotoCase = 89; continue; };
+ { gotoCase = 35; continue; };
+ } else {
+ if (yych <= 'E') { gotoCase = 91; continue; };
+ if (yych != 'e') { gotoCase = 35; continue; };
+ }
+case 91:
+ yych = this._charAt(++cursor);
+ if (yych <= ',') {
+ if (yych != '+') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= '-') { gotoCase = 92; continue; };
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 93; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 92:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+case 93:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 35; continue; };
+ if (yych <= '9') { gotoCase = 93; continue; };
+ { gotoCase = 35; continue; };
+case 95:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 96:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 45; continue; };
+ if (yych <= '\f') { gotoCase = 95; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&') { gotoCase = 95; continue; };
+ { gotoCase = 98; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 95; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'a') {
+ if (yych <= '!') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 45; continue; };
+ { gotoCase = 101; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 101; continue; };
+ { gotoCase = 45; continue; };
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 95; continue; };
+ if (yych <= '&') { gotoCase = 45; continue; };
+ { gotoCase = 95; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 95; continue; };
+ { gotoCase = 45; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'f') {
+ if (yych <= 'b') { gotoCase = 95; continue; };
+ if (yych <= 'e') { gotoCase = 45; continue; };
+ { gotoCase = 95; continue; };
+ } else {
+ if (yych == 'n') { gotoCase = 95; continue; };
+ { gotoCase = 45; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych == 's') { gotoCase = 45; continue; };
+ { gotoCase = 95; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 100; continue; };
+ if (yych <= 'v') { gotoCase = 95; continue; };
+ { gotoCase = 45; continue; };
+ }
+ }
+ }
+case 98:
+ ++cursor;
+ { this.tokenType = "js-string"; return cursor; }
+case 100:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 103; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 103; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych <= 'f') { gotoCase = 103; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 101:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.SSTRING);
+ { this.tokenType = "js-string"; return cursor; }
+case 103:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 104; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 104:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 105; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 105:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 95; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 95; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych <= 'f') { gotoCase = 95; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 106:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 107:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 45; continue; };
+ if (yych <= '\f') { gotoCase = 106; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= '"') {
+ if (yych <= '!') { gotoCase = 106; continue; };
+ { gotoCase = 98; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 106; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'a') {
+ if (yych <= '!') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 45; continue; };
+ { gotoCase = 110; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 110; continue; };
+ { gotoCase = 45; continue; };
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 106; continue; };
+ if (yych <= '&') { gotoCase = 45; continue; };
+ { gotoCase = 106; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 106; continue; };
+ { gotoCase = 45; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'f') {
+ if (yych <= 'b') { gotoCase = 106; continue; };
+ if (yych <= 'e') { gotoCase = 45; continue; };
+ { gotoCase = 106; continue; };
+ } else {
+ if (yych == 'n') { gotoCase = 106; continue; };
+ { gotoCase = 45; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych == 's') { gotoCase = 45; continue; };
+ { gotoCase = 106; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 109; continue; };
+ if (yych <= 'v') { gotoCase = 106; continue; };
+ { gotoCase = 45; continue; };
+ }
+ }
+ }
+case 109:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 112; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 112; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych <= 'f') { gotoCase = 112; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 110:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.DSTRING);
+ { this.tokenType = "js-string"; return cursor; }
+case 112:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 113; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 113:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych >= ':') { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 114; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych >= 'g') { gotoCase = 45; continue; };
+ }
+case 114:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 45; continue; };
+ if (yych <= '9') { gotoCase = 106; continue; };
+ { gotoCase = 45; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 106; continue; };
+ if (yych <= '`') { gotoCase = 45; continue; };
+ if (yych <= 'f') { gotoCase = 106; continue; };
+ { gotoCase = 45; continue; };
+ }
+case 115:
+ ++cursor;
+ if ((yych = this._charAt(cursor)) == '=') { gotoCase = 43; continue; };
+ { gotoCase = 18; continue; };
+/* *********************************** */
+case this.case_DSTRING:
+ yych = this._charAt(cursor);
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 120; continue; };
+ if (yych <= '\f') { gotoCase = 119; continue; };
+ { gotoCase = 120; continue; };
+ } else {
+ if (yych <= '"') {
+ if (yych <= '!') { gotoCase = 119; continue; };
+ { gotoCase = 122; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 124; continue; };
+ { gotoCase = 119; continue; };
+ }
+ }
+case 118:
+ { this.tokenType = "js-string"; return cursor; }
+case 119:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 126; continue; };
+case 120:
+ ++cursor;
+case 121:
+ { this.tokenType = null; return cursor; }
+case 122:
+ ++cursor;
+case 123:
+ this.setLexCondition(this._lexConditions.NODIV);
+ { this.tokenType = "js-string"; return cursor; }
+case 124:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 125; continue; };
+ if (yych <= '&') { gotoCase = 121; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '[') { gotoCase = 121; continue; };
+ } else {
+ if (yych != 'b') { gotoCase = 121; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych >= 'g') { gotoCase = 121; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 125; continue; };
+ if (yych <= 'q') { gotoCase = 121; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') { gotoCase = 121; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 127; continue; };
+ if (yych >= 'w') { gotoCase = 121; continue; };
+ }
+ }
+ }
+case 125:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 126:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 118; continue; };
+ if (yych <= '\f') { gotoCase = 125; continue; };
+ { gotoCase = 118; continue; };
+ } else {
+ if (yych <= '"') {
+ if (yych <= '!') { gotoCase = 125; continue; };
+ { gotoCase = 133; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 132; continue; };
+ { gotoCase = 125; continue; };
+ }
+ }
+case 127:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 128; continue; };
+ if (yych <= '9') { gotoCase = 129; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 129; continue; };
+ if (yych <= '`') { gotoCase = 128; continue; };
+ if (yych <= 'f') { gotoCase = 129; continue; };
+ }
+case 128:
+ cursor = YYMARKER;
+ if (yyaccept <= 0) {
+ { gotoCase = 118; continue; };
+ } else {
+ { gotoCase = 121; continue; };
+ }
+case 129:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 128; continue; };
+ if (yych >= ':') { gotoCase = 128; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 130; continue; };
+ if (yych <= '`') { gotoCase = 128; continue; };
+ if (yych >= 'g') { gotoCase = 128; continue; };
+ }
+case 130:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 128; continue; };
+ if (yych >= ':') { gotoCase = 128; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 131; continue; };
+ if (yych <= '`') { gotoCase = 128; continue; };
+ if (yych >= 'g') { gotoCase = 128; continue; };
+ }
+case 131:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 128; continue; };
+ if (yych <= '9') { gotoCase = 125; continue; };
+ { gotoCase = 128; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 125; continue; };
+ if (yych <= '`') { gotoCase = 128; continue; };
+ if (yych <= 'f') { gotoCase = 125; continue; };
+ { gotoCase = 128; continue; };
+ }
+case 132:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 125; continue; };
+ if (yych <= '&') { gotoCase = 128; continue; };
+ { gotoCase = 125; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '[') { gotoCase = 128; continue; };
+ { gotoCase = 125; continue; };
+ } else {
+ if (yych == 'b') { gotoCase = 125; continue; };
+ { gotoCase = 128; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych <= 'f') { gotoCase = 125; continue; };
+ { gotoCase = 128; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 125; continue; };
+ if (yych <= 'q') { gotoCase = 128; continue; };
+ { gotoCase = 125; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') { gotoCase = 128; continue; };
+ { gotoCase = 125; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 127; continue; };
+ if (yych <= 'v') { gotoCase = 125; continue; };
+ { gotoCase = 128; continue; };
+ }
+ }
+ }
+case 133:
+ ++cursor;
+ yych = this._charAt(cursor);
+ { gotoCase = 123; continue; };
+/* *********************************** */
+case this.case_NODIV:
+ yych = this._charAt(cursor);
+ if (yych <= '9') {
+ if (yych <= '(') {
+ if (yych <= '#') {
+ if (yych <= ' ') { gotoCase = 136; continue; };
+ if (yych <= '!') { gotoCase = 138; continue; };
+ if (yych <= '"') { gotoCase = 140; continue; };
+ } else {
+ if (yych <= '%') {
+ if (yych <= '$') { gotoCase = 141; continue; };
+ { gotoCase = 143; continue; };
+ } else {
+ if (yych <= '&') { gotoCase = 144; continue; };
+ if (yych <= '\'') { gotoCase = 145; continue; };
+ { gotoCase = 146; continue; };
+ }
+ }
+ } else {
+ if (yych <= ',') {
+ if (yych <= ')') { gotoCase = 147; continue; };
+ if (yych <= '*') { gotoCase = 149; continue; };
+ if (yych <= '+') { gotoCase = 150; continue; };
+ { gotoCase = 146; continue; };
+ } else {
+ if (yych <= '.') {
+ if (yych <= '-') { gotoCase = 151; continue; };
+ { gotoCase = 152; continue; };
+ } else {
+ if (yych <= '/') { gotoCase = 153; continue; };
+ if (yych <= '0') { gotoCase = 154; continue; };
+ { gotoCase = 156; continue; };
+ }
+ }
+ }
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '>') {
+ if (yych <= ';') { gotoCase = 146; continue; };
+ if (yych <= '<') { gotoCase = 157; continue; };
+ if (yych <= '=') { gotoCase = 158; continue; };
+ { gotoCase = 159; continue; };
+ } else {
+ if (yych <= '@') {
+ if (yych <= '?') { gotoCase = 146; continue; };
+ } else {
+ if (yych <= 'Z') { gotoCase = 141; continue; };
+ if (yych <= '[') { gotoCase = 146; continue; };
+ { gotoCase = 160; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'z') {
+ if (yych <= '^') {
+ if (yych <= ']') { gotoCase = 146; continue; };
+ { gotoCase = 161; continue; };
+ } else {
+ if (yych != '`') { gotoCase = 141; continue; };
+ }
+ } else {
+ if (yych <= '|') {
+ if (yych <= '{') { gotoCase = 146; continue; };
+ { gotoCase = 162; continue; };
+ } else {
+ if (yych <= '~') { gotoCase = 146; continue; };
+ if (yych >= 0x80) { gotoCase = 141; continue; };
+ }
+ }
+ }
+ }
+case 136:
+ ++cursor;
+case 137:
+ { this.tokenType = null; return cursor; }
+case 138:
+ ++cursor;
+ if ((yych = this._charAt(cursor)) == '=') { gotoCase = 260; continue; };
+case 139:
+ { this.tokenType = null; return cursor; }
+case 140:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '\n') { gotoCase = 137; continue; };
+ if (yych == '\r') { gotoCase = 137; continue; };
+ { gotoCase = 252; continue; };
+case 141:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 170; continue; };
+case 142:
+ this.setLexCondition(this._lexConditions.DIV);
+ {
+ var token = this._line.substring(cursorOnEnter, cursor);
+ if (token in this._keywords)
+ this.tokenType = "js-keyword";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+case 143:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 144:
+ yych = this._charAt(++cursor);
+ if (yych == '&') { gotoCase = 163; continue; };
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 145:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == '\n') { gotoCase = 137; continue; };
+ if (yych == '\r') { gotoCase = 137; continue; };
+ { gotoCase = 241; continue; };
+case 146:
+ yych = this._charAt(++cursor);
+ { gotoCase = 139; continue; };
+case 147:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.DIV);
+ { this.tokenType = null; return cursor; }
+case 149:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 150:
+ yych = this._charAt(++cursor);
+ if (yych == '+') { gotoCase = 163; continue; };
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 151:
+ yych = this._charAt(++cursor);
+ if (yych == '-') { gotoCase = 163; continue; };
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 152:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 139; continue; };
+ if (yych <= '9') { gotoCase = 234; continue; };
+ { gotoCase = 139; continue; };
+case 153:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 137; continue; };
+ { gotoCase = 197; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 137; continue; };
+ if (yych <= ')') { gotoCase = 197; continue; };
+ { gotoCase = 202; continue; };
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych == '/') { gotoCase = 204; continue; };
+ { gotoCase = 197; continue; };
+ } else {
+ if (yych <= '[') { gotoCase = 200; continue; };
+ if (yych <= '\\') { gotoCase = 199; continue; };
+ if (yych <= ']') { gotoCase = 137; continue; };
+ { gotoCase = 197; continue; };
+ }
+ }
+case 154:
+ yyaccept = 2;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= 'E') {
+ if (yych <= '/') {
+ if (yych == '.') { gotoCase = 183; continue; };
+ } else {
+ if (yych <= '7') { gotoCase = 192; continue; };
+ if (yych >= 'E') { gotoCase = 182; continue; };
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych == 'X') { gotoCase = 194; continue; };
+ } else {
+ if (yych <= 'e') { gotoCase = 182; continue; };
+ if (yych == 'x') { gotoCase = 194; continue; };
+ }
+ }
+case 155:
+ this.setLexCondition(this._lexConditions.DIV);
+ { this.tokenType = "js-number"; return cursor; }
+case 156:
+ yyaccept = 2;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= '9') {
+ if (yych == '.') { gotoCase = 183; continue; };
+ if (yych <= '/') { gotoCase = 155; continue; };
+ { gotoCase = 180; continue; };
+ } else {
+ if (yych <= 'E') {
+ if (yych <= 'D') { gotoCase = 155; continue; };
+ { gotoCase = 182; continue; };
+ } else {
+ if (yych == 'e') { gotoCase = 182; continue; };
+ { gotoCase = 155; continue; };
+ }
+ }
+case 157:
+ yych = this._charAt(++cursor);
+ if (yych <= ';') { gotoCase = 139; continue; };
+ if (yych <= '<') { gotoCase = 179; continue; };
+ if (yych <= '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 158:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 178; continue; };
+ { gotoCase = 139; continue; };
+case 159:
+ yych = this._charAt(++cursor);
+ if (yych <= '<') { gotoCase = 139; continue; };
+ if (yych <= '=') { gotoCase = 163; continue; };
+ if (yych <= '>') { gotoCase = 176; continue; };
+ { gotoCase = 139; continue; };
+case 160:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych == 'u') { gotoCase = 164; continue; };
+ { gotoCase = 137; continue; };
+case 161:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 162:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 163; continue; };
+ if (yych != '|') { gotoCase = 139; continue; };
+case 163:
+ yych = this._charAt(++cursor);
+ { gotoCase = 139; continue; };
+case 164:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 166; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 166; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych <= 'f') { gotoCase = 166; continue; };
+ }
+case 165:
+ cursor = YYMARKER;
+ if (yyaccept <= 1) {
+ if (yyaccept <= 0) {
+ { gotoCase = 137; continue; };
+ } else {
+ { gotoCase = 142; continue; };
+ }
+ } else {
+ if (yyaccept <= 2) {
+ { gotoCase = 155; continue; };
+ } else {
+ { gotoCase = 217; continue; };
+ }
+ }
+case 166:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 167; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 167:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 168; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 168:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 169; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 169:
+ yyaccept = 1;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 170:
+ if (yych <= '[') {
+ if (yych <= '/') {
+ if (yych == '$') { gotoCase = 169; continue; };
+ { gotoCase = 142; continue; };
+ } else {
+ if (yych <= '9') { gotoCase = 169; continue; };
+ if (yych <= '@') { gotoCase = 142; continue; };
+ if (yych <= 'Z') { gotoCase = 169; continue; };
+ { gotoCase = 142; continue; };
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= '\\') { gotoCase = 171; continue; };
+ if (yych <= '^') { gotoCase = 142; continue; };
+ { gotoCase = 169; continue; };
+ } else {
+ if (yych <= '`') { gotoCase = 142; continue; };
+ if (yych <= 'z') { gotoCase = 169; continue; };
+ if (yych <= 0x7F) { gotoCase = 142; continue; };
+ { gotoCase = 169; continue; };
+ }
+ }
+case 171:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych != 'u') { gotoCase = 165; continue; };
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 173; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 173:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 174; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 174:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 175; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 175:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 169; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 169; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych <= 'f') { gotoCase = 169; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 176:
+ yych = this._charAt(++cursor);
+ if (yych <= '<') { gotoCase = 139; continue; };
+ if (yych <= '=') { gotoCase = 163; continue; };
+ if (yych >= '?') { gotoCase = 139; continue; };
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 178:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 179:
+ yych = this._charAt(++cursor);
+ if (yych == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+case 180:
+ yyaccept = 2;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '9') {
+ if (yych == '.') { gotoCase = 183; continue; };
+ if (yych <= '/') { gotoCase = 155; continue; };
+ { gotoCase = 180; continue; };
+ } else {
+ if (yych <= 'E') {
+ if (yych <= 'D') { gotoCase = 155; continue; };
+ } else {
+ if (yych != 'e') { gotoCase = 155; continue; };
+ }
+ }
+case 182:
+ yych = this._charAt(++cursor);
+ if (yych <= ',') {
+ if (yych == '+') { gotoCase = 189; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= '-') { gotoCase = 189; continue; };
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 190; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 183:
+ yyaccept = 2;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'D') {
+ if (yych <= '/') { gotoCase = 155; continue; };
+ if (yych <= '9') { gotoCase = 183; continue; };
+ { gotoCase = 155; continue; };
+ } else {
+ if (yych <= 'E') { gotoCase = 185; continue; };
+ if (yych != 'e') { gotoCase = 155; continue; };
+ }
+case 185:
+ yych = this._charAt(++cursor);
+ if (yych <= ',') {
+ if (yych != '+') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= '-') { gotoCase = 186; continue; };
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 187; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 186:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+case 187:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 155; continue; };
+ if (yych <= '9') { gotoCase = 187; continue; };
+ { gotoCase = 155; continue; };
+case 189:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+case 190:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 155; continue; };
+ if (yych <= '9') { gotoCase = 190; continue; };
+ { gotoCase = 155; continue; };
+case 192:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 155; continue; };
+ if (yych <= '7') { gotoCase = 192; continue; };
+ { gotoCase = 155; continue; };
+case 194:
+ yych = this._charAt(++cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 195; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 195:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 155; continue; };
+ if (yych <= '9') { gotoCase = 195; continue; };
+ { gotoCase = 155; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 195; continue; };
+ if (yych <= '`') { gotoCase = 155; continue; };
+ if (yych <= 'f') { gotoCase = 195; continue; };
+ { gotoCase = 155; continue; };
+ }
+case 197:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '.') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 197; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 165; continue; };
+ { gotoCase = 197; continue; };
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych <= '/') { gotoCase = 220; continue; };
+ if (yych <= 'Z') { gotoCase = 197; continue; };
+ { gotoCase = 228; continue; };
+ } else {
+ if (yych <= '\\') { gotoCase = 227; continue; };
+ if (yych <= ']') { gotoCase = 165; continue; };
+ { gotoCase = 197; continue; };
+ }
+ }
+case 199:
+ yych = this._charAt(++cursor);
+ if (yych == '\n') { gotoCase = 165; continue; };
+ if (yych == '\r') { gotoCase = 165; continue; };
+ { gotoCase = 197; continue; };
+case 200:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ { gotoCase = 200; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 165; continue; };
+ if (yych <= ')') { gotoCase = 200; continue; };
+ { gotoCase = 165; continue; };
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych == '/') { gotoCase = 165; continue; };
+ { gotoCase = 200; continue; };
+ } else {
+ if (yych <= '\\') { gotoCase = 215; continue; };
+ if (yych <= ']') { gotoCase = 213; continue; };
+ { gotoCase = 200; continue; };
+ }
+ }
+case 202:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 209; continue; };
+ { gotoCase = 202; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 209; continue; };
+ if (yych == '*') { gotoCase = 207; continue; };
+ { gotoCase = 202; continue; };
+ }
+case 204:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 206; continue; };
+ if (yych != '\r') { gotoCase = 204; continue; };
+case 206:
+ { this.tokenType = "js-comment"; return cursor; }
+case 207:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '*') { gotoCase = 207; continue; };
+ if (yych == '/') { gotoCase = 211; continue; };
+ { gotoCase = 202; continue; };
+case 209:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.COMMENT);
+ { this.tokenType = "js-comment"; return cursor; }
+case 211:
+ ++cursor;
+ { this.tokenType = "js-comment"; return cursor; }
+case 213:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ { gotoCase = 213; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 165; continue; };
+ if (yych <= ')') { gotoCase = 213; continue; };
+ { gotoCase = 197; continue; };
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych == '/') { gotoCase = 220; continue; };
+ { gotoCase = 213; continue; };
+ } else {
+ if (yych <= '[') { gotoCase = 218; continue; };
+ if (yych <= '\\') { gotoCase = 216; continue; };
+ { gotoCase = 213; continue; };
+ }
+ }
+case 215:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 165; continue; };
+ if (yych == '\r') { gotoCase = 165; continue; };
+ { gotoCase = 200; continue; };
+case 216:
+ yyaccept = 3;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 217; continue; };
+ if (yych != '\r') { gotoCase = 213; continue; };
+case 217:
+ this.setLexCondition(this._lexConditions.REGEX);
+ { this.tokenType = "js-regex"; return cursor; }
+case 218:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ { gotoCase = 218; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 165; continue; };
+ if (yych <= ')') { gotoCase = 218; continue; };
+ { gotoCase = 165; continue; };
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych == '/') { gotoCase = 165; continue; };
+ { gotoCase = 218; continue; };
+ } else {
+ if (yych <= '\\') { gotoCase = 225; continue; };
+ if (yych <= ']') { gotoCase = 223; continue; };
+ { gotoCase = 218; continue; };
+ }
+ }
+case 220:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'h') {
+ if (yych == 'g') { gotoCase = 220; continue; };
+ } else {
+ if (yych <= 'i') { gotoCase = 220; continue; };
+ if (yych == 'm') { gotoCase = 220; continue; };
+ }
+ { this.tokenType = "js-regex"; return cursor; }
+case 223:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ { gotoCase = 223; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 165; continue; };
+ if (yych <= ')') { gotoCase = 223; continue; };
+ { gotoCase = 197; continue; };
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych == '/') { gotoCase = 220; continue; };
+ { gotoCase = 223; continue; };
+ } else {
+ if (yych <= '[') { gotoCase = 218; continue; };
+ if (yych <= '\\') { gotoCase = 226; continue; };
+ { gotoCase = 223; continue; };
+ }
+ }
+case 225:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 165; continue; };
+ if (yych == '\r') { gotoCase = 165; continue; };
+ { gotoCase = 218; continue; };
+case 226:
+ yyaccept = 3;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 217; continue; };
+ if (yych == '\r') { gotoCase = 217; continue; };
+ { gotoCase = 223; continue; };
+case 227:
+ yyaccept = 3;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 217; continue; };
+ if (yych == '\r') { gotoCase = 217; continue; };
+ { gotoCase = 197; continue; };
+case 228:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ { gotoCase = 228; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 165; continue; };
+ if (yych <= ')') { gotoCase = 228; continue; };
+ { gotoCase = 165; continue; };
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych == '/') { gotoCase = 165; continue; };
+ { gotoCase = 228; continue; };
+ } else {
+ if (yych <= '\\') { gotoCase = 232; continue; };
+ if (yych >= '^') { gotoCase = 228; continue; };
+ }
+ }
+case 230:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ { gotoCase = 230; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 165; continue; };
+ if (yych <= ')') { gotoCase = 230; continue; };
+ { gotoCase = 197; continue; };
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych == '/') { gotoCase = 220; continue; };
+ { gotoCase = 230; continue; };
+ } else {
+ if (yych <= '[') { gotoCase = 228; continue; };
+ if (yych <= '\\') { gotoCase = 233; continue; };
+ { gotoCase = 230; continue; };
+ }
+ }
+case 232:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 165; continue; };
+ if (yych == '\r') { gotoCase = 165; continue; };
+ { gotoCase = 228; continue; };
+case 233:
+ yyaccept = 3;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 217; continue; };
+ if (yych == '\r') { gotoCase = 217; continue; };
+ { gotoCase = 230; continue; };
+case 234:
+ yyaccept = 2;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'D') {
+ if (yych <= '/') { gotoCase = 155; continue; };
+ if (yych <= '9') { gotoCase = 234; continue; };
+ { gotoCase = 155; continue; };
+ } else {
+ if (yych <= 'E') { gotoCase = 236; continue; };
+ if (yych != 'e') { gotoCase = 155; continue; };
+ }
+case 236:
+ yych = this._charAt(++cursor);
+ if (yych <= ',') {
+ if (yych != '+') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= '-') { gotoCase = 237; continue; };
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 238; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 237:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+case 238:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '/') { gotoCase = 155; continue; };
+ if (yych <= '9') { gotoCase = 238; continue; };
+ { gotoCase = 155; continue; };
+case 240:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 241:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ if (yych <= '\f') { gotoCase = 240; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&') { gotoCase = 240; continue; };
+ { gotoCase = 243; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 240; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'a') {
+ if (yych <= '!') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 165; continue; };
+ { gotoCase = 246; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 246; continue; };
+ { gotoCase = 165; continue; };
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 240; continue; };
+ if (yych <= '&') { gotoCase = 165; continue; };
+ { gotoCase = 240; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 240; continue; };
+ { gotoCase = 165; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'f') {
+ if (yych <= 'b') { gotoCase = 240; continue; };
+ if (yych <= 'e') { gotoCase = 165; continue; };
+ { gotoCase = 240; continue; };
+ } else {
+ if (yych == 'n') { gotoCase = 240; continue; };
+ { gotoCase = 165; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych == 's') { gotoCase = 165; continue; };
+ { gotoCase = 240; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 245; continue; };
+ if (yych <= 'v') { gotoCase = 240; continue; };
+ { gotoCase = 165; continue; };
+ }
+ }
+ }
+case 243:
+ ++cursor;
+ { this.tokenType = "js-string"; return cursor; }
+case 245:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 248; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 248; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych <= 'f') { gotoCase = 248; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 246:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.SSTRING);
+ { this.tokenType = "js-string"; return cursor; }
+case 248:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 249; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 249:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 250; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 250:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 240; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 240; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych <= 'f') { gotoCase = 240; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 251:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 252:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 165; continue; };
+ if (yych <= '\f') { gotoCase = 251; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= '"') {
+ if (yych <= '!') { gotoCase = 251; continue; };
+ { gotoCase = 243; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 251; continue; };
+ }
+ }
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'a') {
+ if (yych <= '!') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 165; continue; };
+ { gotoCase = 255; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 255; continue; };
+ { gotoCase = 165; continue; };
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 251; continue; };
+ if (yych <= '&') { gotoCase = 165; continue; };
+ { gotoCase = 251; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 251; continue; };
+ { gotoCase = 165; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'f') {
+ if (yych <= 'b') { gotoCase = 251; continue; };
+ if (yych <= 'e') { gotoCase = 165; continue; };
+ { gotoCase = 251; continue; };
+ } else {
+ if (yych == 'n') { gotoCase = 251; continue; };
+ { gotoCase = 165; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych == 's') { gotoCase = 165; continue; };
+ { gotoCase = 251; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 254; continue; };
+ if (yych <= 'v') { gotoCase = 251; continue; };
+ { gotoCase = 165; continue; };
+ }
+ }
+ }
+case 254:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 257; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 257; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych <= 'f') { gotoCase = 257; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 255:
+ ++cursor;
+ this.setLexCondition(this._lexConditions.DSTRING);
+ { this.tokenType = "js-string"; return cursor; }
+case 257:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 258; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 258:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych >= ':') { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 259; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych >= 'g') { gotoCase = 165; continue; };
+ }
+case 259:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 165; continue; };
+ if (yych <= '9') { gotoCase = 251; continue; };
+ { gotoCase = 165; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 251; continue; };
+ if (yych <= '`') { gotoCase = 165; continue; };
+ if (yych <= 'f') { gotoCase = 251; continue; };
+ { gotoCase = 165; continue; };
+ }
+case 260:
+ ++cursor;
+ if ((yych = this._charAt(cursor)) == '=') { gotoCase = 163; continue; };
+ { gotoCase = 139; continue; };
+/* *********************************** */
+case this.case_REGEX:
+ yych = this._charAt(cursor);
+ if (yych <= '.') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 264; continue; };
+ { gotoCase = 265; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 265; continue; };
+ { gotoCase = 264; continue; };
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych <= '/') { gotoCase = 267; continue; };
+ if (yych <= 'Z') { gotoCase = 264; continue; };
+ { gotoCase = 269; continue; };
+ } else {
+ if (yych <= '\\') { gotoCase = 270; continue; };
+ if (yych <= ']') { gotoCase = 265; continue; };
+ { gotoCase = 264; continue; };
+ }
+ }
+case 263:
+ { this.tokenType = "js-regex"; return cursor; }
+case 264:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 272; continue; };
+case 265:
+ ++cursor;
+case 266:
+ { this.tokenType = null; return cursor; }
+case 267:
+ ++cursor;
+ yych = this._charAt(cursor);
+ { gotoCase = 278; continue; };
+case 268:
+ this.setLexCondition(this._lexConditions.NODIV);
+ { this.tokenType = "js-regex"; return cursor; }
+case 269:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 266; continue; };
+ if (yych <= '\f') { gotoCase = 276; continue; };
+ { gotoCase = 266; continue; };
+ } else {
+ if (yych <= '*') {
+ if (yych <= ')') { gotoCase = 276; continue; };
+ { gotoCase = 266; continue; };
+ } else {
+ if (yych == '/') { gotoCase = 266; continue; };
+ { gotoCase = 276; continue; };
+ }
+ }
+case 270:
+ yych = this._charAt(++cursor);
+ if (yych == '\n') { gotoCase = 266; continue; };
+ if (yych == '\r') { gotoCase = 266; continue; };
+case 271:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 272:
+ if (yych <= '.') {
+ if (yych <= '\n') {
+ if (yych <= '\t') { gotoCase = 271; continue; };
+ { gotoCase = 263; continue; };
+ } else {
+ if (yych == '\r') { gotoCase = 263; continue; };
+ { gotoCase = 271; continue; };
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych <= '/') { gotoCase = 277; continue; };
+ if (yych <= 'Z') { gotoCase = 271; continue; };
+ { gotoCase = 275; continue; };
+ } else {
+ if (yych <= '\\') { gotoCase = 273; continue; };
+ if (yych <= ']') { gotoCase = 263; continue; };
+ { gotoCase = 271; continue; };
+ }
+ }
+case 273:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 274; continue; };
+ if (yych != '\r') { gotoCase = 271; continue; };
+case 274:
+ cursor = YYMARKER;
+ if (yyaccept <= 0) {
+ { gotoCase = 263; continue; };
+ } else {
+ { gotoCase = 266; continue; };
+ }
+case 275:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 276:
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 274; continue; };
+ { gotoCase = 275; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 274; continue; };
+ if (yych <= ')') { gotoCase = 275; continue; };
+ { gotoCase = 274; continue; };
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych == '/') { gotoCase = 274; continue; };
+ { gotoCase = 275; continue; };
+ } else {
+ if (yych <= '\\') { gotoCase = 281; continue; };
+ if (yych <= ']') { gotoCase = 279; continue; };
+ { gotoCase = 275; continue; };
+ }
+ }
+case 277:
+ ++cursor;
+ yych = this._charAt(cursor);
+case 278:
+ if (yych <= 'h') {
+ if (yych == 'g') { gotoCase = 277; continue; };
+ { gotoCase = 268; continue; };
+ } else {
+ if (yych <= 'i') { gotoCase = 277; continue; };
+ if (yych == 'm') { gotoCase = 277; continue; };
+ { gotoCase = 268; continue; };
+ }
+case 279:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '*') {
+ if (yych <= '\f') {
+ if (yych == '\n') { gotoCase = 263; continue; };
+ { gotoCase = 279; continue; };
+ } else {
+ if (yych <= '\r') { gotoCase = 263; continue; };
+ if (yych <= ')') { gotoCase = 279; continue; };
+ { gotoCase = 271; continue; };
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych == '/') { gotoCase = 277; continue; };
+ { gotoCase = 279; continue; };
+ } else {
+ if (yych <= '[') { gotoCase = 275; continue; };
+ if (yych <= '\\') { gotoCase = 282; continue; };
+ { gotoCase = 279; continue; };
+ }
+ }
+case 281:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 274; continue; };
+ if (yych == '\r') { gotoCase = 274; continue; };
+ { gotoCase = 275; continue; };
+case 282:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych == '\n') { gotoCase = 274; continue; };
+ if (yych == '\r') { gotoCase = 274; continue; };
+ { gotoCase = 279; continue; };
+/* *********************************** */
+case this.case_SSTRING:
+ yych = this._charAt(cursor);
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 287; continue; };
+ if (yych <= '\f') { gotoCase = 286; continue; };
+ { gotoCase = 287; continue; };
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&') { gotoCase = 286; continue; };
+ { gotoCase = 289; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 291; continue; };
+ { gotoCase = 286; continue; };
+ }
+ }
+case 285:
+ { this.tokenType = "js-string"; return cursor; }
+case 286:
+ yyaccept = 0;
+ yych = this._charAt(YYMARKER = ++cursor);
+ { gotoCase = 293; continue; };
+case 287:
+ ++cursor;
+case 288:
+ { this.tokenType = null; return cursor; }
+case 289:
+ ++cursor;
+case 290:
+ this.setLexCondition(this._lexConditions.NODIV);
+ { this.tokenType = "js-string"; return cursor; }
+case 291:
+ yyaccept = 1;
+ yych = this._charAt(YYMARKER = ++cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 292; continue; };
+ if (yych <= '&') { gotoCase = 288; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '[') { gotoCase = 288; continue; };
+ } else {
+ if (yych != 'b') { gotoCase = 288; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych >= 'g') { gotoCase = 288; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 292; continue; };
+ if (yych <= 'q') { gotoCase = 288; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') { gotoCase = 288; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 294; continue; };
+ if (yych >= 'w') { gotoCase = 288; continue; };
+ }
+ }
+ }
+case 292:
+ yyaccept = 0;
+ YYMARKER = ++cursor;
+ yych = this._charAt(cursor);
+case 293:
+ if (yych <= '\r') {
+ if (yych == '\n') { gotoCase = 285; continue; };
+ if (yych <= '\f') { gotoCase = 292; continue; };
+ { gotoCase = 285; continue; };
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&') { gotoCase = 292; continue; };
+ { gotoCase = 300; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 299; continue; };
+ { gotoCase = 292; continue; };
+ }
+ }
+case 294:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 295; continue; };
+ if (yych <= '9') { gotoCase = 296; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 296; continue; };
+ if (yych <= '`') { gotoCase = 295; continue; };
+ if (yych <= 'f') { gotoCase = 296; continue; };
+ }
+case 295:
+ cursor = YYMARKER;
+ if (yyaccept <= 0) {
+ { gotoCase = 285; continue; };
+ } else {
+ { gotoCase = 288; continue; };
+ }
+case 296:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 295; continue; };
+ if (yych >= ':') { gotoCase = 295; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 297; continue; };
+ if (yych <= '`') { gotoCase = 295; continue; };
+ if (yych >= 'g') { gotoCase = 295; continue; };
+ }
+case 297:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 295; continue; };
+ if (yych >= ':') { gotoCase = 295; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 298; continue; };
+ if (yych <= '`') { gotoCase = 295; continue; };
+ if (yych >= 'g') { gotoCase = 295; continue; };
+ }
+case 298:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '@') {
+ if (yych <= '/') { gotoCase = 295; continue; };
+ if (yych <= '9') { gotoCase = 292; continue; };
+ { gotoCase = 295; continue; };
+ } else {
+ if (yych <= 'F') { gotoCase = 292; continue; };
+ if (yych <= '`') { gotoCase = 295; continue; };
+ if (yych <= 'f') { gotoCase = 292; continue; };
+ { gotoCase = 295; continue; };
+ }
+case 299:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= 'e') {
+ if (yych <= '\'') {
+ if (yych == '"') { gotoCase = 292; continue; };
+ if (yych <= '&') { gotoCase = 295; continue; };
+ { gotoCase = 292; continue; };
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '[') { gotoCase = 295; continue; };
+ { gotoCase = 292; continue; };
+ } else {
+ if (yych == 'b') { gotoCase = 292; continue; };
+ { gotoCase = 295; continue; };
+ }
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'm') {
+ if (yych <= 'f') { gotoCase = 292; continue; };
+ { gotoCase = 295; continue; };
+ } else {
+ if (yych <= 'n') { gotoCase = 292; continue; };
+ if (yych <= 'q') { gotoCase = 295; continue; };
+ { gotoCase = 292; continue; };
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') { gotoCase = 295; continue; };
+ { gotoCase = 292; continue; };
+ } else {
+ if (yych <= 'u') { gotoCase = 294; continue; };
+ if (yych <= 'v') { gotoCase = 292; continue; };
+ { gotoCase = 295; continue; };
+ }
+ }
+ }
+case 300:
+ ++cursor;
+ yych = this._charAt(cursor);
+ { gotoCase = 290; continue; };
+ }
+
+ }
+ }
+}
+
+WebInspector.SourceJavaScriptTokenizer.prototype.__proto__ = WebInspector.TextEditorHighlighter.Tokenizer.prototype;
diff --git a/WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js b/WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js
new file mode 100644
index 0000000..d3e1795
--- /dev/null
+++ b/WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Generate js file as follows:
+//
+// re2c -isc WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js \
+// | sed 's|^yy\([^:]*\)*\:|case \1:|' \
+// | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
+// | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
+// | sed 's|[*]cursor|this._charAt(cursor)|' \
+// | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
+// | sed 's|goto case \([^;]*\)|{ gotoCase = \1; continue; }|' \
+// | sed 's|unsigned\ int|var|' \
+// | sed 's|var\ yych|case 1: var yych|'
+
+WebInspector.SourceJavaScriptTokenizer = function()
+{
+ WebInspector.TextEditorHighlighter.Tokenizer.call(this);
+
+ this._keywords = [
+ "null", "true", "false", "break", "case", "catch", "const", "default", "finally", "for",
+ "instanceof", "new", "var", "continue", "function", "return", "void", "delete", "if",
+ "this", "do", "while", "else", "in", "switch", "throw", "try", "typeof", "debugger",
+ "class", "enum", "export", "extends", "import", "super", "get", "set"
+ ].keySet();
+
+ this._lexConditions = {
+ DIV: 0,
+ NODIV: 1,
+ COMMENT: 2,
+ DSTRING: 3,
+ SSTRING: 4,
+ REGEX: 5
+ };
+
+ this.case_DIV = 1000;
+ this.case_NODIV = 1001;
+ this.case_COMMENT = 1002;
+ this.case_DSTRING = 1003;
+ this.case_SSTRING = 1004;
+ this.case_REGEX = 1005;
+
+ this.initialCondition = { lexCondition: this._lexConditions.NODIV }
+}
+
+WebInspector.SourceJavaScriptTokenizer.prototype = {
+ nextToken: function(cursor)
+ {
+ var cursorOnEnter = cursor;
+ var gotoCase = 1;
+ while (1) {
+ switch (gotoCase)
+ // Following comment is replaced with generated state machine.
+ /*!re2c
+ re2c:define:YYCTYPE = "var";
+ re2c:define:YYCURSOR = cursor;
+ re2c:define:YYGETCONDITION = "this.getLexCondition";
+ re2c:define:YYSETCONDITION = "this.setLexCondition";
+ re2c:condprefix = "case this.case_";
+ re2c:condenumprefix = "this._lexConditions.";
+ re2c:yyfill:enable = 0;
+ re2c:labelprefix = "case ";
+ re2c:indent:top = 2;
+ re2c:indent:string = " ";
+
+ LineComment = "//" [^\r\n]*;
+ CommentContent = ([^*\r\n] | ("*"+[^/*]))*;
+ Comment = "/*" CommentContent "*"+ "/";
+ CommentStart = "/*" CommentContent [\r\n];
+ CommentEnd = CommentContent "*"+ "/";
+
+ DecimalDigit = [0-9];
+ NonZeroDigit = [1-9];
+ OctalDigit = [0-7];
+ HexDigit = [0-9a-fA-F];
+ SignedInteger = ("+"|"-")? DecimalDigit+;
+ ExponentPart = ("e" | "E") SignedInteger;
+ DecimalIntegerLiteral = "0" | NonZeroDigit DecimalDigit*;
+ DecimalLiteral = DecimalIntegerLiteral "." DecimalDigit* ExponentPart? | "." DecimalDigit+ ExponentPart? | DecimalIntegerLiteral ExponentPart?;
+ HexIntegerLiteral = "0" ("x"|"X") HexDigit+;
+ OctalIntegerLiteral = "0" OctalDigit+;
+ NumericLiteral = DecimalLiteral | HexIntegerLiteral | OctalIntegerLiteral;
+
+ Punctuation = [\!\%\&\(\*\+\,\-\.\:\;\<\=\>\?\[\]\^\{\|\}\~] | "!=" | "!==" | "%=" | "&&" | "&=" | "*=" | "++" | "+=" | "--" | "-=" | "<<" | "<<=" | "<=" | "==" | "===" | ">=" | ">>" | ">>=" | ">>>" | ">>>=" | "^=" | "|=" | "||";
+ Division = "/" | "/=";
+ RightParen = ")";
+
+ Letter = [a-zA-Z\x80-\xFF];
+ UnicodeEscapeSequence = "\\u" HexDigit HexDigit HexDigit HexDigit;
+
+ IdentifierStart = Letter | "_" | "$" | UnicodeEscapeSequence;
+ IdentifierPart = IdentifierStart | DecimalDigit;
+ Identifier = IdentifierStart IdentifierPart *;
+
+ DoubleStringContent = ([^\r\n\"\\] | UnicodeEscapeSequence | "\\" ['"\\bfnrtv])*;
+ SingleStringContent = ([^\r\n\'\\] | UnicodeEscapeSequence | "\\" ['"\\bfnrtv])*;
+ StringLiteral = "\"" DoubleStringContent "\"" | "'" SingleStringContent "'";
+ DoubleStringStart = "\"" DoubleStringContent "\\" [\r\n];
+ DoubleStringEnd = DoubleStringContent "\"";
+ SingleStringStart = "'" SingleStringContent "\\" [\r\n];
+ SingleStringEnd = SingleStringContent "'";
+
+ BackslashSequence = "\\" [^\r\n];
+ RegexSet = "[" ([^\r\n*\\/] | BackslashSequence)* "]";
+ RegexFirstChar = [^\r\n*\\/\[\]] | BackslashSequence | RegexSet;
+ RegexChar = [^\r\n\\/\[\]] | BackslashSequence | RegexSet;
+ RegexContent = RegexChar*;
+ Regex = "/" RegexFirstChar RegexContent "/" [igm]*;
+ RegexStart = "/" RegexFirstChar RegexContent "\\";
+ RegexEnd = RegexContent "/" [igm]*;
+
+ <DIV,NODIV> LineComment { this.tokenType = "js-comment"; return cursor; }
+ <DIV,NODIV> Comment { this.tokenType = "js-comment"; return cursor; }
+ <DIV,NODIV> CommentStart => COMMENT { this.tokenType = "js-comment"; return cursor; }
+ <COMMENT> CommentContent => COMMENT { this.tokenType = "js-comment"; return cursor; }
+ <COMMENT> CommentEnd => NODIV { this.tokenType = "js-comment"; return cursor; }
+
+ <DIV,NODIV> StringLiteral { this.tokenType = "js-string"; return cursor; }
+ <DIV,NODIV> DoubleStringStart => DSTRING { this.tokenType = "js-string"; return cursor; }
+ <DSTRING> DoubleStringContent => DSTRING { this.tokenType = "js-string"; return cursor; }
+ <DSTRING> DoubleStringEnd => NODIV { this.tokenType = "js-string"; return cursor; }
+ <DIV,NODIV> SingleStringStart => SSTRING { this.tokenType = "js-string"; return cursor; }
+ <SSTRING> SingleStringContent => SSTRING { this.tokenType = "js-string"; return cursor; }
+ <SSTRING> SingleStringEnd => NODIV { this.tokenType = "js-string"; return cursor; }
+
+ <NODIV> Regex { this.tokenType = "js-regex"; return cursor; }
+ <NODIV> RegexStart => REGEX { this.tokenType = "js-regex"; return cursor; }
+ <REGEX> RegexContent => REGEX { this.tokenType = "js-regex"; return cursor; }
+ <REGEX> RegexEnd => NODIV { this.tokenType = "js-regex"; return cursor; }
+
+ <DIV,NODIV> NumericLiteral => DIV { this.tokenType = "js-number"; return cursor; }
+ <DIV,NODIV> Identifier => DIV
+ {
+ var token = this._line.substring(cursorOnEnter, cursor);
+ if (token in this._keywords)
+ this.tokenType = "js-keyword";
+ else
+ this.tokenType = null;
+ return cursor;
+ }
+ <DIV,NODIV> RightParen => DIV { this.tokenType = null; return cursor; }
+ <DIV,NODIV> Punctuation => NODIV { this.tokenType = null; return cursor; }
+ <DIV> Division => NODIV { this.tokenType = null; return cursor; }
+ <*> [^] { this.tokenType = null; return cursor; }
+ */
+ }
+ }
+}
+
+WebInspector.SourceJavaScriptTokenizer.prototype.__proto__ = WebInspector.TextEditorHighlighter.Tokenizer.prototype;
diff --git a/WebCore/inspector/front-end/TextEditorHighlighter.js b/WebCore/inspector/front-end/TextEditorHighlighter.js
index 0b9190d..602fe68 100644
--- a/WebCore/inspector/front-end/TextEditorHighlighter.js
+++ b/WebCore/inspector/front-end/TextEditorHighlighter.js
@@ -32,14 +32,32 @@
WebInspector.TextEditorHighlighter = function(textModel, damageCallback)
{
this._textModel = textModel;
- this._tokenizer = new WebInspector.JavaScriptTokenizer();
+ this._tokenizer = new WebInspector.SourceCSSTokenizer();
this._styles = [];
- this._styles["comment"] = "rgb(0, 116, 0)";
- this._styles["string"] = "rgb(196, 26, 22)";
- this._styles["regex"] = "rgb(196, 26, 22)";
- this._styles["keyword"] = "rgb(170, 13, 145)";
- this._styles["number"] = "rgb(28, 0, 207)";
+
+ this._styles["css-comment"] = "rgb(0, 116, 0)";
+ this._styles["css-params"] = "rgb(7, 144, 154)";
+ this._styles["css-string"] = "rgb(7, 144, 154)";
+ this._styles["css-keyword"] = "rgb(7, 144, 154)";
+ this._styles["css-number"] = "rgb(50, 0, 255)";
+ this._styles["css-property"] = "rgb(200, 0, 0)";
+ this._styles["css-at-rule"] = "rgb(200, 0, 0)";
+ this._styles["css-selector"] = "rgb(0, 0, 0)";
+ this._styles["css-important"] = "rgb(200, 0, 180)";
+
+ /* Keep this in sync with inspector.css and view-source.css */
+ this._styles["html-tag"] = "rgb(136, 18, 128)";
+ this._styles["html-attr-name"] = "rgb(153, 69, 0)";
+ this._styles["html-attr-value"] = "rgb(26, 26, 166)";
+ this._styles["html-comment"] = "rgb(35, 110, 37)";
+ this._styles["html-doctype"] = "rgb(192, 192, 192)";
+
+ this._styles["js-comment"] = "rgb(0, 116, 0)";
+ this._styles["js-string"] = "rgb(196, 26, 22)";
+ this._styles["js-regex"] = "rgb(196, 26, 22)";
+ this._styles["js-keyword"] = "rgb(170, 13, 145)";
+ this._styles["js-number"] = "rgb(28, 0, 207)";
this._damageCallback = damageCallback;
}
@@ -146,7 +164,7 @@ WebInspector.TextEditorHighlighter.prototype = {
this._textModel.setAttribute(i, "highlighter-state", state);
var nextLineState = this._textModel.getAttribute(i + 1, "highlighter-state");
- if (nextLineState && nextLineState.preCondition === state.postCondition) {
+ if (nextLineState && this._tokenizer.hasCondition(nextLineState.preCondition)) {
// Following lines are up to date, no need re-highlight.
this._damageCallback(startLine, i + 1);
return true;
@@ -168,3 +186,44 @@ WebInspector.TextEditorHighlighter.prototype = {
} while (column < line.length)
}
}
+
+WebInspector.TextEditorHighlighter.Tokenizer = function()
+{
+}
+
+WebInspector.TextEditorHighlighter.Tokenizer.prototype = {
+ set line(line) {
+ this._line = line;
+ },
+
+ set condition(condition)
+ {
+ this._lexCondition = condition.lexCondition;
+ this._parseCondition = condition.parseCondition;
+ },
+
+ get condition()
+ {
+ return { lexCondition: this._lexCondition, parseCondition: this._parseCondition };
+ },
+
+ hasCondition: function(condition)
+ {
+ return this._lexCondition === condition.lexCondition && this._parseCondition === condition.parseCondition;
+ },
+
+ getLexCondition: function()
+ {
+ return this._lexCondition;
+ },
+
+ setLexCondition: function(lexCondition)
+ {
+ this._lexCondition = lexCondition;
+ },
+
+ _charAt: function(cursor)
+ {
+ return cursor < this._line.length ? this._line.charAt(cursor) : "\n";
+ }
+}
diff --git a/WebCore/inspector/front-end/WebKit.qrc b/WebCore/inspector/front-end/WebKit.qrc
index 700cdae..d6d9a5d 100644
--- a/WebCore/inspector/front-end/WebKit.qrc
+++ b/WebCore/inspector/front-end/WebKit.qrc
@@ -36,7 +36,6 @@
<file>InspectorBackendStub.js</file>
<file>InspectorFrontendHostStub.js</file>
<file>JavaScriptSourceSyntaxHighlighter.js</file>
- <file>JavaScriptTokenizer.js</file>
<file>KeyboardShortcut.js</file>
<file>MetricsSidebarPane.js</file>
<file>Object.js</file>
@@ -63,8 +62,11 @@
<file>Settings.js</file>
<file>SidebarPane.js</file>
<file>SidebarTreeElement.js</file>
+ <file>SourceCSSTokenizer.js</file>
<file>SourceFrame.js</file>
<file>SourceFrame2.js</file>
+ <file>SourceHTMLTokenizer.js</file>
+ <file>SourceJavaScriptTokenizer.js</file>
<file>SourceSyntaxHighlighter.js</file>
<file>SourceView.js</file>
<file>StatusBarButton.js</file>
diff --git a/WebCore/inspector/front-end/inspector.html b/WebCore/inspector/front-end/inspector.html
index 7788fbd..ce13c0a 100644
--- a/WebCore/inspector/front-end/inspector.html
+++ b/WebCore/inspector/front-end/inspector.html
@@ -100,7 +100,9 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="TextEditorModel.js"></script>
<script type="text/javascript" src="TextEditor.js"></script>
<script type="text/javascript" src="TextEditorHighlighter.js"></script>
- <script type="text/javascript" src="JavaScriptTokenizer.js"></script>
+ <script type="text/javascript" src="SourceCSSTokenizer.js"></script>
+ <script type="text/javascript" src="SourceHTMLTokenizer.js"></script>
+ <script type="text/javascript" src="SourceJavaScriptTokenizer.js"></script>
<script type="text/javascript" src="SourceView.js"></script>
<script type="text/javascript" src="FontView.js"></script>
<script type="text/javascript" src="ImageView.js"></script>
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list