Match implemented. Not tested yet.

This commit is contained in:
Andrey Breslav
2011-01-01 20:29:39 +03:00
parent a7b790cb13
commit f9fd2182ff
9 changed files with 484 additions and 328 deletions
+2 -1
View File
@@ -103,8 +103,9 @@ literalConstant
: StringWithTemplates : StringWithTemplates
: NoEscapeString : NoEscapeString
: IntegerLiteral : IntegerLiteral
: HexadecimalLiteral : LongLiteral
: CharacterLiteral : CharacterLiteral
: FloatLiteral
: "null" : "null"
; ;
+1
View File
@@ -62,6 +62,7 @@ match
out out
ref ref
try try
case
Soft: Soft:
wraps -- in a class header wraps -- in a class header
+2 -7
View File
@@ -1,14 +1,13 @@
matchEntry matchEntry
: attributes "case" pattern ("if" "(" expression ")")? "=>" expression // TODO: Consider other options than "=>" : attributes "case" pattern ("if" "(" expression ")")? "=>" expression SEMI? // TODO: Consider other options than "=>"
; ;
pattern pattern
: constantPattern // literal : constantPattern // literal
: variablePattern // variable from the context : SimpleName // variable from the context
: tuplePattern : tuplePattern
: bindingPattern // we allow non-linear patterns : bindingPattern // we allow non-linear patterns
: decomposerPattern // labeled components are allowed : decomposerPattern // labeled components are allowed
: arrowPattern
; ;
constantPattern constantPattern
@@ -27,7 +26,3 @@ bindingPattern
decomposerPattern decomposerPattern
: userType tuplePattern? : userType tuplePattern?
; ;
arrowPattern
: pattern "->" pattern
;
+4 -5
View File
@@ -45,6 +45,7 @@ public interface JetNodeTypes {
JetNodeType VALUE_PARAMETER = new JetNodeType("VALUE_PARAMETER"); JetNodeType VALUE_PARAMETER = new JetNodeType("VALUE_PARAMETER");
JetNodeType FUNCTION_TYPE = new JetNodeType("FUNCTION_TYPE"); JetNodeType FUNCTION_TYPE = new JetNodeType("FUNCTION_TYPE");
JetNodeType DECOMPOSER_PROPERTY_LIST = new JetNodeType("DECOMPOSER_PROPERTY_LIST"); JetNodeType DECOMPOSER_PROPERTY_LIST = new JetNodeType("DECOMPOSER_PROPERTY_LIST");
// TODO: review
JetNodeType RECEIVER_TYPE_ATTRIBUTES = new JetNodeType("RECEIVER_TYPE_ATTRIBUTES"); JetNodeType RECEIVER_TYPE_ATTRIBUTES = new JetNodeType("RECEIVER_TYPE_ATTRIBUTES");
JetNodeType PROPERTY_ACCESSOR = new JetNodeType("PROPERTY_ACCESSOR"); JetNodeType PROPERTY_ACCESSOR = new JetNodeType("PROPERTY_ACCESSOR");
JetNodeType CONSTRUCTOR = new JetNodeType("CONSTRUCTOR"); JetNodeType CONSTRUCTOR = new JetNodeType("CONSTRUCTOR");
@@ -64,11 +65,6 @@ public interface JetNodeTypes {
JetNodeType SUPERTYE_QUALIFIER = new JetNodeType("SUPERTYE_QUALIFIER"); JetNodeType SUPERTYE_QUALIFIER = new JetNodeType("SUPERTYE_QUALIFIER");
JetNodeType LONG_CONSTANT = new JetNodeType("LONG_CONSTANT"); JetNodeType LONG_CONSTANT = new JetNodeType("LONG_CONSTANT");
JetNodeType TUPLE = new JetNodeType("TUPLE"); JetNodeType TUPLE = new JetNodeType("TUPLE");
JetNodeType ARROW_TUPLE = new JetNodeType("ARROW_TUPLE");
JetNodeType MAP_LITERAL_ENTRY = new JetNodeType("MAP_LITERAL_ENTRY");
JetNodeType MAP_LITERAL = new JetNodeType("MAP_LITERAL");
JetNodeType RANGE_LITERAL = new JetNodeType("RANGE_LITERAL");
JetNodeType LIST_LITERAL = new JetNodeType("LIST_LITERAL");
JetNodeType TYPEOF = new JetNodeType("TYPEOF"); JetNodeType TYPEOF = new JetNodeType("TYPEOF");
JetNodeType NEW = new JetNodeType("NEW"); JetNodeType NEW = new JetNodeType("NEW");
JetNodeType RETURN = new JetNodeType("RETURN"); JetNodeType RETURN = new JetNodeType("RETURN");
@@ -101,6 +97,9 @@ public interface JetNodeTypes {
JetNodeType DOT_QIALIFIED_EXPRESSION = new JetNodeType("DOT_QIALIFIED_EXPRESSION"); JetNodeType DOT_QIALIFIED_EXPRESSION = new JetNodeType("DOT_QIALIFIED_EXPRESSION");
JetNodeType HASH_QIALIFIED_EXPRESSION = new JetNodeType("HASH_QIALIFIED_EXPRESSION"); JetNodeType HASH_QIALIFIED_EXPRESSION = new JetNodeType("HASH_QIALIFIED_EXPRESSION");
JetNodeType SAFE_ACCESS_EXPRESSION = new JetNodeType("SAFE_ACCESS_EXPRESSION"); JetNodeType SAFE_ACCESS_EXPRESSION = new JetNodeType("SAFE_ACCESS_EXPRESSION");
JetNodeType MATCH_ENTRY = new JetNodeType("MATCH_ENTRY");
JetNodeType PATTERN = new JetNodeType("PATTERN");
JetNodeType TUPLE_PATTERN = new JetNodeType("TUPLE_PATTERN");
IElementType NAMESPACE_NAME = new JetNodeType("NAMESPACE_NAME"); IElementType NAMESPACE_NAME = new JetNodeType("NAMESPACE_NAME");
} }
@@ -68,7 +68,12 @@ public class JetExpressionParsing extends AbstractJetParsing {
CONJUNCTION(ANDAND), CONJUNCTION(ANDAND),
DISJUNCTION(OROR), DISJUNCTION(OROR),
// TODO: RHS // TODO: RHS
MATCH(MATCH_KEYWORD), MATCH(MATCH_KEYWORD) {
@Override
public void parseRightHandSide(JetExpressionParsing parsing) {
parsing.parseMatchBlock();
}
},
// TODO: don't build a binary tree, build a tuple // TODO: don't build a binary tree, build a tuple
ARROW(JetTokens.ARROW), ARROW(JetTokens.ARROW),
ASSIGNMENT(EQ, PLUSEQ, MINUSEQ, MULTEQ, DIVEQ, PERCEQ), ASSIGNMENT(EQ, PLUSEQ, MINUSEQ, MULTEQ, DIVEQ, PERCEQ),
@@ -94,6 +99,10 @@ public class JetExpressionParsing extends AbstractJetParsing {
parsing.parseBinaryExpression(higher); parsing.parseBinaryExpression(higher);
} }
public void parseRightHandSide(JetExpressionParsing parsing) {
parseHigherPrecedence(parsing);
}
public final TokenSet getOperations() { public final TokenSet getOperations() {
return operations; return operations;
} }
@@ -138,7 +147,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
while (!myBuilder.eolInLastWhitespace() && atSet(precedence.getOperations())) { while (!myBuilder.eolInLastWhitespace() && atSet(precedence.getOperations())) {
advance(); // operation advance(); // operation
precedence.parseHigherPrecedence(this); precedence.parseRightHandSide(this);
expression.done(BINARY_EXPRESSION); expression.done(BINARY_EXPRESSION);
expression = expression.precede(); expression = expression.precede();
} }
@@ -297,30 +306,6 @@ public class JetExpressionParsing extends AbstractJetParsing {
else if (at(DO_KEYWORD)) { else if (at(DO_KEYWORD)) {
parseDoWhile(); parseDoWhile();
} }
else if (at(INTEGER_LITERAL)) {
parseOneTokenExpression(INTEGER_CONSTANT);
}
else if (at(LONG_LITERAL)) {
parseOneTokenExpression(LONG_CONSTANT);
}
else if (at(CHARACTER_LITERAL)) {
parseOneTokenExpression(CHARACTER_CONSTANT);
}
else if (at(FLOAT_LITERAL)) {
parseOneTokenExpression(FLOAT_CONSTANT);
}
else if (at(STRING_LITERAL) || at(RAW_STRING_LITERAL)) {
parseOneTokenExpression(STRING_CONSTANT);
}
else if (at(TRUE_KEYWORD)) {
parseOneTokenExpression(BOOLEAN_CONSTANT);
}
else if (at(FALSE_KEYWORD)) {
parseOneTokenExpression(BOOLEAN_CONSTANT);
}
else if (at(NULL_KEYWORD)) {
parseOneTokenExpression(NULL);
}
else if (atSet(CLASS_KEYWORD, EXTENSION_KEYWORD, FUN_KEYWORD, VAL_KEYWORD, else if (atSet(CLASS_KEYWORD, EXTENSION_KEYWORD, FUN_KEYWORD, VAL_KEYWORD,
VAR_KEYWORD, TYPE_KEYWORD, DECOMPOSER_KEYWORD)) { VAR_KEYWORD, TYPE_KEYWORD, DECOMPOSER_KEYWORD)) {
parseLocalDeclaration(); parseLocalDeclaration();
@@ -337,12 +322,175 @@ public class JetExpressionParsing extends AbstractJetParsing {
else if (at(LBRACE)) { else if (at(LBRACE)) {
parseFunctionLiteral(); parseFunctionLiteral();
} }
else { else if (!parseLiteralConstant()) {
// TODO // TODO
errorAndAdvance("Expecting an expression"); errorAndAdvance("Expecting an expression");
} }
} }
/*
* literalConstant
* : "true" | "false"
* : StringWithTemplates
* : NoEscapeString
* : IntegerLiteral
* : LongLiteral
* : CharacterLiteral
* : FloatLiteral
* : "null"
* ;
*/
private boolean parseLiteralConstant() {
if (at(TRUE_KEYWORD) || at(FALSE_KEYWORD)) {
parseOneTokenExpression(BOOLEAN_CONSTANT);
}
else if (at(STRING_LITERAL) || at(RAW_STRING_LITERAL)) {
parseOneTokenExpression(STRING_CONSTANT);
}
else if (at(INTEGER_LITERAL)) {
parseOneTokenExpression(INTEGER_CONSTANT);
}
else if (at(LONG_LITERAL)) {
parseOneTokenExpression(LONG_CONSTANT);
}
else if (at(CHARACTER_LITERAL)) {
parseOneTokenExpression(CHARACTER_CONSTANT);
}
else if (at(FLOAT_LITERAL)) {
parseOneTokenExpression(FLOAT_CONSTANT);
}
else if (at(NULL_KEYWORD)) {
parseOneTokenExpression(NULL);
} else {
return false;
}
return true;
}
/*
* "{" matchEntry+ "}"
*/
private void parseMatchBlock() {
expect(LBRACE, "Expecting '{' to open a match block");
while (!eof() && !at(RBRACE)) {
if (at(CASE_KEYWORD) || at(LBRACKET)) {
parseMatchEntry();
} else {
errorUntil("Expecting 'case' to start pattern matching", TokenSet.create(RBRACE, LBRACKET, CASE_KEYWORD));
}
}
expect(RBRACE, "Expecting '}'");
}
/*
* matchEntry
* : attributes "case" pattern ("if" "(" expression ")")? "=>" expression SEMI? // TODO: Consider other options than "=>"
* ;
*/
private void parseMatchEntry() {
PsiBuilder.Marker entry = mark();
myJetParsing.parseAttributeList();
expect(CASE_KEYWORD, "Expecting 'case' to start pattern matching", TokenSet.create(RBRACE, IF_KEYWORD, DOUBLE_ARROW));
parsePattern();
if (at(IF_KEYWORD)) {
advance(); // IF_KEYWORD
parseCondition();
}
expect(DOUBLE_ARROW, "Expecting '=>'", TokenSet.create(RBRACE));
parseExpression();
consumeIf(SEMICOLON);
entry.done(MATCH_ENTRY);
}
/*
* pattern
* : constantPattern // literal
* : variablePattern // variable from the context
* : tuplePattern
* : bindingPattern // we allow non-linear patterns
* : decomposerPattern // labeled components are allowed
* ;
*/
private void parsePattern() {
PsiBuilder.Marker pattern = mark();
if (at(IDENTIFIER)) {
myJetParsing.parseUserType();
if (at(LPAR)) {
parseTuplePattern();
}
}
else if (at(LPAR)) {
parseTuplePattern();
}
else if (at(QUEST)) {
parseBindingPattern();
} else if (!parseLiteralConstant()) {
errorUntil("Pattern expected", TokenSet.create(RBRACE, DOUBLE_ARROW));
}
pattern.done(PATTERN);
}
/*
* bindingPattern
* : "?" SimpleName? (":" pattern)?
* ;
*/
private void parseBindingPattern() {
assert at(QUEST);
advance(); // QUEST
consumeIf(IDENTIFIER);
if (at(COLON)) {
advance(); // COLON
parsePattern();
}
}
/*
* tuplePattern
* : "(" ((SimpleName "=")? pattern{","})? ")"
* ;
*/
private void parseTuplePattern() {
assert at(LPAR);
PsiBuilder.Marker pattern = mark();
advance(); // LPAR
if (!at(RPAR)) {
while (true) {
while (at(COMMA)) errorAndAdvance("Expecting a pattern");
if (at(IDENTIFIER) && lookahead(1) == EQ) {
advance(); // IDENTIFIER
advance(); // EQ
}
parsePattern();
if (!at(COMMA)) break;
advance(); // COMMA
if (at(RPAR)) {
error("Expecting a pattern");
break;
}
}
}
expect(RPAR, "Expecting ')'");
pattern.done(TUPLE_PATTERN);
}
/* /*
* arrayAccess * arrayAccess
@@ -1204,7 +1204,7 @@ public class JetParsing extends AbstractJetParsing {
* : simpleUserType{"."} * : simpleUserType{"."}
* ; * ;
*/ */
private void parseUserType() { public void parseUserType() {
while (true) { while (true) {
parseSimpleUserType(); parseSimpleUserType();
if (!at(DOT)) break; if (!at(DOT)) break;
@@ -93,6 +93,7 @@ RAW_STRING_LITERAL = {THREE_QUO} {QUO_STRING_CHAR}* {THREE_QUO}?
<YYINITIAL> "false" { return JetTokens.FALSE_KEYWORD ;} <YYINITIAL> "false" { return JetTokens.FALSE_KEYWORD ;}
<YYINITIAL> "true" { return JetTokens.TRUE_KEYWORD ;} <YYINITIAL> "true" { return JetTokens.TRUE_KEYWORD ;}
<YYINITIAL> "type" { return JetTokens.TYPE_KEYWORD ;} <YYINITIAL> "type" { return JetTokens.TYPE_KEYWORD ;}
<YYINITIAL> "case" { return JetTokens.CASE_KEYWORD ;}
<YYINITIAL> "this" { return JetTokens.THIS_KEYWORD ;} <YYINITIAL> "this" { return JetTokens.THIS_KEYWORD ;}
<YYINITIAL> "null" { return JetTokens.NULL_KEYWORD ;} <YYINITIAL> "null" { return JetTokens.NULL_KEYWORD ;}
<YYINITIAL> "else" { return JetTokens.ELSE_KEYWORD ;} <YYINITIAL> "else" { return JetTokens.ELSE_KEYWORD ;}
@@ -52,6 +52,7 @@ public interface JetTokens {
JetKeywordToken WHILE_KEYWORD = JetKeywordToken.keyword("while"); JetKeywordToken WHILE_KEYWORD = JetKeywordToken.keyword("while");
JetKeywordToken DO_KEYWORD = JetKeywordToken.keyword("do"); JetKeywordToken DO_KEYWORD = JetKeywordToken.keyword("do");
JetKeywordToken MATCH_KEYWORD = JetKeywordToken.keyword("match"); JetKeywordToken MATCH_KEYWORD = JetKeywordToken.keyword("match");
JetKeywordToken CASE_KEYWORD = JetKeywordToken.keyword("case");
JetToken IDENTIFIER = new JetToken("IDENTIFIER"); JetToken IDENTIFIER = new JetToken("IDENTIFIER");
@@ -131,7 +132,7 @@ public interface JetTokens {
THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, FUN_KEYWORD, DECOMPOSER_KEYWORD, EXTENSION_KEYWORD, FOR_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, FUN_KEYWORD, DECOMPOSER_KEYWORD, EXTENSION_KEYWORD, FOR_KEYWORD,
NULL_KEYWORD, TYPEOF_KEYWORD, NEW_KEYWORD, TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD, NULL_KEYWORD, TYPEOF_KEYWORD, NEW_KEYWORD, TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD,
IN_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD, CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD, IN_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD, CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD,
ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, MATCH_KEYWORD, REF_KEYWORD, OUT_KEYWORD, TRY_KEYWORD ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, MATCH_KEYWORD, REF_KEYWORD, OUT_KEYWORD, TRY_KEYWORD, CASE_KEYWORD
); );
TokenSet SOFT_KEYWORDS = TokenSet.create(WRAPS_KEYWORD, IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, LAZY_KEYWORD, GET_KEYWORD, TokenSet SOFT_KEYWORDS = TokenSet.create(WRAPS_KEYWORD, IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, LAZY_KEYWORD, GET_KEYWORD,
+296 -286
View File
@@ -1,4 +1,4 @@
/* The following code was generated by JFlex 1.4.3 on 12/29/10 10:19 PM */ /* The following code was generated by JFlex 1.4.3 on 1/1/11 8:28 PM */
/* It's an automatically generated code. Do not modify it. */ /* It's an automatically generated code. Do not modify it. */
package org.jetbrains.jet.lexer; package org.jetbrains.jet.lexer;
@@ -13,8 +13,8 @@ import org.jetbrains.jet.lexer.JetTokens;
/** /**
* This class is a scanner generated by * This class is a scanner generated by
* <a href="http://www.jflex.de/">JFlex</a> 1.4.3 * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
* on 12/29/10 10:19 PM from the specification file * on 1/1/11 8:28 PM from the specification file
* <tt>/home/user/work/jet/idea/src/org/jetbrains/jet/lexer/Jet.flex</tt> * <tt>/home/abreslav/work/jet/idea/src/org/jetbrains/jet/lexer/Jet.flex</tt>
*/ */
class _JetLexer implements FlexLexer { class _JetLexer implements FlexLexer {
/** initial size of the lookahead buffer */ /** initial size of the lookahead buffer */
@@ -145,20 +145,21 @@ class _JetLexer implements FlexLexer {
"\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+ "\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+
"\3\35\1\36\1\37\1\40\1\41\1\0\2\2\1\35"+ "\3\35\1\36\1\37\1\40\1\41\1\0\2\2\1\35"+
"\1\42\1\43\1\44\1\45\1\46\1\47\2\11\3\12"+ "\1\42\1\43\1\44\1\45\1\46\1\47\2\11\3\12"+
"\1\3\1\50\13\3\1\51\3\3\1\52\1\53\1\54"+ "\1\3\1\50\14\3\1\51\3\3\1\52\1\53\1\54"+
"\6\3\1\55\1\56\1\0\1\57\1\60\1\61\1\62"+ "\6\3\1\55\1\56\1\0\1\57\1\60\1\61\1\62"+
"\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\35"+ "\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\35"+
"\1\37\1\72\1\0\1\34\3\0\1\12\1\73\5\3"+ "\1\37\1\72\1\0\1\34\3\0\1\12\1\73\6\3"+
"\1\74\3\3\1\75\1\76\3\3\1\77\3\3\1\100"+ "\1\74\3\3\1\75\1\76\3\3\1\77\3\3\1\100"+
"\1\3\1\101\2\3\1\102\1\103\1\104\1\105\1\106"+ "\1\3\1\101\2\3\1\102\1\103\1\104\1\105\1\106"+
"\1\107\1\0\2\72\1\0\1\35\2\0\2\3\1\110"+ "\1\107\1\0\2\72\1\0\1\35\2\0\2\3\1\110"+
"\6\3\1\111\1\112\1\113\1\3\1\114\3\3\1\37"+ "\1\3\1\111\5\3\1\112\1\113\1\114\1\3\1\115"+
"\1\0\1\35\1\0\3\3\1\115\1\3\1\116\3\3"+ "\3\3\1\37\1\0\1\35\1\0\3\3\1\116\1\3"+
"\1\117\1\120\1\121\1\122\1\73\3\3\1\123\1\124"+ "\1\117\3\3\1\120\1\121\1\122\1\123\1\73\3\3"+
"\1\3\1\125\6\3\1\126\2\3\1\127\1\130\1\131"; "\1\124\1\125\1\3\1\126\6\3\1\127\2\3\1\130"+
"\1\131\1\132";
private static int [] zzUnpackAction() { private static int [] zzUnpackAction() {
int [] result = new int[208]; int [] result = new int[211];
int offset = 0; int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result; return result;
@@ -193,25 +194,26 @@ class _JetLexer implements FlexLexer {
"\0\u0a56\0\77\0\77\0\77\0\77\0\77\0\77\0\77"+ "\0\u0a56\0\77\0\77\0\77\0\77\0\77\0\77\0\77"+
"\0\u0a95\0\u0ad4\0\u0b13\0\u0b52\0\u0b91\0\275\0\u0bd0\0\u0c0f"+ "\0\u0a95\0\u0ad4\0\u0b13\0\u0b52\0\u0b91\0\275\0\u0bd0\0\u0c0f"+
"\0\u0c4e\0\u0c8d\0\u0ccc\0\u0d0b\0\u0d4a\0\u0d89\0\u0dc8\0\u0e07"+ "\0\u0c4e\0\u0c8d\0\u0ccc\0\u0d0b\0\u0d4a\0\u0d89\0\u0dc8\0\u0e07"+
"\0\u0e46\0\275\0\u0e85\0\u0ec4\0\u0f03\0\275\0\275\0\275"+ "\0\u0e46\0\u0e85\0\275\0\u0ec4\0\u0f03\0\u0f42\0\275\0\275"+
"\0\u0f42\0\u0f81\0\u0fc0\0\u0fff\0\u103e\0\u107d\0\u10bc\0\77"+ "\0\275\0\u0f81\0\u0fc0\0\u0fff\0\u103e\0\u107d\0\u10bc\0\u10fb"+
"\0\u10fb\0\u113a\0\77\0\77\0\77\0\77\0\77\0\77"+ "\0\77\0\u113a\0\u1179\0\77\0\77\0\77\0\77\0\77"+
"\0\77\0\77\0\77\0\77\0\u1179\0\u11b8\0\u11f7\0\u1236"+ "\0\77\0\77\0\77\0\77\0\77\0\u11b8\0\u11f7\0\u1236"+
"\0\u1236\0\u1275\0\u12b4\0\u12f3\0\77\0\u1332\0\u1371\0\u13b0"+ "\0\u1275\0\u1275\0\u12b4\0\u12f3\0\u1332\0\77\0\u1371\0\u13b0"+
"\0\u13ef\0\u142e\0\u146d\0\275\0\u14ac\0\u14eb\0\u152a\0\275"+ "\0\u13ef\0\u142e\0\u146d\0\u14ac\0\u14eb\0\275\0\u152a\0\u1569"+
"\0\275\0\u1569\0\u15a8\0\u15e7\0\275\0\u1626\0\u1665\0\u16a4"+ "\0\u15a8\0\275\0\275\0\u15e7\0\u1626\0\u1665\0\275\0\u16a4"+
"\0\275\0\u16e3\0\275\0\u1722\0\u1761\0\275\0\275\0\77"+ "\0\u16e3\0\u1722\0\275\0\u1761\0\275\0\u17a0\0\u17df\0\275"+
"\0\77\0\77\0\77\0\u17a0\0\u17df\0\77\0\u181e\0\u185d"+ "\0\275\0\77\0\77\0\77\0\77\0\u181e\0\u185d\0\77"+
"\0\u189c\0\u18db\0\u191a\0\u1959\0\275\0\u1998\0\u19d7\0\u1a16"+ "\0\u189c\0\u18db\0\u191a\0\u1959\0\u1998\0\u19d7\0\275\0\u1a16"+
"\0\u1a55\0\u1a94\0\u1ad3\0\275\0\275\0\u1b12\0\u1b51\0\275"+ "\0\275\0\u1a55\0\u1a94\0\u1ad3\0\u1b12\0\u1b51\0\275\0\275"+
"\0\u1b90\0\u1bcf\0\u1c0e\0\77\0\u1c4d\0\u1236\0\u1c8c\0\u1ccb"+ "\0\u1b90\0\u1bcf\0\275\0\u1c0e\0\u1c4d\0\u1c8c\0\77\0\u1ccb"+
"\0\u1d0a\0\u1d49\0\275\0\u1d88\0\275\0\u1dc7\0\u1e06\0\u1e45"+ "\0\u1275\0\u1d0a\0\u1d49\0\u1d88\0\u1dc7\0\275\0\u1e06\0\275"+
"\0\275\0\275\0\275\0\275\0\77\0\u1e84\0\u1ec3\0\u1f02"+ "\0\u1e45\0\u1e84\0\u1ec3\0\275\0\275\0\275\0\275\0\77"+
"\0\275\0\275\0\u1f41\0\275\0\u1f80\0\u1fbf\0\u1ffe\0\u203d"+ "\0\u1f02\0\u1f41\0\u1f80\0\275\0\275\0\u1fbf\0\275\0\u1ffe"+
"\0\u207c\0\u20bb\0\275\0\u20fa\0\u2139\0\275\0\275\0\275"; "\0\u203d\0\u207c\0\u20bb\0\u20fa\0\u2139\0\275\0\u2178\0\u21b7"+
"\0\275\0\275\0\275";
private static int [] zzUnpackRowMap() { private static int [] zzUnpackRowMap() {
int [] result = new int[208]; int [] result = new int[211];
int offset = 0; int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result; return result;
@@ -257,191 +259,195 @@ class _JetLexer implements FlexLexer {
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\12\4\1\107\11\4\1\110\2\4"+ "\1\0\1\4\3\0\12\4\1\107\11\4\1\110\2\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\3\4\1\111\20\4\1\112\2\4"+ "\1\0\1\4\3\0\3\4\1\111\5\4\1\112\12\4"+
"\1\113\2\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\15\4\1\114\2\4"+
"\1\115\6\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\11\4\1\116\15\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\15\4\1\113\2\4\1\114\6\4"+ "\1\0\1\4\3\0\1\4\1\117\25\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\1\4\1\120\7\4\1\121\3\4\1\122\11\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\11\4\1\115\15\4\24\0\2\4"+ "\1\0\1\4\3\0\6\4\1\123\20\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\1\4\1\116\25\4\24\0\2\4\1\0\2\4"+ "\3\0\7\4\1\124\6\4\1\125\4\4\1\126\3\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\117\7\4\1\120\3\4\1\121\11\4\24\0\2\4"+ "\1\0\1\4\3\0\6\4\1\127\1\4\1\130\6\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\1\131\7\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\3\0\6\4\1\122\20\4\24\0\2\4\1\0\2\4"+ "\1\0\1\4\1\0\1\4\3\0\3\4\1\132\5\4"+
"\1\133\3\4\1\134\11\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\7\4"+ "\3\0\5\4\1\0\1\4\1\0\1\4\3\0\7\4"+
"\1\123\6\4\1\124\4\4\1\125\3\4\24\0\2\4"+ "\1\135\17\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\1\0\1\4\1\0\1\4\3\0\23\4\1\136\3\4"+
"\3\0\6\4\1\126\1\4\1\127\6\4\1\130\7\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\3\4\1\131\5\4\1\132\3\4"+ "\1\0\1\4\3\0\11\4\1\137\15\4\77\0\1\140"+
"\1\133\11\4\24\0\2\4\1\0\2\4\3\0\5\4"+ "\3\0\1\141\57\0\1\142\12\0\1\143\76\0\1\144"+
"\1\0\1\4\1\0\1\4\3\0\7\4\1\134\17\4"+ "\1\0\1\145\74\0\1\146\76\0\1\147\103\0\1\150"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\77\0\1\151\32\0\1\152\45\0\1\153\66\0\1\154"+
"\1\0\1\4\3\0\23\4\1\135\3\4\24\0\2\4"+ "\23\0\1\71\7\0\1\71\3\0\1\57\1\155\1\61"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\5\0\1\57\1\61\15\0\1\57\33\0\1\156\7\0"+
"\3\0\11\4\1\136\15\4\77\0\1\137\3\0\1\140"+ "\1\156\3\0\1\57\2\0\1\156\4\0\1\57\16\0"+
"\57\0\1\141\12\0\1\142\76\0\1\143\1\0\1\144"+ "\1\57\11\0\1\156\20\0\10\62\1\0\66\62\7\157"+
"\74\0\1\145\76\0\1\146\103\0\1\147\77\0\1\150"+ "\1\160\67\157\1\0\1\66\7\0\1\66\3\0\1\57"+
"\32\0\1\151\45\0\1\152\66\0\1\153\23\0\1\71"+ "\1\71\1\61\5\0\1\57\1\61\15\0\1\57\32\0"+
"\7\0\1\71\3\0\1\57\1\154\1\61\5\0\1\57"+ "\1\161\2\67\5\161\1\0\1\67\1\161\1\67\1\162"+
"\1\61\15\0\1\57\33\0\1\155\7\0\1\155\3\0"+ "\1\67\1\163\1\67\1\161\1\164\3\161\3\67\2\161"+
"\1\57\2\0\1\155\4\0\1\57\16\0\1\57\11\0"+ "\1\164\3\161\1\67\5\161\2\67\3\161\1\162\25\161"+
"\1\155\20\0\10\62\1\0\66\62\7\156\1\157\67\156"+ "\1\0\1\70\7\0\1\70\2\0\1\56\1\0\1\165"+
"\1\0\1\66\7\0\1\66\3\0\1\57\1\71\1\61"+ "\32\0\1\56\26\0\1\71\7\0\1\71\3\0\1\57"+
"\5\0\1\57\1\61\15\0\1\57\32\0\1\160\2\67"+ "\1\0\1\61\5\0\1\57\1\61\15\0\1\57\32\0"+
"\5\160\1\0\1\67\1\160\1\67\1\161\1\67\1\162"+ "\10\13\1\0\66\13\10\102\1\0\12\102\1\103\1\166"+
"\1\67\1\160\1\163\3\160\3\67\2\160\1\163\3\160"+ "\62\102\1\0\66\102\24\0\1\167\53\0\2\4\1\0"+
"\1\67\5\160\2\67\3\160\1\161\25\160\1\0\1\70"+
"\7\0\1\70\2\0\1\56\1\0\1\164\32\0\1\56"+
"\26\0\1\71\7\0\1\71\3\0\1\57\1\0\1\61"+
"\5\0\1\57\1\61\15\0\1\57\32\0\10\13\1\0"+
"\66\13\10\102\1\0\12\102\1\103\1\165\62\102\1\0"+
"\66\102\24\0\1\166\53\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\2\4\1\167"+
"\24\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\13\4\1\170\13\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\6\4\1\171\20\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+ "\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\10\4\1\172\16\4\24\0\2\4\1\0\2\4\3\0"+ "\2\4\1\170\24\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\11\4\1\173"+ "\5\4\1\0\1\4\1\0\1\4\3\0\13\4\1\171"+
"\13\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\6\4\1\172\20\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\10\4\1\173\16\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\6\4\1\174\20\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\11\4\1\175"+
"\15\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+ "\15\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\13\4\1\174\13\4\24\0"+ "\1\4\1\0\1\4\3\0\13\4\1\176\13\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+ "\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\21\4\1\175\5\4\24\0\2\4\1\0"+ "\1\4\3\0\21\4\1\177\5\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+ "\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\13\4\1\176\13\4\24\0\2\4\1\0\2\4\3\0"+ "\13\4\1\200\13\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\13\4\1\177"+ "\5\4\1\0\1\4\1\0\1\4\3\0\13\4\1\201"+
"\3\4\1\200\7\4\24\0\2\4\1\0\2\4\3\0"+ "\3\4\1\202\7\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\22\4\1\201"+ "\5\4\1\0\1\4\1\0\1\4\3\0\22\4\1\203"+
"\4\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+ "\4\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\4\4\1\202\22\4\24\0"+ "\1\4\1\0\1\4\3\0\4\4\1\204\22\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+ "\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\24\4\1\203\2\4\24\0\2\4\1\0"+ "\1\4\3\0\24\4\1\205\2\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+ "\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\15\4\1\204\1\205\10\4\24\0\2\4\1\0\2\4"+ "\15\4\1\206\1\207\10\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\5\4"+ "\3\0\5\4\1\0\1\4\1\0\1\4\3\0\5\4"+
"\1\206\21\4\24\0\2\4\1\0\2\4\3\0\5\4"+ "\1\210\21\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\7\4\1\207\4\4"+ "\1\0\1\4\1\0\1\4\3\0\7\4\1\211\4\4"+
"\1\210\12\4\24\0\2\4\1\0\2\4\3\0\5\4"+ "\1\212\12\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\7\4\1\211\17\4"+ "\1\0\1\4\1\0\1\4\3\0\7\4\1\213\17\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\24\4\1\212\2\4\24\0\2\4"+ "\1\0\1\4\3\0\24\4\1\214\2\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\10\4\1\213\16\4\24\0\2\4\1\0\2\4"+ "\3\0\10\4\1\215\16\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\1\4"+ "\3\0\5\4\1\0\1\4\1\0\1\4\3\0\1\4"+
"\1\214\25\4\24\0\2\4\1\0\2\4\3\0\5\4"+ "\1\216\25\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\14\4\1\215\12\4"+ "\1\0\1\4\1\0\1\4\3\0\14\4\1\217\12\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\7\4\1\216\14\4\1\217\2\4"+ "\1\0\1\4\3\0\7\4\1\220\14\4\1\221\2\4"+
"\77\0\1\220\55\0\1\221\1\0\1\222\115\0\1\223"+ "\77\0\1\222\55\0\1\223\1\0\1\224\115\0\1\225"+
"\23\0\1\155\7\0\1\155\3\0\1\57\7\0\1\57"+ "\23\0\1\156\7\0\1\156\3\0\1\57\7\0\1\57"+
"\16\0\1\57\32\0\7\156\1\224\67\156\6\225\1\226"+ "\16\0\1\57\32\0\7\157\1\226\67\157\6\227\1\230"+
"\1\157\67\225\1\0\2\160\6\0\1\160\1\0\1\160"+ "\1\160\67\227\1\0\2\161\6\0\1\161\1\0\1\161"+
"\1\0\1\160\1\0\1\160\1\0\1\227\3\0\3\160"+ "\1\0\1\161\1\0\1\161\1\0\1\231\3\0\3\161"+
"\2\0\1\227\3\0\1\160\5\0\2\160\32\0\2\160"+ "\2\0\1\231\3\0\1\161\5\0\2\161\32\0\2\161"+
"\6\0\1\160\1\0\1\160\1\0\1\160\1\154\1\160"+ "\6\0\1\161\1\0\1\161\1\0\1\161\1\155\1\161"+
"\1\0\1\227\3\0\3\160\2\0\1\227\3\0\1\160"+ "\1\0\1\231\3\0\3\161\2\0\1\231\3\0\1\161"+
"\5\0\2\160\32\0\1\230\1\160\6\0\1\230\1\0"+ "\5\0\2\161\32\0\1\232\1\161\6\0\1\232\1\0"+
"\1\160\1\0\1\160\1\0\1\160\1\231\1\227\3\0"+ "\1\161\1\0\1\161\1\0\1\161\1\233\1\231\3\0"+
"\3\160\2\0\1\227\3\0\1\160\5\0\2\160\10\0"+ "\3\161\2\0\1\231\3\0\1\161\5\0\2\161\10\0"+
"\1\231\36\0\1\154\60\0\24\166\1\232\52\166\1\0"+ "\1\233\36\0\1\155\60\0\24\167\1\234\52\167\1\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+ "\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\3\4\1\233\23\4\24\0\2\4\1\0"+ "\1\4\3\0\3\4\1\235\23\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+ "\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\1\4\1\234\25\4\24\0\2\4\1\0\2\4\3\0"+ "\1\4\1\236\25\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\1\4\1\235"+ "\5\4\1\0\1\4\1\0\1\4\3\0\1\4\1\237"+
"\25\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+ "\25\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\13\4\1\236\13\4\24\0"+ "\1\4\1\0\1\4\3\0\13\4\1\240\13\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+ "\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\6\4\1\237\20\4\24\0\2\4\1\0"+ "\1\4\3\0\1\4\1\241\25\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+ "\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\1\4\1\240\25\4\24\0\2\4\1\0\2\4\3\0"+ "\6\4\1\242\20\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\2\4\1\241"+ "\5\4\1\0\1\4\1\0\1\4\3\0\1\4\1\243"+
"\24\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\15\4\1\242\11\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\1\4\1\243\25\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\24\4\1\244\2\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\1\4\1\245"+
"\25\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+ "\25\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\1\4\1\246\25\4\24\0"+ "\1\4\1\0\1\4\3\0\2\4\1\244\24\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+ "\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\3\4\1\247\23\4\24\0\2\4\1\0"+ "\1\4\3\0\15\4\1\245\11\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+ "\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\6\4\1\250\20\4\24\0\2\4\1\0\2\4\3\0"+ "\1\4\1\246\25\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\6\4\1\251"+ "\5\4\1\0\1\4\1\0\1\4\3\0\24\4\1\247"+
"\2\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\1\4\1\250\25\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\1\4\1\251\25\4\24\0\2\4\1\0"+
"\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\3\4\1\252\23\4\24\0\2\4\1\0\2\4\3\0"+
"\5\4\1\0\1\4\1\0\1\4\3\0\6\4\1\253"+
"\20\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+ "\20\4\24\0\2\4\1\0\2\4\3\0\5\4\1\0"+
"\1\4\1\0\1\4\3\0\11\4\1\252\15\4\24\0"+ "\1\4\1\0\1\4\3\0\6\4\1\254\20\4\24\0"+
"\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+ "\2\4\1\0\2\4\3\0\5\4\1\0\1\4\1\0"+
"\1\4\3\0\24\4\1\253\2\4\23\0\6\156\1\254"+ "\1\4\3\0\11\4\1\255\15\4\24\0\2\4\1\0"+
"\1\224\67\156\7\225\1\255\67\225\1\0\1\155\7\0"+ "\2\4\3\0\5\4\1\0\1\4\1\0\1\4\3\0"+
"\1\155\6\0\1\231\35\0\1\231\21\0\1\230\1\160"+ "\24\4\1\256\2\4\23\0\6\157\1\257\1\226\67\157"+
"\6\0\1\230\1\0\1\160\1\0\1\256\1\0\1\160"+ "\7\227\1\260\67\227\1\0\1\156\7\0\1\156\6\0"+
"\1\0\1\227\3\0\1\256\2\160\2\0\1\227\3\0"+ "\1\233\35\0\1\233\21\0\1\232\1\161\6\0\1\232"+
"\1\160\5\0\1\256\1\160\32\0\1\155\7\0\1\155"+ "\1\0\1\161\1\0\1\261\1\0\1\161\1\0\1\231"+
"\65\0\24\166\1\257\52\166\1\0\2\4\1\0\2\4"+ "\3\0\1\261\2\161\2\0\1\231\3\0\1\161\5\0"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\4\4"+ "\1\261\1\161\32\0\1\156\7\0\1\156\65\0\24\167"+
"\1\260\22\4\24\0\2\4\1\0\2\4\3\0\5\4"+ "\1\262\52\167\1\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\10\4\1\261\16\4"+ "\1\0\1\4\1\0\1\4\3\0\4\4\1\263\22\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\14\4\1\262\12\4\24\0\2\4"+ "\1\0\1\4\3\0\10\4\1\264\16\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\6\4\1\263\20\4\24\0\2\4\1\0\2\4"+ "\3\0\14\4\1\265\12\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\2\4"+
"\1\264\24\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\23\4\1\265\3\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\7\4\1\266\17\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\6\4\1\267\20\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\3\4"+
"\1\270\23\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\22\4\1\271\4\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\1\4\1\272\25\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\25\4\1\273\1\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\1\4"+
"\1\274\25\4\23\0\6\225\1\226\1\255\67\225\24\166"+
"\1\275\52\166\1\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\5\4\1\276\21\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\6\4\1\277\20\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\10\4\1\300\16\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\13\4"+
"\1\301\13\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\10\4\1\302\16\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\5\4\1\303\21\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\17\4\1\304\7\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\3\4"+
"\1\305\23\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\14\4\1\306\12\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\15\4\1\307\11\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\11\4\1\310\15\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\6\4"+ "\3\0\5\4\1\0\1\4\1\0\1\4\3\0\6\4"+
"\1\311\20\4\24\0\2\4\1\0\2\4\3\0\5\4"+ "\1\266\20\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\3\4\1\312\23\4"+ "\1\0\1\4\1\0\1\4\3\0\2\4\1\267\24\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\1\4\1\313\25\4\24\0\2\4"+ "\1\0\1\4\3\0\23\4\1\270\3\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\2\4\1\314\24\4\24\0\2\4\1\0\2\4"+ "\3\0\7\4\1\271\17\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\1\4"+ "\3\0\5\4\1\0\1\4\1\0\1\4\3\0\6\4"+
"\1\315\25\4\24\0\2\4\1\0\2\4\3\0\5\4"+ "\1\272\20\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\10\4\1\316\16\4"+ "\1\0\1\4\1\0\1\4\3\0\3\4\1\273\23\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+ "\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\1\4\1\317\25\4\24\0\2\4"+ "\1\0\1\4\3\0\22\4\1\274\4\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+ "\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\7\4\1\320\17\4\23\0"; "\3\0\1\4\1\275\25\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\25\4"+
"\1\276\1\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\1\4\1\277\25\4"+
"\23\0\6\227\1\230\1\260\67\227\24\167\1\300\52\167"+
"\1\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\5\4\1\301\21\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\6\4\1\302\20\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\10\4"+
"\1\303\16\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\13\4\1\304\13\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\10\4\1\305\16\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\5\4\1\306\21\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\17\4"+
"\1\307\7\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\3\4\1\310\23\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\14\4\1\311\12\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\15\4\1\312\11\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\11\4"+
"\1\313\15\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\6\4\1\314\20\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\3\4\1\315\23\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\1\4\1\316\25\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\2\4"+
"\1\317\24\4\24\0\2\4\1\0\2\4\3\0\5\4"+
"\1\0\1\4\1\0\1\4\3\0\1\4\1\320\25\4"+
"\24\0\2\4\1\0\2\4\3\0\5\4\1\0\1\4"+
"\1\0\1\4\3\0\10\4\1\321\16\4\24\0\2\4"+
"\1\0\2\4\3\0\5\4\1\0\1\4\1\0\1\4"+
"\3\0\1\4\1\322\25\4\24\0\2\4\1\0\2\4"+
"\3\0\5\4\1\0\1\4\1\0\1\4\3\0\7\4"+
"\1\323\17\4\23\0";
private static int [] zzUnpackTrans() { private static int [] zzUnpackTrans() {
int [] result = new int[8568]; int [] result = new int[8694];
int offset = 0; int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result; return result;
@@ -483,13 +489,13 @@ class _JetLexer implements FlexLexer {
private static final String ZZ_ATTRIBUTE_PACKED_0 = private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\1\0\1\11\40\1\1\11\1\1\13\11\4\1\2\11"+ "\1\0\1\11\40\1\1\11\1\1\13\11\4\1\2\11"+
"\1\0\3\1\7\11\37\1\1\11\1\0\1\1\12\11"+ "\1\0\3\1\7\11\40\1\1\11\1\0\1\1\12\11"+
"\3\1\1\0\1\1\3\0\1\11\32\1\4\11\1\0"+ "\3\1\1\0\1\1\3\0\1\11\33\1\4\11\1\0"+
"\1\1\1\11\1\0\1\1\2\0\21\1\1\11\1\0"+ "\1\1\1\11\1\0\1\1\2\0\22\1\1\11\1\0"+
"\1\1\1\0\15\1\1\11\23\1"; "\1\1\1\0\15\1\1\11\23\1";
private static int [] zzUnpackAttribute() { private static int [] zzUnpackAttribute() {
int [] result = new int[208]; int [] result = new int[211];
int offset = 0; int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result; return result;
@@ -797,359 +803,363 @@ class _JetLexer implements FlexLexer {
case 3: case 3:
{ return JetTokens.IDENTIFIER; { return JetTokens.IDENTIFIER;
} }
case 90: break; case 91: break;
case 64: case 64:
{ return JetTokens.FOR_KEYWORD ; { return JetTokens.FOR_KEYWORD ;
} }
case 91: break; case 92: break;
case 60: case 60:
{ return JetTokens.OUT_KEYWORD ; { return JetTokens.OUT_KEYWORD ;
} }
case 92: break; case 93: break;
case 84: case 85:
{ return JetTokens.RETURN_KEYWORD ; { return JetTokens.RETURN_KEYWORD ;
} }
case 93: break; case 94: break;
case 73: case 74:
{ return JetTokens.NULL_KEYWORD ; { return JetTokens.NULL_KEYWORD ;
} }
case 94: break; case 95: break;
case 14: case 14:
{ return JetTokens.LT ; { return JetTokens.LT ;
} }
case 95: break; case 96: break;
case 40: case 40:
{ return JetTokens.DO_KEYWORD ; { return JetTokens.DO_KEYWORD ;
} }
case 96: break; case 97: break;
case 13: case 13:
{ return JetTokens.PLUS ; { return JetTokens.PLUS ;
} }
case 97: break; case 98: break;
case 28: case 28:
{ return JetTokens.LONG_LITERAL; { return JetTokens.LONG_LITERAL;
} }
case 98: break; case 99: break;
case 59: case 59:
{ return JetTokens.RAW_STRING_LITERAL; { return JetTokens.RAW_STRING_LITERAL;
} }
case 99: break; case 100: break;
case 48: case 48:
{ return JetTokens.PLUSEQ ; { return JetTokens.PLUSEQ ;
} }
case 100: break; case 101: break;
case 78: case 79:
{ return JetTokens.MATCH_KEYWORD ; { return JetTokens.MATCH_KEYWORD ;
} }
case 101: break; case 102: break;
case 26: case 26:
{ return JetTokens.COMMA ; { return JetTokens.COMMA ;
} }
case 102: break; case 103: break;
case 15: case 15:
{ return JetTokens.GT ; { return JetTokens.GT ;
} }
case 103: break; case 104: break;
case 4: case 4:
{ return JetTokens.WHITE_SPACE; { return JetTokens.WHITE_SPACE;
} }
case 104: break; case 105: break;
case 85: case 86:
{ return JetTokens.TYPEOF_KEYWORD ; { return JetTokens.TYPEOF_KEYWORD ;
} }
case 105: break; case 106: break;
case 24: case 24:
{ return JetTokens.RPAR ; { return JetTokens.RPAR ;
} }
case 106: break; case 107: break;
case 46: case 46:
{ return JetTokens.DOUBLE_ARROW; { return JetTokens.DOUBLE_ARROW;
} }
case 107: break; case 108: break;
case 74: case 75:
{ return JetTokens.TRUE_KEYWORD ; { return JetTokens.TRUE_KEYWORD ;
} }
case 108: break; case 109: break;
case 52: case 52:
{ return JetTokens.ANDAND ; { return JetTokens.ANDAND ;
} }
case 109: break; case 110: break;
case 58: case 58:
{ return JetTokens.DOC_COMMENT; { return JetTokens.DOC_COMMENT;
} }
case 110: break; case 111: break;
case 29: case 29:
{ return JetTokens.FLOAT_LITERAL; { return JetTokens.FLOAT_LITERAL;
} }
case 111: break; case 112: break;
case 30: case 30:
{ return JetTokens.EOL_COMMENT; { return JetTokens.EOL_COMMENT;
} }
case 112: break; case 113: break;
case 17: case 17:
{ return JetTokens.COLON ; { return JetTokens.COLON ;
} }
case 113: break; case 114: break;
case 50: case 50:
{ return JetTokens.LTEQ ; { return JetTokens.LTEQ ;
} }
case 114: break; case 115: break;
case 39: case 39:
{ return JetTokens.ARROW ; { return JetTokens.ARROW ;
} }
case 115: break; case 116: break;
case 19: case 19:
{ return JetTokens.LBRACKET ; { return JetTokens.LBRACKET ;
} }
case 116: break; case 117: break;
case 57: case 57:
{ yypushback(2); return JetTokens.INTEGER_LITERAL; { yypushback(2); return JetTokens.INTEGER_LITERAL;
} }
case 117: break; case 118: break;
case 9: case 9:
{ return JetTokens.CHARACTER_LITERAL; { return JetTokens.CHARACTER_LITERAL;
} }
case 118: break; case 119: break;
case 66: case 66:
{ return JetTokens.VAR_KEYWORD ; { return JetTokens.VAR_KEYWORD ;
} }
case 119: break; case 120: break;
case 51: case 51:
{ return JetTokens.GTEQ ; { return JetTokens.GTEQ ;
} }
case 120: break; case 121: break;
case 2: case 2:
{ return JetTokens.INTEGER_LITERAL; { return JetTokens.INTEGER_LITERAL;
} }
case 121: break; case 122: break;
case 22: case 22:
{ return JetTokens.RBRACE ; { return JetTokens.RBRACE ;
} }
case 122: break; case 123: break;
case 77: case 78:
{ return JetTokens.CLASS_KEYWORD ; { return JetTokens.CLASS_KEYWORD ;
} }
case 123: break; case 124: break;
case 12: case 12:
{ return JetTokens.EXCL ; { return JetTokens.EXCL ;
} }
case 124: break; case 125: break;
case 63: case 63:
{ return JetTokens.TRY_KEYWORD ; { return JetTokens.TRY_KEYWORD ;
} }
case 125: break; case 126: break;
case 47: case 47:
{ return JetTokens.EXCLEQ ; { return JetTokens.EXCLEQ ;
} }
case 126: break; case 127: break;
case 38: case 38:
{ return JetTokens.MINUSEQ ; { return JetTokens.MINUSEQ ;
} }
case 127: break; case 128: break;
case 79: case 80:
{ return JetTokens.THROW_KEYWORD ; { return JetTokens.THROW_KEYWORD ;
} }
case 128: break; case 129: break;
case 82: case 83:
{ return JetTokens.WHILE_KEYWORD ; { return JetTokens.WHILE_KEYWORD ;
} }
case 129: break; case 130: break;
case 37: case 37:
{ return JetTokens.MINUSMINUS; { return JetTokens.MINUSMINUS;
} }
case 130: break; case 131: break;
case 86: case 87:
{ return JetTokens.CONTINUE_KEYWORD ; { return JetTokens.CONTINUE_KEYWORD ;
} }
case 131: break; case 132: break;
case 70: case 70:
{ return JetTokens.NOT_IN; { return JetTokens.NOT_IN;
} }
case 132: break; case 133: break;
case 5: case 5:
{ return JetTokens.DIV ; { return JetTokens.DIV ;
} }
case 133: break; case 134: break;
case 55: case 55:
{ return JetTokens.ELVIS ; { return JetTokens.ELVIS ;
} }
case 134: break; case 135: break;
case 16: case 16:
{ return JetTokens.QUEST ; { return JetTokens.QUEST ;
} }
case 135: break; case 136: break;
case 53: case 53:
{ return JetTokens.OROR ; { return JetTokens.OROR ;
} }
case 136: break; case 137: break;
case 18: case 18:
{ return JetTokens.PERC ; { return JetTokens.PERC ;
} }
case 137: break; case 138: break;
case 71: case 71:
{ return JetTokens.EXCLEQEQEQ; { return JetTokens.EXCLEQEQEQ;
} }
case 138: break; case 139: break;
case 56: case 56:
{ return JetTokens.PERCEQ ; { return JetTokens.PERCEQ ;
} }
case 139: break; case 140: break;
case 35: case 35:
{ return JetTokens.RANGE ; { return JetTokens.RANGE ;
} }
case 140: break; case 141: break;
case 1: case 1:
{ return TokenType.BAD_CHARACTER; { return TokenType.BAD_CHARACTER;
} }
case 141: break; case 142: break;
case 54: case 54:
{ return JetTokens.SAFE_ACCESS; { return JetTokens.SAFE_ACCESS;
} }
case 142: break;
case 88:
{ return JetTokens.NAMESPACE_KEYWORD ;
}
case 143: break; case 143: break;
case 89: case 89:
{ return JetTokens.DECOMPOSER_KEYWORD ; { return JetTokens.NAMESPACE_KEYWORD ;
} }
case 144: break; case 144: break;
case 90:
{ return JetTokens.DECOMPOSER_KEYWORD ;
}
case 145: break;
case 69: case 69:
{ return JetTokens.NOT_IS; { return JetTokens.NOT_IS;
} }
case 145: break; case 146: break;
case 6: case 6:
{ return JetTokens.MUL ; { return JetTokens.MUL ;
} }
case 146: break; case 147: break;
case 20: case 20:
{ return JetTokens.RBRACKET ; { return JetTokens.RBRACKET ;
} }
case 147: break; case 148: break;
case 49: case 49:
{ return JetTokens.PLUSPLUS ; { return JetTokens.PLUSPLUS ;
} }
case 148: break; case 149: break;
case 76: case 77:
{ return JetTokens.THIS_KEYWORD ; { return JetTokens.THIS_KEYWORD ;
} }
case 149: break; case 150: break;
case 73:
{ return JetTokens.CASE_KEYWORD ;
}
case 151: break;
case 7: case 7:
{ return JetTokens.DOT ; { return JetTokens.DOT ;
} }
case 150: break; case 152: break;
case 25: case 25:
{ return JetTokens.SEMICOLON ; { return JetTokens.SEMICOLON ;
} }
case 151: break; case 153: break;
case 44: case 44:
{ return JetTokens.IF_KEYWORD ; { return JetTokens.IF_KEYWORD ;
} }
case 152: break; case 154: break;
case 11: case 11:
{ return JetTokens.EQ ; { return JetTokens.EQ ;
} }
case 153: break; case 155: break;
case 23: case 23:
{ return JetTokens.LPAR ; { return JetTokens.LPAR ;
} }
case 154: break; case 156: break;
case 8: case 8:
{ return JetTokens.MINUS ; { return JetTokens.MINUS ;
} }
case 155: break; case 157: break;
case 80: case 81:
{ return JetTokens.FALSE_KEYWORD ; { return JetTokens.FALSE_KEYWORD ;
} }
case 156: break; case 158: break;
case 75: case 76:
{ return JetTokens.TYPE_KEYWORD ; { return JetTokens.TYPE_KEYWORD ;
} }
case 157: break; case 159: break;
case 61: case 61:
{ return JetTokens.REF_KEYWORD ; { return JetTokens.REF_KEYWORD ;
} }
case 158: break; case 160: break;
case 65: case 65:
{ return JetTokens.FUN_KEYWORD ; { return JetTokens.FUN_KEYWORD ;
} }
case 159: break; case 161: break;
case 42: case 42:
{ return JetTokens.IS_KEYWORD ; { return JetTokens.IS_KEYWORD ;
} }
case 160: break; case 162: break;
case 32: case 32:
{ return JetTokens.DIVEQ ; { return JetTokens.DIVEQ ;
} }
case 161: break; case 163: break;
case 87: case 88:
{ return JetTokens.EXTENSION_KEYWORD ; { return JetTokens.EXTENSION_KEYWORD ;
} }
case 162: break; case 164: break;
case 72: case 72:
{ return JetTokens.ELSE_KEYWORD ; { return JetTokens.ELSE_KEYWORD ;
} }
case 163: break; case 165: break;
case 41: case 41:
{ return JetTokens.AS_KEYWORD ; { return JetTokens.AS_KEYWORD ;
} }
case 164: break; case 166: break;
case 43: case 43:
{ return JetTokens.IN_KEYWORD ; { return JetTokens.IN_KEYWORD ;
} }
case 165: break; case 167: break;
case 45: case 45:
{ return JetTokens.EQEQ ; { return JetTokens.EQEQ ;
} }
case 166: break; case 168: break;
case 67: case 67:
{ return JetTokens.VAL_KEYWORD ; { return JetTokens.VAL_KEYWORD ;
} }
case 167: break; case 169: break;
case 68: case 68:
{ return JetTokens.EQEQEQ ; { return JetTokens.EQEQEQ ;
} }
case 168: break; case 170: break;
case 62: case 62:
{ return JetTokens.NEW_KEYWORD ; { return JetTokens.NEW_KEYWORD ;
} }
case 169: break; case 171: break;
case 33: case 33:
{ return JetTokens.MULTEQ ; { return JetTokens.MULTEQ ;
} }
case 170: break; case 172: break;
case 10: case 10:
{ return JetTokens.STRING_LITERAL; { return JetTokens.STRING_LITERAL;
} }
case 171: break; case 173: break;
case 21: case 21:
{ return JetTokens.LBRACE ; { return JetTokens.LBRACE ;
} }
case 172: break; case 174: break;
case 83: case 84:
{ return JetTokens.OBJECT_KEYWORD ; { return JetTokens.OBJECT_KEYWORD ;
} }
case 173: break; case 175: break;
case 81: case 82:
{ return JetTokens.BREAK_KEYWORD ; { return JetTokens.BREAK_KEYWORD ;
} }
case 174: break; case 176: break;
case 31: case 31:
{ return JetTokens.BLOCK_COMMENT; { return JetTokens.BLOCK_COMMENT;
} }
case 175: break; case 177: break;
case 36: case 36:
{ return JetTokens.FILTER ; { return JetTokens.FILTER ;
} }
case 176: break; case 178: break;
case 27: case 27:
{ return JetTokens.HASH ; { return JetTokens.HASH ;
} }
case 177: break; case 179: break;
case 34: case 34:
{ return JetTokens.MAP ; { return JetTokens.MAP ;
} }
case 178: break; case 180: break;
default: default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true; zzAtEOF = true;