diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java b/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java
index 27f277b3471..340d2f2aa7c 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java
+++ b/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 10/9/15 5:11 PM */
+/* The following code was generated by JFlex 1.4.3 on 11/27/15 4:10 PM */
package org.jetbrains.kotlin.kdoc.lexer;
@@ -7,15 +7,14 @@ import com.intellij.psi.TokenType;
import com.intellij.psi.tree.IElementType;
import com.intellij.util.text.CharArrayUtil;
import java.lang.Character;
-
import org.jetbrains.kotlin.kdoc.parser.KDocKnownTag;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 10/9/15 5:11 PM from the specification file
- * /Users/yole/jetbrains/kotlin/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex
+ * on 11/27/15 4:10 PM from the specification file
+ * /Users/abreslav/work/kotlin/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex
*/
class _KDocLexer implements FlexLexer {
/** initial size of the lookahead buffer */
@@ -47,63 +46,81 @@ class _KDocLexer implements FlexLexer {
"\1\14\1\15\1\10\3\0\1\4\1\7\12\2\6\0\1\11\32\3"+
"\1\5\1\13\1\6\1\0\1\3\1\0\32\3\47\0\4\3\4\0"+
"\1\3\12\0\1\3\4\0\1\3\5\0\27\3\1\0\37\3\1\0"+
- "\u013f\3\31\0\162\3\4\0\14\3\16\0\5\3\11\0\1\3\213\0"+
- "\1\3\13\0\1\3\1\0\3\3\1\0\1\3\1\0\24\3\1\0"+
- "\54\3\1\0\46\3\1\0\5\3\4\0\202\3\10\0\105\3\1\0"+
- "\46\3\2\0\2\3\6\0\20\3\41\0\46\3\2\0\1\3\7\0"+
- "\47\3\110\0\33\3\5\0\3\3\56\0\32\3\5\0\13\3\43\0"+
- "\2\3\1\0\143\3\1\0\1\3\17\0\2\3\7\0\2\3\12\0"+
- "\3\3\2\0\1\3\20\0\1\3\1\0\36\3\35\0\3\3\60\0"+
- "\46\3\13\0\1\3\u0152\0\66\3\3\0\1\3\22\0\1\3\7\0"+
- "\12\3\43\0\10\3\2\0\2\3\2\0\26\3\1\0\7\3\1\0"+
- "\1\3\3\0\4\3\3\0\1\3\36\0\2\3\1\0\3\3\16\0"+
- "\4\3\21\0\6\3\4\0\2\3\2\0\26\3\1\0\7\3\1\0"+
- "\2\3\1\0\2\3\1\0\2\3\37\0\4\3\1\0\1\3\23\0"+
- "\3\3\20\0\11\3\1\0\3\3\1\0\26\3\1\0\7\3\1\0"+
- "\2\3\1\0\5\3\3\0\1\3\22\0\1\3\17\0\2\3\17\0"+
- "\1\3\23\0\10\3\2\0\2\3\2\0\26\3\1\0\7\3\1\0"+
- "\2\3\1\0\5\3\3\0\1\3\36\0\2\3\1\0\3\3\17\0"+
- "\1\3\21\0\1\3\1\0\6\3\3\0\3\3\1\0\4\3\3\0"+
- "\2\3\1\0\1\3\1\0\2\3\3\0\2\3\3\0\3\3\3\0"+
- "\10\3\1\0\3\3\77\0\1\3\13\0\10\3\1\0\3\3\1\0"+
- "\27\3\1\0\12\3\1\0\5\3\46\0\2\3\43\0\10\3\1\0"+
+ "\u01ca\3\4\0\14\3\16\0\5\3\7\0\1\3\1\0\1\3\201\0"+
+ "\5\3\1\0\2\3\2\0\4\3\10\0\1\3\1\0\3\3\1\0"+
+ "\1\3\1\0\24\3\1\0\123\3\1\0\213\3\10\0\236\3\11\0"+
+ "\46\3\2\0\1\3\7\0\47\3\110\0\33\3\5\0\3\3\30\0"+
+ "\1\3\24\0\53\3\43\0\2\3\1\0\143\3\1\0\1\3\17\0"+
+ "\2\3\7\0\2\3\12\0\3\3\2\0\1\3\20\0\1\3\1\0"+
+ "\36\3\35\0\131\3\13\0\1\3\30\0\41\3\11\0\2\3\4\0"+
+ "\1\3\5\0\26\3\4\0\1\3\11\0\1\3\3\0\1\3\27\0"+
+ "\31\3\253\0\66\3\3\0\1\3\22\0\1\3\7\0\12\3\17\0"+
+ "\7\3\1\0\7\3\5\0\10\3\2\0\2\3\2\0\26\3\1\0"+
+ "\7\3\1\0\1\3\3\0\4\3\3\0\1\3\20\0\1\3\15\0"+
+ "\2\3\1\0\3\3\16\0\4\3\7\0\1\3\11\0\6\3\4\0"+
+ "\2\3\2\0\26\3\1\0\7\3\1\0\2\3\1\0\2\3\1\0"+
+ "\2\3\37\0\4\3\1\0\1\3\23\0\3\3\20\0\11\3\1\0"+
+ "\3\3\1\0\26\3\1\0\7\3\1\0\2\3\1\0\5\3\3\0"+
+ "\1\3\22\0\1\3\17\0\2\3\17\0\1\3\23\0\10\3\2\0"+
+ "\2\3\2\0\26\3\1\0\7\3\1\0\2\3\1\0\5\3\3\0"+
+ "\1\3\36\0\2\3\1\0\3\3\17\0\1\3\21\0\1\3\1\0"+
+ "\6\3\3\0\3\3\1\0\4\3\3\0\2\3\1\0\1\3\1\0"+
+ "\2\3\3\0\2\3\3\0\3\3\3\0\14\3\26\0\1\3\50\0"+
+ "\1\3\13\0\10\3\1\0\3\3\1\0\27\3\1\0\12\3\1\0"+
+ "\5\3\3\0\1\3\32\0\2\3\6\0\2\3\43\0\10\3\1\0"+
"\3\3\1\0\27\3\1\0\12\3\1\0\5\3\3\0\1\3\40\0"+
- "\1\3\1\0\2\3\43\0\10\3\1\0\3\3\1\0\27\3\1\0"+
- "\20\3\46\0\2\3\43\0\22\3\3\0\30\3\1\0\11\3\1\0"+
- "\1\3\2\0\7\3\72\0\60\3\1\0\2\3\13\0\10\3\72\0"+
- "\2\3\1\0\1\3\2\0\2\3\1\0\1\3\2\0\1\3\6\0"+
- "\4\3\1\0\7\3\1\0\3\3\1\0\1\3\1\0\1\3\2\0"+
- "\2\3\1\0\4\3\1\0\2\3\11\0\1\3\2\0\5\3\1\0"+
- "\1\3\25\0\2\3\42\0\1\3\77\0\10\3\1\0\42\3\35\0"+
- "\4\3\164\0\42\3\1\0\5\3\1\0\2\3\45\0\6\3\112\0"+
- "\46\3\12\0\51\3\7\0\132\3\5\0\104\3\5\0\122\3\6\0"+
- "\7\3\1\0\77\3\1\0\1\3\1\0\4\3\2\0\7\3\1\0"+
- "\1\3\1\0\4\3\2\0\47\3\1\0\1\3\1\0\4\3\2\0"+
- "\37\3\1\0\1\3\1\0\4\3\2\0\7\3\1\0\1\3\1\0"+
- "\4\3\2\0\7\3\1\0\7\3\1\0\27\3\1\0\37\3\1\0"+
- "\1\3\1\0\4\3\2\0\7\3\1\0\47\3\1\0\23\3\105\0"+
- "\125\3\14\0\u026c\3\2\0\10\3\12\0\32\3\5\0\113\3\3\0"+
- "\3\3\17\0\15\3\1\0\4\3\16\0\22\3\16\0\22\3\16\0"+
- "\15\3\1\0\3\3\17\0\64\3\43\0\1\3\3\0\2\3\103\0"+
- "\130\3\10\0\51\3\127\0\35\3\63\0\36\3\2\0\5\3\u038b\0"+
- "\154\3\224\0\234\3\4\0\132\3\6\0\26\3\2\0\6\3\2\0"+
- "\46\3\2\0\6\3\2\0\10\3\1\0\1\3\1\0\1\3\1\0"+
- "\1\3\1\0\37\3\2\0\65\3\1\0\7\3\1\0\1\3\3\0"+
- "\3\3\1\0\7\3\3\0\4\3\2\0\6\3\4\0\15\3\5\0"+
- "\3\3\1\0\7\3\102\0\2\3\23\0\1\3\34\0\1\3\15\0"+
- "\1\3\40\0\22\3\120\0\1\3\4\0\1\3\2\0\12\3\1\0"+
- "\1\3\3\0\5\3\6\0\1\3\1\0\1\3\1\0\1\3\1\0"+
- "\4\3\1\0\3\3\1\0\7\3\3\0\3\3\5\0\5\3\26\0"+
- "\44\3\u0e81\0\3\3\31\0\11\3\7\0\5\3\2\0\5\3\4\0"+
- "\126\3\6\0\3\3\1\0\137\3\5\0\50\3\4\0\136\3\21\0"+
- "\30\3\70\0\20\3\u0200\0\u19b6\3\112\0\u51a6\3\132\0\u048d\3\u0773\0"+
- "\u2ba4\3\u215c\0\u012e\3\2\0\73\3\225\0\7\3\14\0\5\3\5\0"+
- "\1\3\1\0\12\3\1\0\15\3\1\0\5\3\1\0\1\3\1\0"+
- "\2\3\1\0\2\3\1\0\154\3\41\0\u016b\3\22\0\100\3\2\0"+
- "\66\3\50\0\15\3\66\0\2\3\30\0\3\3\31\0\1\3\6\0"+
- "\5\3\1\0\207\3\7\0\1\3\34\0\32\3\4\0\1\3\1\0"+
- "\32\3\12\0\132\3\3\0\6\3\2\0\6\3\2\0\6\3\2\0"+
- "\3\3\3\0\2\3\3\0\2\3\31\0";
+ "\1\3\1\0\2\3\17\0\2\3\22\0\10\3\1\0\3\3\1\0"+
+ "\51\3\2\0\1\3\20\0\1\3\21\0\2\3\30\0\6\3\5\0"+
+ "\22\3\3\0\30\3\1\0\11\3\1\0\1\3\2\0\7\3\72\0"+
+ "\60\3\1\0\2\3\13\0\10\3\72\0\2\3\1\0\1\3\2\0"+
+ "\2\3\1\0\1\3\2\0\1\3\6\0\4\3\1\0\7\3\1\0"+
+ "\3\3\1\0\1\3\1\0\1\3\2\0\2\3\1\0\4\3\1\0"+
+ "\2\3\11\0\1\3\2\0\5\3\1\0\1\3\25\0\2\3\42\0"+
+ "\1\3\77\0\10\3\1\0\44\3\33\0\5\3\163\0\53\3\24\0"+
+ "\1\3\20\0\6\3\4\0\4\3\3\0\1\3\3\0\2\3\7\0"+
+ "\3\3\4\0\15\3\14\0\1\3\21\0\46\3\12\0\53\3\1\0"+
+ "\1\3\3\0\u0149\3\1\0\4\3\2\0\7\3\1\0\1\3\1\0"+
+ "\4\3\2\0\51\3\1\0\4\3\2\0\41\3\1\0\4\3\2\0"+
+ "\7\3\1\0\1\3\1\0\4\3\2\0\17\3\1\0\71\3\1\0"+
+ "\4\3\2\0\103\3\45\0\20\3\20\0\125\3\14\0\u026c\3\2\0"+
+ "\21\3\1\0\32\3\5\0\113\3\3\0\3\3\17\0\15\3\1\0"+
+ "\4\3\16\0\22\3\16\0\22\3\16\0\15\3\1\0\3\3\17\0"+
+ "\64\3\43\0\1\3\3\0\2\3\103\0\130\3\10\0\51\3\1\0"+
+ "\1\3\5\0\106\3\12\0\35\3\63\0\36\3\2\0\5\3\13\0"+
+ "\54\3\25\0\7\3\70\0\27\3\11\0\65\3\122\0\1\3\135\0"+
+ "\57\3\21\0\7\3\67\0\36\3\15\0\2\3\20\0\46\3\32\0"+
+ "\44\3\51\0\3\3\12\0\44\3\153\0\4\3\1\0\4\3\16\0"+
+ "\300\3\100\0\u0116\3\2\0\6\3\2\0\46\3\2\0\6\3\2\0"+
+ "\10\3\1\0\1\3\1\0\1\3\1\0\1\3\1\0\37\3\2\0"+
+ "\65\3\1\0\7\3\1\0\1\3\3\0\3\3\1\0\7\3\3\0"+
+ "\4\3\2\0\6\3\4\0\15\3\5\0\3\3\1\0\7\3\102\0"+
+ "\2\3\23\0\1\3\34\0\1\3\15\0\1\3\20\0\15\3\3\0"+
+ "\32\3\110\0\1\3\4\0\1\3\2\0\12\3\1\0\1\3\3\0"+
+ "\5\3\6\0\1\3\1\0\1\3\1\0\1\3\1\0\4\3\1\0"+
+ "\13\3\2\0\4\3\5\0\5\3\4\0\1\3\21\0\51\3\u0a77\0"+
+ "\57\3\1\0\57\3\1\0\205\3\6\0\4\3\21\0\46\3\12\0"+
+ "\66\3\11\0\1\3\20\0\27\3\11\0\7\3\1\0\7\3\1\0"+
+ "\7\3\1\0\7\3\1\0\7\3\1\0\7\3\1\0\7\3\1\0"+
+ "\7\3\120\0\1\3\u01d5\0\3\3\31\0\11\3\7\0\5\3\2\0"+
+ "\5\3\4\0\126\3\6\0\3\3\1\0\132\3\1\0\4\3\5\0"+
+ "\51\3\3\0\136\3\21\0\33\3\65\0\20\3\u0200\0\u19b6\3\112\0"+
+ "\u51cc\3\64\0\u048d\3\103\0\56\3\2\0\u010d\3\3\0\20\3\12\0"+
+ "\2\3\24\0\57\3\20\0\31\3\10\0\120\3\47\0\11\3\2\0"+
+ "\147\3\2\0\4\3\1\0\2\3\16\0\12\3\120\0\10\3\1\0"+
+ "\3\3\1\0\4\3\1\0\27\3\25\0\1\3\7\0\64\3\16\0"+
+ "\62\3\76\0\6\3\3\0\1\3\16\0\34\3\12\0\27\3\31\0"+
+ "\35\3\7\0\57\3\34\0\1\3\60\0\51\3\27\0\3\3\1\0"+
+ "\10\3\24\0\27\3\3\0\1\3\5\0\60\3\1\0\1\3\3\0"+
+ "\2\3\2\0\5\3\2\0\1\3\1\0\1\3\30\0\3\3\43\0"+
+ "\6\3\2\0\6\3\2\0\6\3\11\0\7\3\1\0\7\3\221\0"+
+ "\43\3\35\0\u2ba4\3\14\0\27\3\4\0\61\3\u2104\0\u012e\3\2\0"+
+ "\76\3\2\0\152\3\46\0\7\3\14\0\5\3\5\0\1\3\1\0"+
+ "\12\3\1\0\15\3\1\0\5\3\1\0\1\3\1\0\2\3\1\0"+
+ "\2\3\1\0\154\3\41\0\u016b\3\22\0\100\3\2\0\66\3\50\0"+
+ "\15\3\66\0\2\3\30\0\3\3\31\0\1\3\6\0\5\3\1\0"+
+ "\207\3\7\0\1\3\34\0\32\3\4\0\1\3\1\0\32\3\13\0"+
+ "\131\3\3\0\6\3\2\0\6\3\2\0\6\3\2\0\3\3\3\0"+
+ "\2\3\3\0\2\3\31\0";
/**
* Translates characters to character classes
@@ -341,7 +358,7 @@ class _KDocLexer implements FlexLexer {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1212) {
+ while (i < 1568) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex b/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
index 6e7d2a92713..623586cd746 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
+++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
@@ -268,6 +268,7 @@ LONG_TEMPLATE_ENTRY_START=\$\{
\!in{IDENTIFIER_PART} { yypushback(3); return KtTokens.EXCL; }
\!is{IDENTIFIER_PART} { yypushback(3); return KtTokens.EXCL; }
+"..." { return KtTokens.RESERVED ; }
"===" { return KtTokens.EQEQEQ ; }
"!==" { return KtTokens.EXCLEQEQEQ; }
"!in" { return KtTokens.NOT_IN; }
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java
index ddccced03b6..e44f1bba7ce 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java
+++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java
@@ -25,6 +25,8 @@ import org.jetbrains.kotlin.psi.KtPsiUtil;
public interface KtTokens {
KtToken EOF = new KtToken("EOF");
+ KtToken RESERVED = new KtToken("RESERVED");
+
KtToken BLOCK_COMMENT = new KtToken("BLOCK_COMMENT");
KtToken EOL_COMMENT = new KtToken("EOL_COMMENT");
KtToken SHEBANG_COMMENT = new KtToken("SHEBANG_COMMENT");
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java b/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java
index d94ec97c3fe..c2203f9db6e 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java
+++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java
@@ -1,18 +1,21 @@
-/* The following code was generated by JFlex 1.4.3 on 10/9/15 5:11 PM */
+/* The following code was generated by JFlex 1.4.3 on 11/27/15 4:10 PM */
package org.jetbrains.kotlin.lexer;
-import com.intellij.lexer.FlexLexer;
-import com.intellij.psi.TokenType;
+import java.util.*;
+import com.intellij.lexer.*;
+import com.intellij.psi.*;
import com.intellij.psi.tree.IElementType;
import com.intellij.util.containers.Stack;
+import org.jetbrains.kotlin.lexer.KotlinLexerException;
+import org.jetbrains.kotlin.lexer.KtTokens;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 10/9/15 5:11 PM from the specification file
- * /Users/yole/jetbrains/kotlin/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
+ * on 11/27/15 4:10 PM from the specification file
+ * /Users/abreslav/work/kotlin/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
*/
class _JetLexer implements FlexLexer {
/** initial size of the lookahead buffer */
@@ -49,65 +52,84 @@ class _JetLexer implements FlexLexer {
"\1\53\1\47\1\60\1\41\1\46\1\52\1\32\1\33\1\54\1\51"+
"\1\43\1\4\1\44\1\50\1\40\1\4\1\45\1\34\1\31\1\26"+
"\1\57\1\55\1\15\1\37\1\4\1\30\1\67\1\35\54\0\1\4"+
- "\12\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4\1\0\u013f\4"+
- "\31\0\162\4\4\0\14\4\16\0\5\4\11\0\1\4\213\0\1\4"+
- "\13\0\1\4\1\0\3\4\1\0\1\4\1\0\24\4\1\0\54\4"+
- "\1\0\46\4\1\0\5\4\4\0\202\4\10\0\105\4\1\0\46\4"+
- "\2\0\2\4\6\0\20\4\41\0\46\4\2\0\1\4\7\0\47\4"+
- "\110\0\33\4\5\0\3\4\56\0\32\4\5\0\13\4\25\0\12\5"+
- "\4\0\2\4\1\0\143\4\1\0\1\4\17\0\2\4\7\0\2\4"+
- "\12\5\3\4\2\0\1\4\20\0\1\4\1\0\36\4\35\0\3\4"+
- "\60\0\46\4\13\0\1\4\u0152\0\66\4\3\0\1\4\22\0\1\4"+
- "\7\0\12\4\4\0\12\5\25\0\10\4\2\0\2\4\2\0\26\4"+
- "\1\0\7\4\1\0\1\4\3\0\4\4\3\0\1\4\36\0\2\4"+
- "\1\0\3\4\4\0\12\5\2\4\23\0\6\4\4\0\2\4\2\0"+
- "\26\4\1\0\7\4\1\0\2\4\1\0\2\4\1\0\2\4\37\0"+
- "\4\4\1\0\1\4\7\0\12\5\2\0\3\4\20\0\11\4\1\0"+
- "\3\4\1\0\26\4\1\0\7\4\1\0\2\4\1\0\5\4\3\0"+
- "\1\4\22\0\1\4\17\0\2\4\4\0\12\5\25\0\10\4\2\0"+
- "\2\4\2\0\26\4\1\0\7\4\1\0\2\4\1\0\5\4\3\0"+
- "\1\4\36\0\2\4\1\0\3\4\4\0\12\5\1\0\1\4\21\0"+
- "\1\4\1\0\6\4\3\0\3\4\1\0\4\4\3\0\2\4\1\0"+
- "\1\4\1\0\2\4\3\0\2\4\3\0\3\4\3\0\10\4\1\0"+
- "\3\4\55\0\11\5\25\0\10\4\1\0\3\4\1\0\27\4\1\0"+
- "\12\4\1\0\5\4\46\0\2\4\4\0\12\5\25\0\10\4\1\0"+
- "\3\4\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4\40\0"+
- "\1\4\1\0\2\4\4\0\12\5\25\0\10\4\1\0\3\4\1\0"+
- "\27\4\1\0\20\4\46\0\2\4\4\0\12\5\25\0\22\4\3\0"+
- "\30\4\1\0\11\4\1\0\1\4\2\0\7\4\72\0\60\4\1\0"+
- "\2\4\14\0\7\4\11\0\12\5\47\0\2\4\1\0\1\4\2\0"+
- "\2\4\1\0\1\4\2\0\1\4\6\0\4\4\1\0\7\4\1\0"+
- "\3\4\1\0\1\4\1\0\1\4\2\0\2\4\1\0\4\4\1\0"+
- "\2\4\11\0\1\4\2\0\5\4\1\0\1\4\11\0\12\5\2\0"+
- "\2\4\42\0\1\4\37\0\12\5\26\0\10\4\1\0\42\4\35\0"+
- "\4\4\164\0\42\4\1\0\5\4\1\0\2\4\25\0\12\5\6\0"+
- "\6\4\112\0\46\4\12\0\51\4\7\0\132\4\5\0\104\4\5\0"+
- "\122\4\6\0\7\4\1\0\77\4\1\0\1\4\1\0\4\4\2\0"+
- "\7\4\1\0\1\4\1\0\4\4\2\0\47\4\1\0\1\4\1\0"+
- "\4\4\2\0\37\4\1\0\1\4\1\0\4\4\2\0\7\4\1\0"+
- "\1\4\1\0\4\4\2\0\7\4\1\0\7\4\1\0\27\4\1\0"+
- "\37\4\1\0\1\4\1\0\4\4\2\0\7\4\1\0\47\4\1\0"+
- "\23\4\16\0\11\5\56\0\125\4\14\0\u026c\4\2\0\10\4\12\0"+
- "\32\4\5\0\113\4\25\0\15\4\1\0\4\4\16\0\22\4\16\0"+
- "\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0\1\4\4\0"+
- "\1\4\3\0\12\5\46\0\12\5\6\0\130\4\10\0\51\4\127\0"+
- "\35\4\51\0\12\5\36\4\2\0\5\4\u038b\0\154\4\224\0\234\4"+
- "\4\0\132\4\6\0\26\4\2\0\6\4\2\0\46\4\2\0\6\4"+
- "\2\0\10\4\1\0\1\4\1\0\1\4\1\0\1\4\1\0\37\4"+
- "\2\0\65\4\1\0\7\4\1\0\1\4\3\0\3\4\1\0\7\4"+
- "\3\0\4\4\2\0\6\4\4\0\15\4\5\0\3\4\1\0\7\4"+
- "\164\0\1\4\15\0\1\4\202\0\1\4\4\0\1\4\2\0\12\4"+
- "\1\0\1\4\3\0\5\4\6\0\1\4\1\0\1\4\1\0\1\4"+
- "\1\0\4\4\1\0\3\4\1\0\7\4\3\0\3\4\5\0\5\4"+
- "\u0ebb\0\2\4\52\0\5\4\5\0\2\4\4\0\126\4\6\0\3\4"+
- "\1\0\132\4\1\0\4\4\5\0\50\4\4\0\136\4\21\0\30\4"+
- "\70\0\20\4\u0200\0\u19b6\4\112\0\u51a6\4\132\0\u048d\4\u0773\0\u2ba4\4"+
- "\u215c\0\u012e\4\2\0\73\4\225\0\7\4\14\0\5\4\5\0\1\4"+
- "\1\0\12\4\1\0\15\4\1\0\5\4\1\0\1\4\1\0\2\4"+
- "\1\0\2\4\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0\66\4"+
- "\50\0\14\4\164\0\5\4\1\0\207\4\23\0\12\5\7\0\32\4"+
- "\6\0\32\4\13\0\131\4\3\0\6\4\2\0\6\4\2\0\6\4"+
- "\2\0\3\4\43\0";
+ "\12\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4\1\0\u01ca\4"+
+ "\4\0\14\4\16\0\5\4\7\0\1\4\1\0\1\4\201\0\5\4"+
+ "\1\0\2\4\2\0\4\4\10\0\1\4\1\0\3\4\1\0\1\4"+
+ "\1\0\24\4\1\0\123\4\1\0\213\4\10\0\236\4\11\0\46\4"+
+ "\2\0\1\4\7\0\47\4\110\0\33\4\5\0\3\4\55\0\53\4"+
+ "\25\0\12\5\4\0\2\4\1\0\143\4\1\0\1\4\17\0\2\4"+
+ "\7\0\2\4\12\5\3\4\2\0\1\4\20\0\1\4\1\0\36\4"+
+ "\35\0\131\4\13\0\1\4\16\0\12\5\41\4\11\0\2\4\4\0"+
+ "\1\4\5\0\26\4\4\0\1\4\11\0\1\4\3\0\1\4\27\0"+
+ "\31\4\253\0\66\4\3\0\1\4\22\0\1\4\7\0\12\4\4\0"+
+ "\12\5\1\0\7\4\1\0\7\4\5\0\10\4\2\0\2\4\2\0"+
+ "\26\4\1\0\7\4\1\0\1\4\3\0\4\4\3\0\1\4\20\0"+
+ "\1\4\15\0\2\4\1\0\3\4\4\0\12\5\2\4\23\0\6\4"+
+ "\4\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4\1\0\2\4"+
+ "\1\0\2\4\37\0\4\4\1\0\1\4\7\0\12\5\2\0\3\4"+
+ "\20\0\11\4\1\0\3\4\1\0\26\4\1\0\7\4\1\0\2\4"+
+ "\1\0\5\4\3\0\1\4\22\0\1\4\17\0\2\4\4\0\12\5"+
+ "\25\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4"+
+ "\1\0\5\4\3\0\1\4\36\0\2\4\1\0\3\4\4\0\12\5"+
+ "\1\0\1\4\21\0\1\4\1\0\6\4\3\0\3\4\1\0\4\4"+
+ "\3\0\2\4\1\0\1\4\1\0\2\4\3\0\2\4\3\0\3\4"+
+ "\3\0\14\4\26\0\1\4\25\0\12\5\25\0\10\4\1\0\3\4"+
+ "\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4\32\0\2\4"+
+ "\6\0\2\4\4\0\12\5\25\0\10\4\1\0\3\4\1\0\27\4"+
+ "\1\0\12\4\1\0\5\4\3\0\1\4\40\0\1\4\1\0\2\4"+
+ "\4\0\12\5\1\0\2\4\22\0\10\4\1\0\3\4\1\0\51\4"+
+ "\2\0\1\4\20\0\1\4\21\0\2\4\4\0\12\5\12\0\6\4"+
+ "\5\0\22\4\3\0\30\4\1\0\11\4\1\0\1\4\2\0\7\4"+
+ "\72\0\60\4\1\0\2\4\14\0\7\4\11\0\12\5\47\0\2\4"+
+ "\1\0\1\4\2\0\2\4\1\0\1\4\2\0\1\4\6\0\4\4"+
+ "\1\0\7\4\1\0\3\4\1\0\1\4\1\0\1\4\2\0\2\4"+
+ "\1\0\4\4\1\0\2\4\11\0\1\4\2\0\5\4\1\0\1\4"+
+ "\11\0\12\5\2\0\2\4\42\0\1\4\37\0\12\5\26\0\10\4"+
+ "\1\0\44\4\33\0\5\4\163\0\53\4\24\0\1\4\12\5\6\0"+
+ "\6\4\4\0\4\4\3\0\1\4\3\0\2\4\7\0\3\4\4\0"+
+ "\15\4\14\0\1\4\1\0\12\5\6\0\46\4\12\0\53\4\1\0"+
+ "\1\4\3\0\u0149\4\1\0\4\4\2\0\7\4\1\0\1\4\1\0"+
+ "\4\4\2\0\51\4\1\0\4\4\2\0\41\4\1\0\4\4\2\0"+
+ "\7\4\1\0\1\4\1\0\4\4\2\0\17\4\1\0\71\4\1\0"+
+ "\4\4\2\0\103\4\45\0\20\4\20\0\125\4\14\0\u026c\4\2\0"+
+ "\21\4\1\0\32\4\5\0\113\4\25\0\15\4\1\0\4\4\16\0"+
+ "\22\4\16\0\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0"+
+ "\1\4\4\0\1\4\3\0\12\5\46\0\12\5\6\0\130\4\10\0"+
+ "\51\4\1\0\1\4\5\0\106\4\12\0\35\4\51\0\12\5\36\4"+
+ "\2\0\5\4\13\0\54\4\25\0\7\4\10\0\12\5\46\0\27\4"+
+ "\11\0\65\4\53\0\12\5\6\0\12\5\15\0\1\4\135\0\57\4"+
+ "\21\0\7\4\4\0\12\5\51\0\36\4\15\0\2\4\12\5\6\0"+
+ "\46\4\32\0\44\4\34\0\12\5\3\0\3\4\12\5\44\4\153\0"+
+ "\4\4\1\0\4\4\16\0\300\4\100\0\u0116\4\2\0\6\4\2\0"+
+ "\46\4\2\0\6\4\2\0\10\4\1\0\1\4\1\0\1\4\1\0"+
+ "\1\4\1\0\37\4\2\0\65\4\1\0\7\4\1\0\1\4\3\0"+
+ "\3\4\1\0\7\4\3\0\4\4\2\0\6\4\4\0\15\4\5\0"+
+ "\3\4\1\0\7\4\164\0\1\4\15\0\1\4\20\0\15\4\145\0"+
+ "\1\4\4\0\1\4\2\0\12\4\1\0\1\4\3\0\5\4\6\0"+
+ "\1\4\1\0\1\4\1\0\1\4\1\0\4\4\1\0\13\4\2\0"+
+ "\4\4\5\0\5\4\4\0\1\4\64\0\2\4\u0a7b\0\57\4\1\0"+
+ "\57\4\1\0\205\4\6\0\4\4\21\0\46\4\12\0\66\4\11\0"+
+ "\1\4\20\0\27\4\11\0\7\4\1\0\7\4\1\0\7\4\1\0"+
+ "\7\4\1\0\7\4\1\0\7\4\1\0\7\4\1\0\7\4\120\0"+
+ "\1\4\u01d5\0\2\4\52\0\5\4\5\0\2\4\4\0\126\4\6\0"+
+ "\3\4\1\0\132\4\1\0\4\4\5\0\51\4\3\0\136\4\21\0"+
+ "\33\4\65\0\20\4\u0200\0\u19b6\4\112\0\u51cc\4\64\0\u048d\4\103\0"+
+ "\56\4\2\0\u010d\4\3\0\20\4\12\5\2\4\24\0\57\4\20\0"+
+ "\31\4\10\0\106\4\61\0\11\4\2\0\147\4\2\0\4\4\1\0"+
+ "\2\4\16\0\12\4\120\0\10\4\1\0\3\4\1\0\4\4\1\0"+
+ "\27\4\35\0\64\4\16\0\62\4\34\0\12\5\30\0\6\4\3\0"+
+ "\1\4\4\0\12\5\34\4\12\0\27\4\31\0\35\4\7\0\57\4"+
+ "\34\0\1\4\12\5\46\0\51\4\27\0\3\4\1\0\10\4\4\0"+
+ "\12\5\6\0\27\4\3\0\1\4\5\0\60\4\1\0\1\4\3\0"+
+ "\2\4\2\0\5\4\2\0\1\4\1\0\1\4\30\0\3\4\43\0"+
+ "\6\4\2\0\6\4\2\0\6\4\11\0\7\4\1\0\7\4\221\0"+
+ "\43\4\15\0\12\5\6\0\u2ba4\4\14\0\27\4\4\0\61\4\u2104\0"+
+ "\u012e\4\2\0\76\4\2\0\152\4\46\0\7\4\14\0\5\4\5\0"+
+ "\1\4\1\0\12\4\1\0\15\4\1\0\5\4\1\0\1\4\1\0"+
+ "\2\4\1\0\2\4\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0"+
+ "\66\4\50\0\14\4\164\0\5\4\1\0\207\4\23\0\12\5\7\0"+
+ "\32\4\6\0\32\4\13\0\131\4\3\0\6\4\2\0\6\4\2\0"+
+ "\6\4\2\0\3\4\43\0";
/**
* Translates characters to character classes
@@ -133,16 +155,16 @@ class _JetLexer implements FlexLexer {
"\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77"+
"\1\100\1\0\1\101\2\102\2\0\1\40\1\103\1\104"+
"\1\0\1\105\1\44\1\3\1\0\1\106\1\107\1\110"+
- "\1\111\1\0\1\112\4\3\1\113\4\3\1\114\2\3"+
- "\1\115\1\3\1\116\7\3\1\117\1\120\1\121\2\0"+
- "\1\122\2\40\1\45\1\123\1\124\1\125\2\3\1\126"+
- "\3\3\1\127\1\130\7\3\1\131\1\132\1\100\1\0"+
- "\1\133\1\134\2\3\1\135\2\3\1\136\1\137\2\3"+
- "\1\140\1\141\1\0\3\3\1\142\1\3\1\143\2\3"+
- "\1\144\3\3\1\145\1\146\1\147";
+ "\1\111\1\0\1\112\1\113\4\3\1\114\4\3\1\115"+
+ "\2\3\1\116\1\3\1\117\7\3\1\120\1\121\1\122"+
+ "\2\0\1\123\2\40\1\45\1\124\1\125\1\126\2\3"+
+ "\1\127\3\3\1\130\1\131\7\3\1\132\1\133\1\100"+
+ "\1\0\1\134\1\135\2\3\1\136\2\3\1\137\1\140"+
+ "\2\3\1\141\1\142\1\0\3\3\1\143\1\3\1\144"+
+ "\2\3\1\145\3\3\1\146\1\147\1\150";
private static int [] zzUnpackAction() {
- int [] result = new int[232];
+ int [] result = new int[233];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
@@ -177,28 +199,29 @@ class _JetLexer implements FlexLexer {
"\0\u0186\0\u0bef\0\u0c30\0\u0186\0\u0186\0\u0c71\0\u0cb2\0\u0cf3"+
"\0\u0d34\0\u0186\0\u0d75\0\u0db6\0\u0186\0\u0186\0\u0df7\0\u0e38"+
"\0\u0186\0\u0e79\0\u0eba\0\u0efb\0\u0f3c\0\u0f7d\0\u0fbe\0\u0186"+
- "\0\u0fff\0\u1040\0\u1081\0\u10c2\0\u1103\0\u1144\0\u1185\0\u0186"+
- "\0\u0186\0\u0186\0\u0186\0\u0186\0\u11c6\0\u1207\0\u1248\0\u1289"+
- "\0\u12ca\0\u0208\0\u130b\0\u0208\0\u134c\0\u0186\0\u138d\0\u13ce"+
- "\0\u140f\0\u1450\0\u1491\0\u14d2\0\u1513\0\u1554\0\u1595\0\u15d6"+
- "\0\u1617\0\u1658\0\u1699\0\u16da\0\u171b\0\u0208\0\u175c\0\u0186"+
+ "\0\u0fff\0\u1040\0\u1081\0\u10c2\0\u1103\0\u1144\0\u1185\0\u11c6"+
+ "\0\u0186\0\u0186\0\u0186\0\u0186\0\u1207\0\u1248\0\u1289\0\u12ca"+
+ "\0\u130b\0\u0208\0\u134c\0\u0208\0\u138d\0\u0186\0\u13ce\0\u140f"+
+ "\0\u1450\0\u1491\0\u14d2\0\u1513\0\u1554\0\u1595\0\u15d6\0\u1617"+
+ "\0\u1658\0\u1699\0\u16da\0\u171b\0\u175c\0\u0208\0\u179d\0\u0186"+
"\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186"+
- "\0\u0186\0\u179d\0\u17de\0\u0186\0\u0186\0\u181f\0\u1860\0\u18a1"+
- "\0\u18e2\0\u0186\0\u0186\0\u1923\0\u0186\0\u1964\0\u0186\0\u19a5"+
- "\0\u19e6\0\u1a27\0\u1a27\0\u0186\0\u1a68\0\u0186\0\u1aa9\0\u1aea"+
- "\0\u1b2b\0\u1b6c\0\u0208\0\u1bad\0\u1bee\0\u1c2f\0\u1c70\0\u0186"+
- "\0\u1cb1\0\u1cf2\0\u0208\0\u1d33\0\u0208\0\u1d74\0\u1db5\0\u1df6"+
- "\0\u1e37\0\u1e78\0\u1eb9\0\u1efa\0\u0208\0\u0208\0\u0186\0\u1f3b"+
- "\0\u1f7c\0\u1860\0\u0186\0\u1fbd\0\u0186\0\u0186\0\u0186\0\u0208"+
- "\0\u1ffe\0\u203f\0\u0208\0\u2080\0\u20c1\0\u2102\0\u0208\0\u0208"+
- "\0\u2143\0\u2184\0\u21c5\0\u2206\0\u2247\0\u2288\0\u22c9\0\u0208"+
- "\0\u0208\0\u0186\0\u230a\0\u0cb2\0\u0208\0\u234b\0\u238c\0\u0208"+
- "\0\u23cd\0\u240e\0\u0208\0\u0208\0\u244f\0\u2490\0\u0208\0\u0208"+
- "\0\u24d1\0\u2512\0\u2553\0\u2594\0\u0208\0\u25d5\0\u0208\0\u2616"+
- "\0\u2657\0\u0208\0\u2698\0\u26d9\0\u271a\0\u0208\0\u0208\0\u0208";
+ "\0\u0186\0\u17de\0\u181f\0\u0186\0\u0186\0\u1860\0\u18a1\0\u18e2"+
+ "\0\u1923\0\u0186\0\u0186\0\u1964\0\u0186\0\u19a5\0\u0186\0\u19e6"+
+ "\0\u1a27\0\u1a68\0\u1a68\0\u0186\0\u1aa9\0\u0186\0\u0186\0\u1aea"+
+ "\0\u1b2b\0\u1b6c\0\u1bad\0\u0208\0\u1bee\0\u1c2f\0\u1c70\0\u1cb1"+
+ "\0\u0186\0\u1cf2\0\u1d33\0\u0208\0\u1d74\0\u0208\0\u1db5\0\u1df6"+
+ "\0\u1e37\0\u1e78\0\u1eb9\0\u1efa\0\u1f3b\0\u0208\0\u0208\0\u0186"+
+ "\0\u1f7c\0\u1fbd\0\u18a1\0\u0186\0\u1ffe\0\u0186\0\u0186\0\u0186"+
+ "\0\u0208\0\u203f\0\u2080\0\u0208\0\u20c1\0\u2102\0\u2143\0\u0208"+
+ "\0\u0208\0\u2184\0\u21c5\0\u2206\0\u2247\0\u2288\0\u22c9\0\u230a"+
+ "\0\u0208\0\u0208\0\u0186\0\u234b\0\u0cb2\0\u0208\0\u238c\0\u23cd"+
+ "\0\u0208\0\u240e\0\u244f\0\u0208\0\u0208\0\u2490\0\u24d1\0\u0208"+
+ "\0\u0208\0\u2512\0\u2553\0\u2594\0\u25d5\0\u0208\0\u2616\0\u0208"+
+ "\0\u2657\0\u2698\0\u0208\0\u26d9\0\u271a\0\u275b\0\u0208\0\u0208"+
+ "\0\u0208";
private static int [] zzUnpackRowMap() {
- int [] result = new int[232];
+ int [] result = new int[233];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
@@ -312,159 +335,160 @@ class _JetLexer implements FlexLexer {
"\2\125\3\0\1\125\4\0\1\125\21\0\1\126\12\0"+
"\1\126\2\0\1\107\1\214\22\0\1\107\36\0\1\127"+
"\12\0\1\127\4\0\1\111\1\112\16\0\1\112\4\0"+
- "\1\111\32\0\7\23\1\0\71\23\27\0\1\226\52\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\2\11\1\227\1\11\2\0\6\11\1\230"+
- "\13\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\1\11\1\231"+
- "\20\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\232\2\0\4\11\2\0\1\233\21\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\1\234\3\11\2\0\22\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\1\11\1\235\20\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\10\11\1\236\11\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\3\11\1\237\2\0\22\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\22\11\1\0\1\240\17\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\4\11\1\241\15\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\1\242\3\11\2\0\22\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\5\11\1\243\14\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\4\11\1\244\15\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\6\11\1\245\13\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\3\11\1\246\16\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\5\11\1\247\14\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\15\11\1\250\4\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\2\11\1\251\17\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\2\11\1\252\1\11\2\0\2\11\1\253\17\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\2\11\1\254\1\11\2\0\22\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\4\11\1\255\1\11\1\256"+
- "\13\11\101\0\1\257\20\0\2\202\1\0\2\202\6\0"+
- "\4\202\1\0\2\202\3\0\1\202\2\0\4\202\2\0"+
- "\22\202\20\0\6\260\2\0\71\260\1\0\2\261\11\0"+
- "\1\261\1\0\1\261\2\0\2\261\16\0\2\261\3\0"+
- "\2\261\3\0\1\261\4\0\1\261\47\0\1\262\51\0"+
- "\6\210\1\263\1\0\71\210\1\0\2\77\1\0\2\77"+
- "\6\0\4\77\1\0\2\77\3\0\1\77\2\0\2\77"+
- "\1\264\1\77\2\0\22\77\40\0\1\215\61\0\1\216"+
- "\12\0\1\216\4\0\1\111\24\0\1\111\32\0\6\220"+
- "\1\265\1\0\71\220\11\0\1\266\70\0\2\267\1\0"+
- "\2\267\6\0\4\267\1\0\2\267\3\0\1\267\2\0"+
- "\4\267\2\0\22\267\21\0\1\127\12\0\1\127\65\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\3\11\1\270\2\0\22\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\11\11\1\271\10\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\2\11\1\272\17\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\2\11\1\273\17\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\2\11\1\274\17\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\2\11\1\275\17\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\12\11\1\276\7\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\2\11\1\277\17\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\4\11\1\300\15\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\301"+
- "\2\0\4\11\2\0\22\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\3\11"+
- "\1\302\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\3\11\1\303"+
- "\2\0\22\11\21\0\2\11\1\0\2\11\6\0\4\11"+
- "\1\0\2\11\3\0\1\11\2\0\1\304\3\11\2\0"+
+ "\1\111\52\0\1\226\60\0\7\23\1\0\71\23\27\0"+
+ "\1\227\52\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\2\11\1\230\1\11\2\0"+
+ "\6\11\1\231\13\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
+ "\1\11\1\232\20\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\233\2\0\4\11\2\0"+
+ "\1\234\21\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\1\0\2\11\3\0\1\11\2\0\1\235\3\11\2\0"+
"\22\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\2\11\1\305"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\1\11\1\236"+
+ "\20\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\10\11\1\237"+
+ "\11\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\3\11\1\240\2\0\22\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\22\11\1\0\1\241"+
+ "\17\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\4\11\1\242\15\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\1\243\3\11\2\0\22\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\5\11\1\244\14\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\4\11\1\245\15\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\6\11\1\246\13\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\3\11\1\247\16\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\5\11\1\250\14\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\15\11\1\251\4\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\2\11\1\252\17\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\2\11\1\253\1\11\2\0\2\11\1\254"+
"\17\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\3\11\1\306"+
- "\16\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\4\11\1\307"+
- "\15\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\5\11\1\310"+
- "\14\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\3\11\1\311\2\0\22\11"+
- "\20\0\6\260\1\312\1\0\71\260\1\0\2\313\11\0"+
- "\1\313\1\0\1\313\2\0\2\313\16\0\2\313\3\0"+
- "\2\313\3\0\1\313\4\0\1\313\21\0\2\77\1\0"+
- "\2\77\6\0\4\77\1\0\2\77\3\0\1\77\2\0"+
- "\3\77\1\314\2\0\22\77\21\0\2\11\1\0\2\11"+
+ "\2\11\3\0\1\11\2\0\2\11\1\255\1\11\2\0"+
+ "\22\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\4\11\1\256"+
+ "\1\11\1\257\13\11\101\0\1\260\20\0\2\202\1\0"+
+ "\2\202\6\0\4\202\1\0\2\202\3\0\1\202\2\0"+
+ "\4\202\2\0\22\202\20\0\6\261\2\0\71\261\1\0"+
+ "\2\262\11\0\1\262\1\0\1\262\2\0\2\262\16\0"+
+ "\2\262\3\0\2\262\3\0\1\262\4\0\1\262\47\0"+
+ "\1\263\51\0\6\210\1\264\1\0\71\210\1\0\2\77"+
+ "\1\0\2\77\6\0\4\77\1\0\2\77\3\0\1\77"+
+ "\2\0\2\77\1\265\1\77\2\0\22\77\40\0\1\215"+
+ "\61\0\1\216\12\0\1\216\4\0\1\111\24\0\1\111"+
+ "\32\0\6\220\1\266\1\0\71\220\11\0\1\267\70\0"+
+ "\2\270\1\0\2\270\6\0\4\270\1\0\2\270\3\0"+
+ "\1\270\2\0\4\270\2\0\22\270\21\0\1\127\12\0"+
+ "\1\127\65\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\3\11\1\271\2\0\22\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\11\11\1\272\10\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\2\11\1\273\17\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\2\11\1\274\17\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\2\11\1\275\17\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\2\11\1\276\17\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\12\11\1\277\7\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\2\11\1\300\17\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\4\11\1\301\15\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\302\2\0\4\11\2\0\22\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\3\11\1\303\2\0\22\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\3\11\1\304\2\0\22\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\1\305"+
+ "\3\11\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
+ "\2\11\1\306\17\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
+ "\3\11\1\307\16\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
+ "\4\11\1\310\15\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
+ "\5\11\1\311\14\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\3\11\1\312"+
+ "\2\0\22\11\20\0\6\261\1\313\1\0\71\261\1\0"+
+ "\2\314\11\0\1\314\1\0\1\314\2\0\2\314\16\0"+
+ "\2\314\3\0\2\314\3\0\1\314\4\0\1\314\21\0"+
+ "\2\77\1\0\2\77\6\0\4\77\1\0\2\77\3\0"+
+ "\1\77\2\0\3\77\1\315\2\0\22\77\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\16\11\1\316\3\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\3\11\1\317\16\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\6\11\1\320\13\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\6\11\1\321\13\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\3\11\1\322\16\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\6\11\1\323\13\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\2\11\1\324\17\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\3\11\1\325\2\0\22\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\2\11\1\326\1\11\2\0\22\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\10\11\1\327\11\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\12\11\1\330\7\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\2\11\1\331\17\11\21\0\2\332\11\0"+
+ "\1\332\1\0\1\332\2\0\2\332\16\0\2\332\3\0"+
+ "\2\332\3\0\1\332\4\0\1\332\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\4\11\1\333\15\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\7\11\1\334\12\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\13\11\1\335\6\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\5\11\1\336\14\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\5\11\1\337\14\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\1\340\3\11\2\0\22\11\21\0\2\205\11\0\1\205"+
+ "\1\0\1\205\2\0\2\205\16\0\2\205\3\0\2\205"+
+ "\3\0\1\205\4\0\1\205\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\2\11"+
+ "\1\341\1\11\2\0\22\11\21\0\2\11\1\0\2\11"+
"\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\16\11\1\315\3\11\21\0\2\11\1\0\2\11"+
+ "\2\0\3\11\1\342\16\11\21\0\2\11\1\0\2\11"+
"\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\3\11\1\316\16\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\6\11\1\317\13\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\6\11\1\320\13\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\3\11\1\321\16\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\6\11\1\322\13\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\2\11\1\323\17\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\3\11"+
- "\1\324\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\2\11\1\325"+
- "\1\11\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\10\11\1\326\11\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\12\11\1\327\7\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\2\11\1\330\17\11\21\0\2\331\11\0\1\331\1\0"+
- "\1\331\2\0\2\331\16\0\2\331\3\0\2\331\3\0"+
- "\1\331\4\0\1\331\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\4\11\1\332\15\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\7\11\1\333\12\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\13\11\1\334\6\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\5\11\1\335\14\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\5\11\1\336\14\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\1\337\3\11"+
- "\2\0\22\11\21\0\2\205\11\0\1\205\1\0\1\205"+
- "\2\0\2\205\16\0\2\205\3\0\2\205\3\0\1\205"+
- "\4\0\1\205\21\0\2\11\1\0\2\11\6\0\4\11"+
- "\1\0\2\11\3\0\1\11\2\0\2\11\1\340\1\11"+
+ "\2\0\2\11\1\343\17\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\344\2\0\4\11"+
"\2\0\22\11\21\0\2\11\1\0\2\11\6\0\4\11"+
"\1\0\2\11\3\0\1\11\2\0\4\11\2\0\3\11"+
- "\1\341\16\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\1\345\16\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\1\0\2\11\3\0\1\11\2\0\4\11\2\0\10\11"+
+ "\1\346\11\11\21\0\2\11\1\0\2\11\6\0\4\11"+
"\1\0\2\11\3\0\1\11\2\0\4\11\2\0\2\11"+
- "\1\342\17\11\21\0\2\11\1\0\2\11\6\0\4\11"+
- "\1\0\2\11\3\0\1\343\2\0\4\11\2\0\22\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\3\11\1\344\16\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\10\11\1\345\11\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\2\11\1\346\17\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\3\11\1\347\2\0\22\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\2\11\1\350\17\11\20\0";
+ "\1\347\17\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\1\0\2\11\3\0\1\11\2\0\3\11\1\350\2\0"+
+ "\22\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\2\11\1\351"+
+ "\17\11\20\0";
private static int [] zzUnpackTrans() {
- int [] result = new int[10075];
+ int [] result = new int[10140];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
@@ -509,14 +533,14 @@ class _JetLexer implements FlexLexer {
"\7\1\4\11\1\1\2\11\1\1\1\11\2\1\2\11"+
"\4\1\1\11\2\1\2\11\1\1\1\0\1\11\1\1"+
"\1\0\1\1\1\0\2\1\1\11\1\1\1\0\1\1"+
- "\1\0\3\1\5\11\1\1\1\0\7\1\1\11\21\1"+
+ "\1\0\4\1\4\11\1\1\1\0\7\1\1\11\21\1"+
"\12\11\1\1\1\0\2\11\1\1\2\0\1\1\2\11"+
"\1\0\1\11\1\1\1\11\1\0\3\1\1\11\1\0"+
- "\1\11\11\1\1\11\16\1\1\11\2\0\1\1\1\11"+
+ "\2\11\11\1\1\11\16\1\1\11\2\0\1\1\1\11"+
"\1\1\3\11\22\1\1\11\1\0\15\1\1\0\17\1";
private static int [] zzUnpackAttribute() {
- int [] result = new int[232];
+ int [] result = new int[233];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
@@ -640,7 +664,7 @@ class _JetLexer implements FlexLexer {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1326) {
+ while (i < 1708) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
@@ -863,191 +887,170 @@ class _JetLexer implements FlexLexer {
zzMarkedPos = zzMarkedPosL;
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 102:
- { return KtTokens.TYPE_ALIAS_KEYWORD ;
- }
- case 104: break;
- case 3:
- { return KtTokens.IDENTIFIER;
- }
- case 105: break;
- case 11:
- { pushState(STRING); return KtTokens.OPEN_QUOTE;
- }
- case 106: break;
- case 78:
- { return KtTokens.FOR_KEYWORD ;
- }
- case 107: break;
- case 98:
- { return KtTokens.RETURN_KEYWORD ;
- }
- case 108: break;
- case 103:
- { return KtTokens.INTERFACE_KEYWORD ;
- }
- case 109: break;
- case 88:
- { return KtTokens.NULL_KEYWORD ;
- }
- case 110: break;
- case 35:
- { if (lBraceCount == 0) {
- popState();
- return KtTokens.LONG_TEMPLATE_ENTRY_END;
- }
- lBraceCount--;
- return KtTokens.RBRACE;
- }
- case 111: break;
- case 18:
- { return KtTokens.LT ;
- }
- case 112: break;
- case 52:
- { return KtTokens.DO_KEYWORD ;
- }
- case 113: break;
- case 17:
- { return KtTokens.PLUS ;
- }
- case 114: break;
- case 55:
- { return KtTokens.PLUSEQ ;
- }
- case 115: break;
- case 91:
- { popState(); return KtTokens.THIS_KEYWORD;
- }
- case 116: break;
- case 27:
- { return KtTokens.COMMA ;
- }
- case 117: break;
- case 19:
- { return KtTokens.GT ;
- }
- case 118: break;
- case 4:
- { return KtTokens.WHITE_SPACE;
- }
- case 119: break;
- case 25:
- { return KtTokens.RPAR ;
- }
- case 120: break;
- case 54:
- { return KtTokens.DOUBLE_ARROW;
- }
- case 121: break;
- case 86:
- { return KtTokens.TRUE_KEYWORD ;
- }
- case 122: break;
- case 37:
- { return KtTokens.FIELD_IDENTIFIER;
- }
- case 123: break;
- case 59:
- { return KtTokens.ANDAND ;
- }
- case 124: break;
- case 65:
- { pushState(LONG_TEMPLATE_ENTRY); return KtTokens.LONG_TEMPLATE_ENTRY_START;
- }
- case 125: break;
- case 36:
- { return KtTokens.FLOAT_LITERAL;
- }
- case 126: break;
- case 38:
- { return KtTokens.EOL_COMMENT;
- }
- case 127: break;
- case 89:
- { return KtTokens.WHEN_KEYWORD ;
- }
- case 128: break;
- case 74:
- { pushState(RAW_STRING); return KtTokens.OPEN_QUOTE;
- }
- case 129: break;
- case 21:
- { return KtTokens.COLON ;
- }
- case 130: break;
- case 57:
- { return KtTokens.LTEQ ;
- }
- case 131: break;
- case 46:
- { return KtTokens.ARROW ;
- }
- case 132: break;
- case 32:
- { popState(); return KtTokens.IDENTIFIER;
- }
- case 133: break;
case 22:
{ return KtTokens.LBRACKET ;
}
- case 134: break;
- case 69:
- { yypushback(2); return KtTokens.INTEGER_LITERAL;
+ case 105: break;
+ case 78:
+ { return KtTokens.FUN_KEYWORD ;
}
- case 135: break;
- case 10:
- { return KtTokens.CHARACTER_LITERAL;
+ case 106: break;
+ case 48:
+ { return KtTokens.IN_KEYWORD ;
}
- case 136: break;
- case 80:
- { return KtTokens.VAR_KEYWORD ;
- }
- case 137: break;
+ case 107: break;
case 58:
{ return KtTokens.GTEQ ;
}
- case 138: break;
- case 2:
- { return KtTokens.INTEGER_LITERAL;
+ case 108: break;
+ case 87:
+ { return KtTokens.TRUE_KEYWORD ;
}
- case 139: break;
+ case 109: break;
case 13:
{ return KtTokens.RBRACE ;
}
- case 140: break;
- case 95:
- { return KtTokens.CLASS_KEYWORD ;
+ case 110: break;
+ case 10:
+ { return KtTokens.CHARACTER_LITERAL;
}
- case 141: break;
- case 75:
- { return KtTokens.TRY_KEYWORD ;
- }
- case 142: break;
+ case 111: break;
case 7:
{ return KtTokens.EXCL ;
}
- case 143: break;
+ case 112: break;
+ case 80:
+ { return KtTokens.VAL_KEYWORD ;
+ }
+ case 113: break;
case 42:
{ return KtTokens.EXCLEQ ;
}
- case 144: break;
+ case 114: break;
case 45:
{ return KtTokens.MINUSEQ ;
}
- case 145: break;
+ case 115: break;
+ case 36:
+ { return KtTokens.FLOAT_LITERAL;
+ }
+ case 116: break;
+ case 51:
+ { return KtTokens.AS_KEYWORD ;
+ }
+ case 117: break;
+ case 90:
+ { return KtTokens.WHEN_KEYWORD ;
+ }
+ case 118: break;
+ case 16:
+ { return KtTokens.QUEST ;
+ }
+ case 119: break;
+ case 95:
+ { return KtTokens.FALSE_KEYWORD ;
+ }
+ case 120: break;
+ case 34:
+ { lBraceCount++; return KtTokens.LBRACE;
+ }
+ case 121: break;
+ case 44:
+ { return KtTokens.MINUSMINUS;
+ }
+ case 122: break;
+ case 66:
+ { return KtTokens.ESCAPE_SEQUENCE;
+ }
+ case 123: break;
+ case 5:
+ { return KtTokens.DIV ;
+ }
+ case 124: break;
+ case 79:
+ { return KtTokens.FOR_KEYWORD ;
+ }
+ case 125: break;
+ case 30:
+ { popState(); yypushback(1); return KtTokens.DANGLING_NEWLINE;
+ }
+ case 126: break;
+ case 52:
+ { return KtTokens.DO_KEYWORD ;
+ }
+ case 127: break;
+ case 102:
+ { return KtTokens.CONTINUE_KEYWORD ;
+ }
+ case 128: break;
+ case 104:
+ { return KtTokens.INTERFACE_KEYWORD ;
+ }
+ case 129: break;
+ case 75:
+ { pushState(RAW_STRING); return KtTokens.OPEN_QUOTE;
+ }
+ case 130: break;
+ case 4:
+ { return KtTokens.WHITE_SPACE;
+ }
+ case 131: break;
+ case 97:
+ { return KtTokens.BREAK_KEYWORD ;
+ }
+ case 132: break;
+ case 85:
+ { yypushback(3); return KtTokens.EXCL;
+ }
+ case 133: break;
+ case 60:
+ { return KtTokens.OROR ;
+ }
+ case 134: break;
+ case 20:
+ { return KtTokens.PERC ;
+ }
+ case 135: break;
+ case 73:
+ { return KtTokens.EXCLEQEQEQ;
+ }
+ case 136: break;
+ case 61:
+ { return KtTokens.PERCEQ ;
+ }
+ case 137: break;
+ case 43:
+ { return KtTokens.RANGE ;
+ }
+ case 138: break;
+ case 54:
+ { return KtTokens.DOUBLE_ARROW;
+ }
+ case 139: break;
+ case 38:
+ { return KtTokens.EOL_COMMENT;
+ }
+ case 140: break;
+ case 31:
+ { popState(); return KtTokens.CLOSING_QUOTE;
+ }
+ case 141: break;
+ case 14:
+ { return KtTokens.MUL ;
+ }
+ case 142: break;
+ case 23:
+ { return KtTokens.RBRACKET ;
+ }
+ case 143: break;
+ case 56:
+ { return KtTokens.PLUSPLUS ;
+ }
+ case 144: break;
case 100:
- { return KtTokens.PACKAGE_KEYWORD ;
+ { return KtTokens.OBJECT_KEYWORD ;
}
- case 146: break;
- case 92:
- { return KtTokens.THROW_KEYWORD ;
- }
- case 147: break;
- case 93:
- { return KtTokens.SUPER_KEYWORD ;
- }
- case 148: break;
+ case 145: break;
case 68:
{ if (commentDepth > 0) {
commentDepth--;
@@ -1059,32 +1062,94 @@ class _JetLexer implements FlexLexer {
return commentStateToTokenType(state);
}
}
+ case 146: break;
+ case 8:
+ { return KtTokens.DOT ;
+ }
+ case 147: break;
+ case 26:
+ { return KtTokens.SEMICOLON ;
+ }
+ case 148: break;
+ case 69:
+ { yypushback(2); return KtTokens.INTEGER_LITERAL;
+ }
case 149: break;
- case 97:
- { return KtTokens.WHILE_KEYWORD ;
+ case 32:
+ { popState(); return KtTokens.IDENTIFIER;
}
case 150: break;
- case 44:
- { return KtTokens.MINUSMINUS;
+ case 81:
+ { return KtTokens.VAR_KEYWORD ;
}
case 151: break;
- case 101:
- { return KtTokens.CONTINUE_KEYWORD ;
+ case 103:
+ { return KtTokens.TYPE_ALIAS_KEYWORD ;
}
case 152: break;
- case 72:
- { return KtTokens.NOT_IN;
+ case 99:
+ { return KtTokens.RETURN_KEYWORD ;
}
case 153: break;
- case 63:
- { return KtTokens.DOUBLE_SEMICOLON;
+ case 37:
+ { return KtTokens.FIELD_IDENTIFIER;
}
case 154: break;
- case 5:
- { return KtTokens.DIV ;
+ case 15:
+ { return KtTokens.EQ ;
}
case 155: break;
+ case 28:
+ { return KtTokens.AT ;
+ }
+ case 156: break;
+ case 76:
+ { return KtTokens.TRY_KEYWORD ;
+ }
+ case 157: break;
+ case 24:
+ { return KtTokens.LPAR ;
+ }
+ case 158: break;
+ case 9:
+ { return KtTokens.MINUS ;
+ }
+ case 159: break;
+ case 70:
+ { pushState(DOC_COMMENT);
+ commentDepth = 0;
+ commentStart = getTokenStart();
+ }
+ case 160: break;
+ case 86:
+ { return KtTokens.THIS_KEYWORD ;
+ }
+ case 161: break;
+ case 1:
+ { return TokenType.BAD_CHARACTER;
+ }
+ case 162: break;
+ case 98:
+ { return KtTokens.WHILE_KEYWORD ;
+ }
+ case 163: break;
+ case 40:
+ { return KtTokens.DIVEQ ;
+ }
+ case 164: break;
+ case 96:
+ { return KtTokens.CLASS_KEYWORD ;
+ }
+ case 165: break;
+ case 53:
+ { return KtTokens.EQEQ ;
+ }
+ case 166: break;
case 82:
+ { return KtTokens.EQEQEQ ;
+ }
+ case 167: break;
+ case 83:
{ int length = yytext().length();
if (length <= 3) { // closing """
popState();
@@ -1095,181 +1160,138 @@ class _JetLexer implements FlexLexer {
return KtTokens.REGULAR_STRING_PART;
}
}
- case 156: break;
- case 29:
- { return KtTokens.REGULAR_STRING_PART;
- }
- case 157: break;
- case 16:
- { return KtTokens.QUEST ;
- }
- case 158: break;
- case 70:
- { pushState(DOC_COMMENT);
- commentDepth = 0;
- commentStart = getTokenStart();
- }
- case 159: break;
- case 60:
- { return KtTokens.OROR ;
- }
- case 160: break;
- case 20:
- { return KtTokens.PERC ;
- }
- case 161: break;
- case 73:
- { return KtTokens.EXCLEQEQEQ;
- }
- case 162: break;
- case 61:
- { return KtTokens.PERCEQ ;
- }
- case 163: break;
- case 43:
- { return KtTokens.RANGE ;
- }
- case 164: break;
- case 1:
- { return TokenType.BAD_CHARACTER;
- }
- case 165: break;
- case 64:
- { pushState(SHORT_TEMPLATE_ENTRY);
- yypushback(yylength() - 1);
- return KtTokens.SHORT_TEMPLATE_ENTRY_START;
- }
- case 166: break;
- case 71:
- { return KtTokens.NOT_IS;
- }
- case 167: break;
- case 14:
- { return KtTokens.MUL ;
- }
case 168: break;
- case 23:
- { return KtTokens.RBRACKET ;
+ case 50:
+ { return KtTokens.MULTEQ ;
}
case 169: break;
- case 56:
- { return KtTokens.PLUSPLUS ;
+ case 65:
+ { pushState(LONG_TEMPLATE_ENTRY); return KtTokens.LONG_TEMPLATE_ENTRY_START;
}
case 170: break;
+ case 12:
+ { return KtTokens.LBRACE ;
+ }
+ case 171: break;
case 39:
{ pushState(BLOCK_COMMENT);
commentDepth = 0;
commentStart = getTokenStart();
}
- case 171: break;
- case 85:
- { return KtTokens.THIS_KEYWORD ;
- }
case 172: break;
- case 8:
- { return KtTokens.DOT ;
+ case 93:
+ { return KtTokens.THROW_KEYWORD ;
}
case 173: break;
- case 26:
- { return KtTokens.SEMICOLON ;
+ case 94:
+ { return KtTokens.SUPER_KEYWORD ;
}
case 174: break;
+ case 62:
+ { return KtTokens.COLONCOLON;
+ }
+ case 175: break;
+ case 72:
+ { return KtTokens.NOT_IN;
+ }
+ case 176: break;
+ case 63:
+ { return KtTokens.DOUBLE_SEMICOLON;
+ }
+ case 177: break;
+ case 6:
+ { return KtTokens.HASH ;
+ }
+ case 178: break;
+ case 3:
+ { return KtTokens.IDENTIFIER;
+ }
+ case 179: break;
+ case 2:
+ { return KtTokens.INTEGER_LITERAL;
+ }
+ case 180: break;
+ case 88:
+ { return KtTokens.ELSE_KEYWORD ;
+ }
+ case 181: break;
+ case 11:
+ { pushState(STRING); return KtTokens.OPEN_QUOTE;
+ }
+ case 182: break;
+ case 101:
+ { return KtTokens.PACKAGE_KEYWORD ;
+ }
+ case 183: break;
case 49:
{ return KtTokens.IF_KEYWORD ;
}
- case 175: break;
- case 66:
- { return KtTokens.ESCAPE_SEQUENCE;
+ case 184: break;
+ case 18:
+ { return KtTokens.LT ;
}
- case 176: break;
- case 31:
- { popState(); return KtTokens.CLOSING_QUOTE;
+ case 185: break;
+ case 91:
+ { return KtTokens.CAPITALIZED_THIS_KEYWORD ;
}
- case 177: break;
- case 15:
- { return KtTokens.EQ ;
+ case 186: break;
+ case 17:
+ { return KtTokens.PLUS ;
}
- case 178: break;
- case 28:
- { return KtTokens.AT ;
+ case 187: break;
+ case 55:
+ { return KtTokens.PLUSEQ ;
}
- case 179: break;
- case 76:
- { return KtTokens.AS_SAFE;
+ case 188: break;
+ case 74:
+ { return KtTokens.RESERVED ;
}
- case 180: break;
- case 24:
- { return KtTokens.LPAR ;
- }
- case 181: break;
- case 9:
- { return KtTokens.MINUS ;
- }
- case 182: break;
- case 94:
- { return KtTokens.FALSE_KEYWORD ;
- }
- case 183: break;
+ case 189: break;
case 67:
{ commentDepth++;
}
- case 184: break;
- case 77:
- { return KtTokens.FUN_KEYWORD ;
- }
- case 185: break;
- case 47:
- { return KtTokens.IS_KEYWORD ;
- }
- case 186: break;
- case 30:
- { popState(); yypushback(1); return KtTokens.DANGLING_NEWLINE;
- }
- case 187: break;
- case 34:
- { lBraceCount++; return KtTokens.LBRACE;
- }
- case 188: break;
- case 84:
- { yypushback(3); return KtTokens.EXCL;
- }
- case 189: break;
- case 40:
- { return KtTokens.DIVEQ ;
- }
case 190: break;
- case 87:
- { return KtTokens.ELSE_KEYWORD ;
+ case 27:
+ { return KtTokens.COMMA ;
}
case 191: break;
- case 51:
- { return KtTokens.AS_KEYWORD ;
+ case 19:
+ { return KtTokens.GT ;
}
case 192: break;
- case 48:
- { return KtTokens.IN_KEYWORD ;
+ case 77:
+ { return KtTokens.AS_SAFE;
}
case 193: break;
- case 53:
- { return KtTokens.EQEQ ;
+ case 25:
+ { return KtTokens.RPAR ;
}
case 194: break;
- case 81:
- { return KtTokens.EQEQEQ ;
+ case 71:
+ { return KtTokens.NOT_IS;
}
case 195: break;
- case 79:
- { return KtTokens.VAL_KEYWORD ;
+ case 89:
+ { return KtTokens.NULL_KEYWORD ;
}
case 196: break;
- case 90:
- { return KtTokens.CAPITALIZED_THIS_KEYWORD ;
+ case 59:
+ { return KtTokens.ANDAND ;
}
case 197: break;
- case 50:
- { return KtTokens.MULTEQ ;
+ case 35:
+ { if (lBraceCount == 0) {
+ popState();
+ return KtTokens.LONG_TEMPLATE_ENTRY_END;
+ }
+ lBraceCount--;
+ return KtTokens.RBRACE;
}
case 198: break;
+ case 84:
+ { return KtTokens.BLOCK_COMMENT;
+ }
+ case 199: break;
case 41:
{ if (zzCurrentPos == 0) {
return KtTokens.SHEBANG_COMMENT;
@@ -1279,35 +1301,41 @@ class _JetLexer implements FlexLexer {
return KtTokens.HASH;
}
}
- case 199: break;
- case 12:
- { return KtTokens.LBRACE ;
- }
case 200: break;
- case 99:
- { return KtTokens.OBJECT_KEYWORD ;
+ case 29:
+ { return KtTokens.REGULAR_STRING_PART;
}
case 201: break;
- case 96:
- { return KtTokens.BREAK_KEYWORD ;
+ case 47:
+ { return KtTokens.IS_KEYWORD ;
}
case 202: break;
- case 83:
- { return KtTokens.BLOCK_COMMENT;
+ case 92:
+ { popState(); return KtTokens.THIS_KEYWORD;
}
case 203: break;
- case 62:
- { return KtTokens.COLONCOLON;
+ case 21:
+ { return KtTokens.COLON ;
}
case 204: break;
+ case 57:
+ { return KtTokens.LTEQ ;
+ }
+ case 205: break;
case 33:
{
}
- case 205: break;
- case 6:
- { return KtTokens.HASH ;
- }
case 206: break;
+ case 64:
+ { pushState(SHORT_TEMPLATE_ENTRY);
+ yypushback(yylength() - 1);
+ return KtTokens.SHORT_TEMPLATE_ENTRY_START;
+ }
+ case 207: break;
+ case 46:
+ { return KtTokens.ARROW ;
+ }
+ case 208: break;
default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;
@@ -1319,14 +1347,14 @@ class _JetLexer implements FlexLexer {
zzStartRead = commentStart;
return commentStateToTokenType(state);
}
- case 233: break;
+ case 234: break;
case DOC_COMMENT: {
int state = yystate();
popState();
zzStartRead = commentStart;
return commentStateToTokenType(state);
}
- case 234: break;
+ case 235: break;
default:
return null;
}
diff --git a/compiler/testData/psi/Imports_ERR.kt b/compiler/testData/psi/Imports_ERR.kt
index a4d6fe37a97..1acab3c6781 100644
--- a/compiler/testData/psi/Imports_ERR.kt
+++ b/compiler/testData/psi/Imports_ERR.kt
@@ -33,8 +33,8 @@ import -
import ^_^
import .
import ---; import +++
-import ..{...
-import ..}...
+import ..{.. .
+import ..}.. .
import foo
fun foo() {
diff --git a/compiler/testData/psi/Imports_ERR.txt b/compiler/testData/psi/Imports_ERR.txt
index 79c90aa1274..e1c9eb53bf9 100644
--- a/compiler/testData/psi/Imports_ERR.txt
+++ b/compiler/testData/psi/Imports_ERR.txt
@@ -366,6 +366,7 @@ JetFile: Imports_ERR.kt
PsiElement(RANGE)('..')
PsiElement(LBRACE)('{')
PsiElement(RANGE)('..')
+ PsiWhiteSpace(' ')
PsiElement(DOT)('.')
PsiWhiteSpace('\n')
IMPORT_DIRECTIVE
@@ -375,6 +376,7 @@ JetFile: Imports_ERR.kt
PsiElement(RANGE)('..')
PsiElement(RBRACE)('}')
PsiElement(RANGE)('..')
+ PsiWhiteSpace(' ')
PsiElement(DOT)('.')
PsiWhiteSpace('\n')
IMPORT_DIRECTIVE
diff --git a/compiler/testData/psi/TripleDot.kt b/compiler/testData/psi/TripleDot.kt
new file mode 100644
index 00000000000..1a7964a77c2
--- /dev/null
+++ b/compiler/testData/psi/TripleDot.kt
@@ -0,0 +1,11 @@
+...
+
+fun foo() {
+ for (i in 1...2) {
+
+ }
+
+ for (i in 1.. .2) {
+
+ }
+}
\ No newline at end of file
diff --git a/compiler/testData/psi/TripleDot.txt b/compiler/testData/psi/TripleDot.txt
new file mode 100644
index 00000000000..24480f955f5
--- /dev/null
+++ b/compiler/testData/psi/TripleDot.txt
@@ -0,0 +1,75 @@
+JetFile: TripleDot.kt
+ PACKAGE_DIRECTIVE
+
+ IMPORT_LIST
+
+ PsiErrorElement:Expecting a top level declaration
+ PsiElement(RESERVED)('...')
+ PsiWhiteSpace('\n\n')
+ FUN
+ PsiElement(fun)('fun')
+ PsiWhiteSpace(' ')
+ PsiElement(IDENTIFIER)('foo')
+ VALUE_PARAMETER_LIST
+ PsiElement(LPAR)('(')
+ PsiElement(RPAR)(')')
+ PsiWhiteSpace(' ')
+ BLOCK
+ PsiElement(LBRACE)('{')
+ PsiWhiteSpace('\n ')
+ FOR
+ PsiElement(for)('for')
+ PsiWhiteSpace(' ')
+ PsiElement(LPAR)('(')
+ VALUE_PARAMETER
+ PsiElement(IDENTIFIER)('i')
+ PsiWhiteSpace(' ')
+ PsiElement(in)('in')
+ PsiWhiteSpace(' ')
+ LOOP_RANGE
+ INTEGER_CONSTANT
+ PsiElement(INTEGER_LITERAL)('1')
+ PsiErrorElement:Expecting ')'
+
+ BODY
+
+ PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line)
+ PsiElement(RESERVED)('...')
+ PsiElement(INTEGER_LITERAL)('2')
+ PsiElement(RPAR)(')')
+ PsiWhiteSpace(' ')
+ FUNCTION_LITERAL_EXPRESSION
+ FUNCTION_LITERAL
+ PsiElement(LBRACE)('{')
+ PsiWhiteSpace('\n\n ')
+ BLOCK
+
+ PsiElement(RBRACE)('}')
+ PsiWhiteSpace('\n\n ')
+ FOR
+ PsiElement(for)('for')
+ PsiWhiteSpace(' ')
+ PsiElement(LPAR)('(')
+ VALUE_PARAMETER
+ PsiElement(IDENTIFIER)('i')
+ PsiWhiteSpace(' ')
+ PsiElement(in)('in')
+ PsiWhiteSpace(' ')
+ LOOP_RANGE
+ BINARY_EXPRESSION
+ INTEGER_CONSTANT
+ PsiElement(INTEGER_LITERAL)('1')
+ OPERATION_REFERENCE
+ PsiElement(RANGE)('..')
+ PsiWhiteSpace(' ')
+ FLOAT_CONSTANT
+ PsiElement(FLOAT_CONSTANT)('.2')
+ PsiElement(RPAR)(')')
+ PsiWhiteSpace(' ')
+ BODY
+ BLOCK
+ PsiElement(LBRACE)('{')
+ PsiWhiteSpace('\n\n ')
+ PsiElement(RBRACE)('}')
+ PsiWhiteSpace('\n')
+ PsiElement(RBRACE)('}')
\ No newline at end of file
diff --git a/compiler/testData/psi/kdoc/MarkdownLinkWithError.txt b/compiler/testData/psi/kdoc/MarkdownLinkWithError.txt
index b3c08b051fa..a0ef8790bb7 100644
--- a/compiler/testData/psi/kdoc/MarkdownLinkWithError.txt
+++ b/compiler/testData/psi/kdoc/MarkdownLinkWithError.txt
@@ -21,8 +21,7 @@ JetFile: MarkdownLinkWithError.kt
PsiElement(IDENTIFIER)('C')
PsiErrorElement:Closing bracket expected
- PsiElement(RANGE)('..')
- PsiElement(DOT)('.')
+ PsiElement(RESERVED)('...')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n ')
PsiElement(KDOC_LEADING_ASTERISK)('*')
diff --git a/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java
index a81b70fb756..2b4ebf5ff8b 100644
--- a/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java
+++ b/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java
@@ -715,6 +715,12 @@ public class ParsingTestGenerated extends AbstractParsingTest {
doParsingTest(fileName);
}
+ @TestMetadata("TripleDot.kt")
+ public void testTripleDot() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TripleDot.kt");
+ doParsingTest(fileName);
+ }
+
@TestMetadata("TryRecovery.kt")
public void testTryRecovery() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TryRecovery.kt");