Imports and recovery
This commit is contained in:
@@ -31,7 +31,6 @@ NoEscapeString : /* """-quoted string */;
|
|||||||
|
|
||||||
/* Keywords:
|
/* Keywords:
|
||||||
namespace
|
namespace
|
||||||
import
|
|
||||||
as
|
as
|
||||||
type
|
type
|
||||||
class
|
class
|
||||||
@@ -60,6 +59,8 @@ else
|
|||||||
while
|
while
|
||||||
do
|
do
|
||||||
match
|
match
|
||||||
|
out
|
||||||
|
ref
|
||||||
|
|
||||||
Soft:
|
Soft:
|
||||||
wraps -- in a class header
|
wraps -- in a class header
|
||||||
@@ -67,6 +68,7 @@ where -- in class, function and type headers
|
|||||||
by -- in a class header (Delegation specifier)
|
by -- in a class header (Delegation specifier)
|
||||||
lazy -- in a property/parameter declaration
|
lazy -- in a property/parameter declaration
|
||||||
get, set -- in a property definition
|
get, set -- in a property definition
|
||||||
|
import
|
||||||
abstract
|
abstract
|
||||||
virtual
|
virtual
|
||||||
enum
|
enum
|
||||||
@@ -77,6 +79,4 @@ private
|
|||||||
public
|
public
|
||||||
internal
|
internal
|
||||||
protected
|
protected
|
||||||
out
|
|
||||||
ref
|
|
||||||
*/
|
*/
|
||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="IDEA IC-99.18" jdkType="IDEA JDK" />
|
<orderEntry type="jdk" jdkName="IDEA 10.x" jdkType="IDEA JDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
idea.home=/home/user/work/idea.src
|
||||||
@@ -28,5 +28,7 @@ public interface JetNodeTypes {
|
|||||||
JetNodeType VALUE_PARAMETER_LIST = new JetNodeType("VALUE_PARAMETER_LIST");
|
JetNodeType VALUE_PARAMETER_LIST = new JetNodeType("VALUE_PARAMETER_LIST");
|
||||||
JetNodeType NAMED_ARGUMENT = new JetNodeType("NAMED_ARGUMENT");
|
JetNodeType NAMED_ARGUMENT = new JetNodeType("NAMED_ARGUMENT");
|
||||||
JetNodeType CLASS_BODY = new JetNodeType("CLASS_BODY");
|
JetNodeType CLASS_BODY = new JetNodeType("CLASS_BODY");
|
||||||
|
JetNodeType IMPORT_DIRECTIVE = new JetNodeType("IMPORT_DIRECTIVE");
|
||||||
|
|
||||||
|
IElementType NAMESPACE_NAME = new JetNodeType("NAMESPACE_NAME");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,94 +5,155 @@ package org.jetbrains.jet.lang.parsing;
|
|||||||
|
|
||||||
import com.intellij.lang.ITokenTypeRemapper;
|
import com.intellij.lang.ITokenTypeRemapper;
|
||||||
import com.intellij.lang.PsiBuilder;
|
import com.intellij.lang.PsiBuilder;
|
||||||
|
import com.intellij.lang.WhitespaceSkippedCallback;
|
||||||
import com.intellij.psi.tree.IElementType;
|
import com.intellij.psi.tree.IElementType;
|
||||||
import com.intellij.psi.tree.TokenSet;
|
import com.intellij.psi.tree.TokenSet;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
import org.jetbrains.jet.JetNodeType;
|
import org.jetbrains.jet.JetNodeType;
|
||||||
import org.jetbrains.jet.lexer.JetSoftKeywordToken;
|
import org.jetbrains.jet.lexer.JetSoftKeywordToken;
|
||||||
import org.jetbrains.jet.lexer.JetToken;
|
import org.jetbrains.jet.lexer.JetToken;
|
||||||
import org.jetbrains.jet.lexer.JetTokens;
|
|
||||||
|
|
||||||
import static org.jetbrains.jet.JetNodeTypes.*;
|
import static org.jetbrains.jet.JetNodeTypes.*;
|
||||||
import static org.jetbrains.jet.lexer.JetTokens.*;
|
import static org.jetbrains.jet.lexer.JetTokens.*;
|
||||||
|
|
||||||
public class JetParsing {
|
public class JetParsing {
|
||||||
public static final TokenSet CLASS_NAME_FOLLOW = TokenSet.create(LT, WRAPS_KEYWORD, LPAR, COLON, LBRACE);
|
public static final TokenSet CLASS_NAME_RECOVERY_SET = TokenSet.create(LT, WRAPS_KEYWORD, LPAR, COLON, LBRACE);
|
||||||
public static final TokenSet TYPE_PARAMETER_GT_FOLLOW = TokenSet.create(WHERE_KEYWORD, WRAPS_KEYWORD, LPAR, COLON, LBRACE, GT);
|
public static final TokenSet TYPE_PARAMETER_GT_RECOVERY_SET = TokenSet.create(WHERE_KEYWORD, WRAPS_KEYWORD, LPAR, COLON, LBRACE, GT);
|
||||||
public static final TokenSet PARAMETER_NAME_FOLLOW = TokenSet.create(COLON, EQ, COMMA, RPAR);
|
public static final TokenSet PARAMETER_NAME_RECOVERY_SET = TokenSet.create(COLON, EQ, COMMA, RPAR);
|
||||||
|
private static final TokenSet NAMESPACE_NAME_RECOVERY_SET = TokenSet.create(DOT, EOL_OR_SEMICOLON);
|
||||||
|
|
||||||
|
private final WhitespaceSkippedCallback myWhitespaceSkippedCallback = new WhitespaceSkippedCallback() {
|
||||||
|
public void onSkip(IElementType type, int start, int end) {
|
||||||
|
CharSequence whitespace = JetParsing.this.myBuilder.getOriginalText();
|
||||||
|
for (int i = start; i < end; i++) {
|
||||||
|
char c = whitespace.charAt(i);
|
||||||
|
if (c == '\n') {
|
||||||
|
myEOLInLastWhitespace = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
private final PsiBuilder myBuilder;
|
private final PsiBuilder myBuilder;
|
||||||
|
private boolean myEOLInLastWhitespace;
|
||||||
|
|
||||||
public JetParsing(PsiBuilder myBuilder) {
|
public JetParsing(PsiBuilder myBuilder) {
|
||||||
this.myBuilder = myBuilder;
|
this.myBuilder = myBuilder;
|
||||||
|
myBuilder.setWhitespaceSkippedCallback(myWhitespaceSkippedCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* [start] jetlFile
|
||||||
|
* : preamble toplevelObject[| import]* [eof]
|
||||||
|
* ;
|
||||||
|
*/
|
||||||
public void parseFile() {
|
public void parseFile() {
|
||||||
PsiBuilder.Marker fileMarker = mark();
|
PsiBuilder.Marker fileMarker = mark();
|
||||||
PsiBuilder.Marker namespaceMarker = parsePreamble();
|
PsiBuilder.Marker namespaceMarker = mark();
|
||||||
|
|
||||||
|
parsePreamble();
|
||||||
|
|
||||||
while (!eof()) {
|
while (!eof()) {
|
||||||
parseTopLevelObject();
|
if (at(IMPORT_KEYWORD)) {
|
||||||
}
|
parseImportDirective();
|
||||||
|
}
|
||||||
if (namespaceMarker != null) {
|
else {
|
||||||
namespaceMarker.done(NAMESPACE);
|
parseTopLevelObject();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespaceMarker.done(NAMESPACE);
|
||||||
fileMarker.done(JET_FILE);
|
fileMarker.done(JET_FILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
/*
|
||||||
private PsiBuilder.Marker parsePreamble() {
|
*preamble
|
||||||
|
* : namespaceHeader? import*
|
||||||
|
* ;
|
||||||
|
*/
|
||||||
|
private void parsePreamble() {
|
||||||
|
/*
|
||||||
|
* namespaceHeader
|
||||||
|
* : "namespace" SimpleName{"."}
|
||||||
|
* ;
|
||||||
|
*/
|
||||||
if (at(NAMESPACE_KEYWORD)) {
|
if (at(NAMESPACE_KEYWORD)) {
|
||||||
PsiBuilder.Marker namespaceMarker = mark();
|
|
||||||
advance();
|
advance();
|
||||||
|
|
||||||
parseQualifiedName();
|
parseNamespaceName();
|
||||||
return namespaceMarker;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while (at(IMPORT_KEYWORD)) {
|
while (at(IMPORT_KEYWORD)) {
|
||||||
parseImportDirective();
|
parseImportDirective();
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* SimpleName{"."} */
|
||||||
|
private void parseNamespaceName() {
|
||||||
|
PsiBuilder.Marker nsName = mark();
|
||||||
|
expect(IDENTIFIER, "Expecting qualified name", NAMESPACE_NAME_RECOVERY_SET);
|
||||||
|
while (at(DOT)) {
|
||||||
|
advance();
|
||||||
|
expect(IDENTIFIER, "Namespace name must be a '.'-separated identifier list", NAMESPACE_NAME_RECOVERY_SET);
|
||||||
|
if (at(EOL_OR_SEMICOLON)) break;
|
||||||
|
}
|
||||||
|
nsName.done(NAMESPACE_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* import
|
||||||
|
* : "import" SimpleName{"."} ("." "*" | "as" SimpleName)?
|
||||||
|
* ;
|
||||||
|
*/
|
||||||
private void parseImportDirective() {
|
private void parseImportDirective() {
|
||||||
// TODO
|
assert at(IMPORT_KEYWORD);
|
||||||
}
|
PsiBuilder.Marker importDirective = mark();
|
||||||
|
advance();
|
||||||
|
|
||||||
private PsiBuilder.Marker mark() {
|
expect(IDENTIFIER, "Expecting qualified name", TokenSet.create(DOT, MAP));
|
||||||
return myBuilder.mark();
|
while (at(DOT)) {
|
||||||
}
|
advance();
|
||||||
|
if (at(IDENTIFIER)) {
|
||||||
private void parseQualifiedName() {
|
|
||||||
while (true) {
|
|
||||||
if (tt() != IDENTIFIER) {
|
|
||||||
if (tt() != DOT) {
|
|
||||||
error("Expecting qualified name");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
error("Qualified name must start with an identifier");
|
|
||||||
advance();
|
advance();
|
||||||
}
|
}
|
||||||
|
else if (at(MUL)) {
|
||||||
|
advance();
|
||||||
|
handleUselessRename();
|
||||||
|
break;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
advance();
|
errorWithRecovery("Qualified name must be a '.'-separated identifier list", TokenSet.create(AS_KEYWORD, DOT, MAP, SEMICOLON));
|
||||||
if (tt() != DOT) break;
|
|
||||||
advance();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (at(MAP)) {
|
||||||
|
advance();
|
||||||
|
handleUselessRename();
|
||||||
|
}
|
||||||
|
else if (at(AS_KEYWORD)) {
|
||||||
|
advance();
|
||||||
|
expect(IDENTIFIER, "Expecting identifier", TokenSet.create(SEMICOLON));
|
||||||
|
}
|
||||||
|
cosumeIf(SEMICOLON);
|
||||||
|
importDirective.done(IMPORT_DIRECTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void error(String message) {
|
private void cosumeIf(JetToken token) {
|
||||||
myBuilder.error(message);
|
if (at(token)) advance();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleUselessRename() {
|
||||||
|
if (at(AS_KEYWORD)) {
|
||||||
|
PsiBuilder.Marker as = mark();
|
||||||
|
advance();
|
||||||
|
cosumeIf(IDENTIFIER);
|
||||||
|
as.error("Cannot rename a all imported items to one identifier");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseTopLevelObject() {
|
private void parseTopLevelObject() {
|
||||||
PsiBuilder.Marker decl = mark();
|
PsiBuilder.Marker decl = mark();
|
||||||
if (!parseModifierList()) {
|
if (!parseModifierList()) {
|
||||||
decl.drop();
|
decl.drop();
|
||||||
|
advance();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,22 +188,27 @@ public class JetParsing {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private JetNodeType parseTypedef() {
|
private JetNodeType parseTypedef() {
|
||||||
|
advance(); // TODO
|
||||||
return TYPEDEF;
|
return TYPEDEF;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JetNodeType parseBlockNamespace() {
|
private JetNodeType parseBlockNamespace() {
|
||||||
|
advance(); // TODO
|
||||||
return NAMESPACE;
|
return NAMESPACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JetNodeType parseProperty() {
|
private JetNodeType parseProperty() {
|
||||||
|
advance(); // TODO
|
||||||
return PROPERTY;
|
return PROPERTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JetNodeType parseFunction() {
|
private JetNodeType parseFunction() {
|
||||||
|
advance(); // TODO
|
||||||
return FUN;
|
return FUN;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JetNodeType parseExtension() {
|
private JetNodeType parseExtension() {
|
||||||
|
advance(); // TODO
|
||||||
return EXTENSION;
|
return EXTENSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,10 +216,10 @@ public class JetParsing {
|
|||||||
assert at(CLASS_KEYWORD);
|
assert at(CLASS_KEYWORD);
|
||||||
advance();
|
advance();
|
||||||
|
|
||||||
expect(IDENTIFIER, "Class name expected", CLASS_NAME_FOLLOW);
|
expect(IDENTIFIER, "Class name expected", CLASS_NAME_RECOVERY_SET);
|
||||||
parseTypeParameterList();
|
parseTypeParameterList();
|
||||||
|
|
||||||
if (at(WRAPS_KEYWORD)) advance();
|
cosumeIf(WRAPS_KEYWORD);
|
||||||
if (at(LPAR)) {
|
if (at(LPAR)) {
|
||||||
parsePrimaryConstructorParameterList();
|
parsePrimaryConstructorParameterList();
|
||||||
}
|
}
|
||||||
@@ -279,7 +345,7 @@ public class JetParsing {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void parseFunctionParameterRest() {
|
private void parseFunctionParameterRest() {
|
||||||
expect(IDENTIFIER, "Parameter name expected", PARAMETER_NAME_FOLLOW);
|
expect(IDENTIFIER, "Parameter name expected", PARAMETER_NAME_RECOVERY_SET);
|
||||||
|
|
||||||
if (at(COLON)) {
|
if (at(COLON)) {
|
||||||
advance();
|
advance();
|
||||||
@@ -312,13 +378,13 @@ public class JetParsing {
|
|||||||
advance();
|
advance();
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(GT, "Missing '>'", TYPE_PARAMETER_GT_FOLLOW);
|
expect(GT, "Missing '>'", TYPE_PARAMETER_GT_RECOVERY_SET);
|
||||||
}
|
}
|
||||||
list.done(TYPE_PARAMETER_LIST);
|
list.done(TYPE_PARAMETER_LIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseTypeParameter() {
|
private void parseTypeParameter() {
|
||||||
if (TYPE_PARAMETER_GT_FOLLOW.contains(tt())) {
|
if (TYPE_PARAMETER_GT_RECOVERY_SET.contains(tt())) {
|
||||||
error("Type parameter declaration expected");
|
error("Type parameter declaration expected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -341,25 +407,49 @@ public class JetParsing {
|
|||||||
// tODO:
|
// tODO:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean parseModifierList() {
|
||||||
|
// TODO
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
private boolean expect(JetToken expectation, String message) {
|
private boolean expect(JetToken expectation, String message) {
|
||||||
return expect(expectation, message, null);
|
return expect(expectation, message, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private PsiBuilder.Marker mark() {
|
||||||
|
return myBuilder.mark();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void error(String message) {
|
||||||
|
myBuilder.error(message);
|
||||||
|
}
|
||||||
|
|
||||||
private boolean expect(JetToken expectation, String message, TokenSet recoverySet) {
|
private boolean expect(JetToken expectation, String message, TokenSet recoverySet) {
|
||||||
JetToken tt = tt();
|
if (at(expectation)) {
|
||||||
if (tt == expectation) {
|
|
||||||
advance();
|
advance();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (recoverySet == null || recoverySet.contains(tt)) {
|
errorWithRecovery(message, recoverySet);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void errorWithRecovery(String message, TokenSet recoverySet) {
|
||||||
|
JetToken tt = tt();
|
||||||
|
if (recoverySet == null || recoverySet.contains(tt)
|
||||||
|
|| (recoverySet.contains(EOL_OR_SEMICOLON)
|
||||||
|
&& (tt == SEMICOLON || myEOLInLastWhitespace))) {
|
||||||
error(message);
|
error(message);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
errorAndAdvance(message);
|
errorAndAdvance(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void errorAndAdvance(String message) {
|
private void errorAndAdvance(String message) {
|
||||||
@@ -368,16 +458,12 @@ public class JetParsing {
|
|||||||
err.error(message);
|
err.error(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean parseModifierList() {
|
|
||||||
// TODO
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean eof() {
|
private boolean eof() {
|
||||||
return myBuilder.eof();
|
return myBuilder.eof();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void advance() {
|
private void advance() {
|
||||||
|
myEOLInLastWhitespace = false;
|
||||||
myBuilder.advanceLexer();
|
myBuilder.advanceLexer();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -385,21 +471,24 @@ public class JetParsing {
|
|||||||
return (JetToken) myBuilder.getTokenType();
|
return (JetToken) myBuilder.getTokenType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private boolean at(final IElementType expectation) {
|
private boolean at(final IElementType expectation) {
|
||||||
JetToken token = tt();
|
JetToken token = tt();
|
||||||
if (token == expectation) return true;
|
if (token == expectation) return true;
|
||||||
|
if (expectation == EOL_OR_SEMICOLON) {
|
||||||
|
if (token == SEMICOLON) return true;
|
||||||
|
if (myEOLInLastWhitespace) return true;
|
||||||
|
}
|
||||||
if (token == IDENTIFIER && expectation instanceof JetSoftKeywordToken) {
|
if (token == IDENTIFIER && expectation instanceof JetSoftKeywordToken) {
|
||||||
if (((JetSoftKeywordToken) expectation).getValue().equals(myBuilder.getTokenText())) {
|
if (((JetSoftKeywordToken) expectation).getValue().equals(myBuilder.getTokenText())) {
|
||||||
myBuilder.setTokenTypeRemapper(new ITokenTypeRemapper() {
|
// myBuilder.setTokenTypeRemapper(new ITokenTypeRemapper() {
|
||||||
public IElementType filter(IElementType source, int start, int end, CharSequence text) {
|
// public IElementType filter(IElementType source, int start, int end, CharSequence text) {
|
||||||
return expectation;
|
// return expectation;
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
tt();
|
// tt();
|
||||||
myBuilder.setTokenTypeRemapper(null);
|
// myBuilder.setTokenTypeRemapper(null);
|
||||||
|
myBuilder.remapCurrentToken(expectation);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,6 @@ RAW_STRING_LITERAL = {THREE_QUO} {QUO_STRING_CHAR}* {THREE_QUO}?
|
|||||||
<YYINITIAL> {RAW_STRING_LITERAL} { return JetTokens.RAW_STRING_LITERAL; }
|
<YYINITIAL> {RAW_STRING_LITERAL} { return JetTokens.RAW_STRING_LITERAL; }
|
||||||
|
|
||||||
<YYINITIAL> "namespace" { return JetTokens.NAMESPACE_KEYWORD ;}
|
<YYINITIAL> "namespace" { return JetTokens.NAMESPACE_KEYWORD ;}
|
||||||
<YYINITIAL> "import" { return JetTokens.IMPORT_KEYWORD ;}
|
|
||||||
<YYINITIAL> "as" { return JetTokens.AS_KEYWORD ;}
|
<YYINITIAL> "as" { return JetTokens.AS_KEYWORD ;}
|
||||||
<YYINITIAL> "type" { return JetTokens.TYPE_KEYWORD ;}
|
<YYINITIAL> "type" { return JetTokens.TYPE_KEYWORD ;}
|
||||||
<YYINITIAL> "class" { return JetTokens.CLASS_KEYWORD ;}
|
<YYINITIAL> "class" { return JetTokens.CLASS_KEYWORD ;}
|
||||||
@@ -96,6 +95,8 @@ RAW_STRING_LITERAL = {THREE_QUO} {QUO_STRING_CHAR}* {THREE_QUO}?
|
|||||||
<YYINITIAL> "is" { return JetTokens.IS_KEYWORD ;}
|
<YYINITIAL> "is" { return JetTokens.IS_KEYWORD ;}
|
||||||
<YYINITIAL> "isnot" { return JetTokens.ISNOT_KEYWORD ;}
|
<YYINITIAL> "isnot" { return JetTokens.ISNOT_KEYWORD ;}
|
||||||
<YYINITIAL> "in" { return JetTokens.IN_KEYWORD ;}
|
<YYINITIAL> "in" { return JetTokens.IN_KEYWORD ;}
|
||||||
|
<YYINITIAL> "out" { return JetTokens.OUT_KEYWORD ;}
|
||||||
|
<YYINITIAL> "ref" { return JetTokens.REF_KEYWORD ;}
|
||||||
<YYINITIAL> "throw" { return JetTokens.THROW_KEYWORD ;}
|
<YYINITIAL> "throw" { return JetTokens.THROW_KEYWORD ;}
|
||||||
<YYINITIAL> "return" { return JetTokens.RETURN_KEYWORD ;}
|
<YYINITIAL> "return" { return JetTokens.RETURN_KEYWORD ;}
|
||||||
<YYINITIAL> "break" { return JetTokens.BREAK_KEYWORD ;}
|
<YYINITIAL> "break" { return JetTokens.BREAK_KEYWORD ;}
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ public interface JetTokens {
|
|||||||
JetToken RAW_STRING_LITERAL = new JetToken("RAW_STRING_LITERAL");
|
JetToken RAW_STRING_LITERAL = new JetToken("RAW_STRING_LITERAL");
|
||||||
|
|
||||||
JetToken NAMESPACE_KEYWORD = new JetToken("NAMESPACE_KEYWORD");
|
JetToken NAMESPACE_KEYWORD = new JetToken("NAMESPACE_KEYWORD");
|
||||||
JetToken IMPORT_KEYWORD = new JetToken("IMPORT_KEYWORD");
|
|
||||||
JetToken AS_KEYWORD = new JetToken("AS_KEYWORD");
|
JetToken AS_KEYWORD = new JetToken("AS_KEYWORD");
|
||||||
JetToken TYPE_KEYWORD = new JetToken("TYPE_KEYWORD");
|
JetToken TYPE_KEYWORD = new JetToken("TYPE_KEYWORD");
|
||||||
JetToken CLASS_KEYWORD = new JetToken("CLASS_KEYWORD");
|
JetToken CLASS_KEYWORD = new JetToken("CLASS_KEYWORD");
|
||||||
@@ -98,7 +97,10 @@ public interface JetTokens {
|
|||||||
JetToken MINUSEQ = new JetToken("MINUSEQ");
|
JetToken MINUSEQ = new JetToken("MINUSEQ");
|
||||||
JetToken COMMA = new JetToken("COMMA");
|
JetToken COMMA = new JetToken("COMMA");
|
||||||
|
|
||||||
|
JetToken EOL_OR_SEMICOLON = new JetToken("EOL_OR_SEMICOLON");
|
||||||
|
|
||||||
JetSoftKeywordToken WRAPS_KEYWORD = new JetSoftKeywordToken("wraps");
|
JetSoftKeywordToken WRAPS_KEYWORD = new JetSoftKeywordToken("wraps");
|
||||||
|
JetSoftKeywordToken IMPORT_KEYWORD = new JetSoftKeywordToken("import");
|
||||||
JetSoftKeywordToken WHERE_KEYWORD = new JetSoftKeywordToken("where");
|
JetSoftKeywordToken WHERE_KEYWORD = new JetSoftKeywordToken("where");
|
||||||
JetSoftKeywordToken BY_KEYWORD = new JetSoftKeywordToken("by");
|
JetSoftKeywordToken BY_KEYWORD = new JetSoftKeywordToken("by");
|
||||||
JetSoftKeywordToken LAZY_KEYWORD = new JetSoftKeywordToken("lazy");
|
JetSoftKeywordToken LAZY_KEYWORD = new JetSoftKeywordToken("lazy");
|
||||||
@@ -117,14 +119,14 @@ public interface JetTokens {
|
|||||||
JetSoftKeywordToken OUT_KEYWORD = new JetSoftKeywordToken("out");
|
JetSoftKeywordToken OUT_KEYWORD = new JetSoftKeywordToken("out");
|
||||||
JetSoftKeywordToken REF_KEYWORD = new JetSoftKeywordToken("ref");
|
JetSoftKeywordToken REF_KEYWORD = new JetSoftKeywordToken("ref");
|
||||||
|
|
||||||
TokenSet KEYWORDS = TokenSet.create(NAMESPACE_KEYWORD, IMPORT_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, CLASS_KEYWORD,
|
TokenSet KEYWORDS = TokenSet.create(NAMESPACE_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, CLASS_KEYWORD,
|
||||||
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, ISNOT_KEYWORD,
|
NULL_KEYWORD, TYPEOF_KEYWORD, NEW_KEYWORD, TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD, ISNOT_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
|
ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, MATCH_KEYWORD
|
||||||
);
|
);
|
||||||
|
|
||||||
TokenSet SOFT_KEYWORDS = TokenSet.create(WRAPS_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,
|
||||||
SET_KEYWORD, ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, ATTRIBUTE_KEYWORD,
|
SET_KEYWORD, ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, ATTRIBUTE_KEYWORD,
|
||||||
OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD, OUT_KEYWORD,
|
OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD, OUT_KEYWORD,
|
||||||
REF_KEYWORD
|
REF_KEYWORD
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* The following code was generated by JFlex 1.4.3 on 12/10/10 9:22 PM */
|
/* The following code was generated by JFlex 1.4.3 on 12/15/10 2:07 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/10/10 9:22 PM from the specification file
|
* on 12/15/10 2:07 PM from the specification file
|
||||||
* <tt>/Users/max/Projects/jet/idea/src/org/jetbrains/jet/lexer/Jet.flex</tt>
|
* <tt>/home/user/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 */
|
||||||
@@ -42,9 +42,9 @@ class _JetLexer implements FlexLexer {
|
|||||||
"\1\74\1\17\1\15\1\6\1\11\11\1\1\72\1\73\1\64\1\66"+
|
"\1\74\1\17\1\15\1\6\1\11\11\1\1\72\1\73\1\64\1\66"+
|
||||||
"\1\65\1\71\1\0\1\2\1\13\1\2\1\14\1\16\1\14\5\4"+
|
"\1\65\1\71\1\0\1\2\1\13\1\2\1\14\1\16\1\14\5\4"+
|
||||||
"\1\4\3\4\1\20\7\4\1\12\2\4\1\53\1\22\1\54\1\0"+
|
"\1\4\3\4\1\20\7\4\1\12\2\4\1\53\1\22\1\54\1\0"+
|
||||||
"\1\4\1\0\1\25\1\50\1\32\1\45\1\27\1\43\1\4\1\41"+
|
"\1\4\1\0\1\25\1\50\1\32\1\44\1\27\1\42\1\4\1\36"+
|
||||||
"\1\33\1\52\1\51\1\40\1\26\1\24\1\34\1\31\1\4\1\35"+
|
"\1\37\1\52\1\51\1\35\1\26\1\24\1\45\1\31\1\4\1\41"+
|
||||||
"\1\30\1\36\1\44\1\42\1\47\1\46\1\37\1\4\1\55\1\70"+
|
"\1\30\1\33\1\43\1\40\1\47\1\46\1\34\1\4\1\55\1\70"+
|
||||||
"\1\56\1\0\41\5\2\0\4\4\4\0\1\4\2\0\1\5\7\0"+
|
"\1\56\1\0\41\5\2\0\4\4\4\0\1\4\2\0\1\5\7\0"+
|
||||||
"\1\4\4\0\1\4\5\0\27\4\1\0\37\4\1\0\u013f\4\31\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\21\0\130\5\5\0"+
|
"\162\4\4\0\14\4\16\0\5\4\11\0\1\4\21\0\130\5\5\0"+
|
||||||
@@ -144,20 +144,20 @@ class _JetLexer implements FlexLexer {
|
|||||||
"\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
|
"\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
|
||||||
"\1\26\2\1\1\27\1\30\1\31\1\32\3\33\1\34"+
|
"\1\26\2\1\1\27\1\30\1\31\1\32\3\33\1\34"+
|
||||||
"\1\35\1\36\1\37\1\0\2\2\1\40\1\41\1\42"+
|
"\1\35\1\36\1\37\1\0\2\2\1\40\1\41\1\42"+
|
||||||
"\1\43\1\44\2\11\3\12\3\3\1\45\5\3\1\46"+
|
"\1\43\1\44\2\11\3\12\3\3\1\45\10\3\1\46"+
|
||||||
"\1\3\1\47\1\50\12\3\1\51\2\3\1\52\1\53"+
|
"\1\47\1\50\6\3\1\51\4\3\1\52\1\53\1\54"+
|
||||||
"\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63"+
|
"\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64"+
|
||||||
"\1\64\1\33\1\35\1\65\2\0\1\12\1\66\1\3"+
|
"\1\33\1\35\1\65\2\0\1\12\1\66\1\3\1\67"+
|
||||||
"\1\67\16\3\1\70\1\71\1\3\1\72\1\73\3\3"+
|
"\13\3\1\70\1\71\1\3\1\72\1\3\1\73\1\74"+
|
||||||
"\1\74\1\0\2\65\1\0\1\33\2\0\1\3\1\75"+
|
"\1\3\1\75\3\3\1\76\1\0\2\65\1\0\1\33"+
|
||||||
"\1\3\1\76\7\3\1\77\1\100\1\101\5\3\1\35"+
|
"\2\0\1\3\1\77\1\3\1\100\3\3\1\101\1\102"+
|
||||||
"\1\0\1\33\1\0\1\3\1\102\2\3\1\103\1\3"+
|
"\1\3\1\103\7\3\1\35\1\0\1\33\1\0\1\3"+
|
||||||
"\1\104\3\3\1\105\1\106\1\3\1\107\1\110\1\66"+
|
"\1\104\1\3\1\105\2\3\1\106\1\107\1\3\1\110"+
|
||||||
"\3\3\1\111\1\112\1\113\1\114\7\3\1\115\1\3"+
|
"\2\3\1\111\1\112\1\66\3\3\1\113\1\114\1\3"+
|
||||||
"\1\116\1\117\1\3\1\120";
|
"\1\115\6\3\1\116\1\3\1\117\1\120\1\3\1\121";
|
||||||
|
|
||||||
private static int [] zzUnpackAction() {
|
private static int [] zzUnpackAction() {
|
||||||
int [] result = new int[199];
|
int [] result = new int[197];
|
||||||
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;
|
||||||
@@ -191,25 +191,25 @@ class _JetLexer implements FlexLexer {
|
|||||||
"\0\u090e\0\75\0\75\0\u094b\0\u0988\0\u09c5\0\75\0\75"+
|
"\0\u090e\0\75\0\75\0\u094b\0\u0988\0\u09c5\0\75\0\75"+
|
||||||
"\0\75\0\75\0\75\0\75\0\u0a02\0\u0a3f\0\u0a7c\0\u0ab9"+
|
"\0\75\0\75\0\75\0\75\0\u0a02\0\u0a3f\0\u0a7c\0\u0ab9"+
|
||||||
"\0\u0af6\0\u0b33\0\u0b70\0\267\0\u0bad\0\u0bea\0\u0c27\0\u0c64"+
|
"\0\u0af6\0\u0b33\0\u0b70\0\267\0\u0bad\0\u0bea\0\u0c27\0\u0c64"+
|
||||||
"\0\u0ca1\0\267\0\u0cde\0\u0d1b\0\267\0\u0d58\0\u0d95\0\u0dd2"+
|
"\0\u0ca1\0\u0cde\0\u0d1b\0\u0d58\0\267\0\u0d95\0\267\0\u0dd2"+
|
||||||
"\0\u0e0f\0\u0e4c\0\u0e89\0\u0ec6\0\u0f03\0\u0f40\0\u0f7d\0\267"+
|
"\0\u0e0f\0\u0e4c\0\u0e89\0\u0ec6\0\u0f03\0\267\0\u0f40\0\u0f7d"+
|
||||||
"\0\u0fba\0\u0ff7\0\75\0\75\0\75\0\75\0\75\0\75"+
|
"\0\u0fba\0\u0ff7\0\75\0\75\0\75\0\75\0\75\0\75"+
|
||||||
"\0\u1034\0\75\0\75\0\75\0\75\0\u1071\0\u10ae\0\u10eb"+
|
"\0\u1034\0\75\0\75\0\75\0\75\0\u1071\0\u10ae\0\u10eb"+
|
||||||
"\0\u1128\0\u1165\0\75\0\u11a2\0\u11df\0\267\0\u121c\0\u1259"+
|
"\0\u1128\0\u1165\0\75\0\u11a2\0\u11df\0\267\0\u121c\0\u1259"+
|
||||||
"\0\u1296\0\u12d3\0\u1310\0\u134d\0\u138a\0\u13c7\0\u1404\0\u1441"+
|
"\0\u1296\0\u12d3\0\u1310\0\u134d\0\u138a\0\u13c7\0\u1404\0\u1441"+
|
||||||
"\0\u147e\0\u14bb\0\u14f8\0\u1535\0\267\0\267\0\u1572\0\267"+
|
"\0\u147e\0\267\0\267\0\u14bb\0\267\0\u14f8\0\267\0\267"+
|
||||||
"\0\267\0\u15af\0\u15ec\0\u1629\0\75\0\u1666\0\u16a3\0\75"+
|
"\0\u1535\0\267\0\u1572\0\u15af\0\u15ec\0\75\0\u1629\0\u1666"+
|
||||||
"\0\u16e0\0\u171d\0\u175a\0\u1797\0\u17d4\0\267\0\u1811\0\267"+
|
"\0\75\0\u16a3\0\u16e0\0\u171d\0\u175a\0\u1797\0\267\0\u17d4"+
|
||||||
"\0\u184e\0\u188b\0\u18c8\0\u1905\0\u1942\0\u197f\0\u19bc\0\267"+
|
"\0\267\0\u1811\0\u184e\0\u188b\0\u18c8\0\267\0\u1905\0\267"+
|
||||||
"\0\u19f9\0\267\0\u1a36\0\u1a73\0\u1ab0\0\u1aed\0\u1b2a\0\75"+
|
"\0\u1942\0\u197f\0\u19bc\0\u19f9\0\u1a36\0\u1a73\0\u1ab0\0\75"+
|
||||||
"\0\u1b67\0\u1128\0\u1ba4\0\u1be1\0\267\0\u1c1e\0\u1c5b\0\267"+
|
"\0\u1aed\0\u1128\0\u1b2a\0\u1b67\0\267\0\u1ba4\0\267\0\u1be1"+
|
||||||
"\0\u1c98\0\267\0\u1cd5\0\u1d12\0\u1d4f\0\267\0\267\0\u1d8c"+
|
"\0\u1c1e\0\267\0\267\0\u1c5b\0\267\0\u1c98\0\u1cd5\0\267"+
|
||||||
"\0\267\0\267\0\75\0\u1dc9\0\u1e06\0\u1e43\0\267\0\267"+
|
"\0\267\0\75\0\u1d12\0\u1d4f\0\u1d8c\0\267\0\267\0\u1dc9"+
|
||||||
"\0\267\0\267\0\u1e80\0\u1ebd\0\u1efa\0\u1f37\0\u1f74\0\u1fb1"+
|
"\0\267\0\u1e06\0\u1e43\0\u1e80\0\u1ebd\0\u1efa\0\u1f37\0\267"+
|
||||||
"\0\u1fee\0\267\0\u202b\0\267\0\267\0\u2068\0\267";
|
"\0\u1f74\0\267\0\267\0\u1fb1\0\267";
|
||||||
|
|
||||||
private static int [] zzUnpackRowMap() {
|
private static int [] zzUnpackRowMap() {
|
||||||
int [] result = new int[199];
|
int [] result = new int[197];
|
||||||
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;
|
||||||
@@ -235,214 +235,209 @@ class _JetLexer implements FlexLexer {
|
|||||||
"\1\2\1\3\1\4\1\5\1\4\1\2\1\6\1\7"+
|
"\1\2\1\3\1\4\1\5\1\4\1\2\1\6\1\7"+
|
||||||
"\1\5\1\10\3\4\1\11\1\4\1\12\1\4\1\13"+
|
"\1\5\1\10\3\4\1\11\1\4\1\12\1\4\1\13"+
|
||||||
"\1\2\1\14\1\15\1\16\1\17\1\20\2\4\1\21"+
|
"\1\2\1\14\1\15\1\16\1\17\1\20\2\4\1\21"+
|
||||||
"\1\22\1\23\1\24\1\25\3\4\1\26\1\27\1\4"+
|
"\1\22\3\4\1\23\1\24\1\25\1\26\1\4\1\27"+
|
||||||
"\1\30\1\4\1\31\1\32\2\4\1\33\1\34\1\35"+
|
"\1\30\1\4\1\31\1\32\2\4\1\33\1\34\1\35"+
|
||||||
"\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
|
"\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
|
||||||
"\1\46\1\47\1\50\1\51\1\52\1\53\1\54\76\0"+
|
"\1\46\1\47\1\50\1\51\1\52\1\53\1\54\76\0"+
|
||||||
"\1\3\7\0\1\3\2\0\1\55\1\56\1\57\10\0"+
|
"\1\3\7\0\1\3\2\0\1\55\1\56\1\57\10\0"+
|
||||||
"\1\57\13\0\1\55\1\0\1\55\30\0\2\4\1\0"+
|
"\1\57\12\0\1\55\1\0\1\55\31\0\2\4\1\0"+
|
||||||
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
"\27\4\25\0\1\5\4\0\1\5\72\0\1\60\1\61"+
|
"\27\4\25\0\1\5\4\0\1\5\72\0\1\60\1\61"+
|
||||||
"\56\0\1\62\74\0\1\63\7\0\1\64\7\0\1\64"+
|
"\56\0\1\62\74\0\1\63\7\0\1\64\7\0\1\64"+
|
||||||
"\1\65\1\66\1\55\1\56\1\57\10\0\1\57\13\0"+
|
"\1\65\1\66\1\55\1\56\1\57\10\0\1\57\12\0"+
|
||||||
"\1\55\1\0\1\55\1\65\1\0\1\66\25\0\1\56"+
|
"\1\55\1\0\1\55\1\0\1\65\1\0\1\66\25\0"+
|
||||||
"\5\0\1\67\1\0\1\56\3\0\1\70\53\0\1\71"+
|
"\1\56\5\0\1\67\1\0\1\56\3\0\1\70\53\0"+
|
||||||
"\22\0\1\72\46\0\1\73\6\0\10\13\1\0\10\13"+
|
"\1\71\22\0\1\72\46\0\1\73\6\0\10\13\1\0"+
|
||||||
"\1\74\1\75\52\13\10\76\1\0\11\76\1\77\1\100"+
|
"\10\13\1\74\1\75\52\13\10\76\1\0\11\76\1\77"+
|
||||||
"\51\76\1\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
"\1\100\51\76\1\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
"\1\4\1\0\1\4\3\0\1\4\1\101\1\4\1\102"+
|
"\1\0\1\4\1\0\1\4\3\0\1\4\1\101\1\4"+
|
||||||
"\14\4\1\103\6\4\23\0\2\4\1\0\2\4\3\0"+
|
"\1\102\13\4\1\103\7\4\23\0\2\4\1\0\2\4"+
|
||||||
"\4\4\1\0\1\4\1\0\1\4\3\0\4\4\1\104"+
|
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\4\4"+
|
||||||
"\22\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
"\1\104\22\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
"\1\4\1\0\1\4\3\0\1\4\1\105\25\4\23\0"+
|
"\1\0\1\4\1\0\1\4\3\0\1\4\1\105\25\4"+
|
||||||
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\11\4\1\106\10\4\1\107\4\4"+
|
||||||
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\11\4\1\110\7\4\1\111\5\4"+
|
||||||
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\10\4\1\112\1\4\1\113\2\4"+
|
||||||
|
"\1\114\11\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
|
"\1\0\1\4\1\0\1\4\3\0\1\115\3\4\1\116"+
|
||||||
|
"\11\4\1\117\10\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\1\4\1\120"+
|
||||||
|
"\25\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\3\4\1\121\23\4\23\0"+
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
"\1\4\3\0\14\4\1\106\5\4\1\107\4\4\23\0"+
|
"\1\4\3\0\1\4\1\122\15\4\1\123\1\4\1\124"+
|
||||||
|
"\5\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\3\4\1\125\15\4\1\126"+
|
||||||
|
"\5\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\17\4\1\127\4\4\1\130"+
|
||||||
|
"\2\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\12\4\1\131\14\4\23\0"+
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
"\1\4\3\0\10\4\1\110\3\4\1\111\12\4\23\0"+
|
"\1\4\3\0\15\4\1\132\11\4\103\0\1\133\4\0"+
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
"\1\134\74\0\1\135\74\0\1\136\74\0\1\137\74\0"+
|
||||||
"\1\4\3\0\1\112\1\4\1\113\1\4\1\114\12\4"+
|
"\1\140\74\0\1\141\75\0\1\142\75\0\1\143\21\0"+
|
||||||
"\1\115\7\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
"\1\144\54\0\1\145\3\0\1\56\7\0\1\56\2\0"+
|
||||||
"\1\0\1\4\1\0\1\4\3\0\24\4\1\116\2\4"+
|
"\1\55\1\0\1\57\10\0\1\57\12\0\1\55\1\0"+
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
"\1\55\31\0\1\146\7\0\1\146\2\0\1\55\2\0"+
|
||||||
"\1\0\1\4\3\0\3\4\1\117\23\4\23\0\2\4"+
|
"\1\146\22\0\1\55\1\0\1\55\14\0\1\146\13\0"+
|
||||||
|
"\10\60\1\0\64\60\7\147\1\150\65\147\1\0\1\64"+
|
||||||
|
"\7\0\1\64\2\0\1\55\1\56\1\57\10\0\1\57"+
|
||||||
|
"\12\0\1\55\1\0\1\55\30\0\1\151\2\65\5\151"+
|
||||||
|
"\1\0\1\65\1\151\2\65\1\151\1\65\1\151\1\152"+
|
||||||
|
"\4\151\1\65\1\151\1\65\1\151\1\152\1\65\7\151"+
|
||||||
|
"\1\65\1\151\1\65\3\151\1\65\24\151\1\0\1\66"+
|
||||||
|
"\7\0\1\66\63\0\10\13\1\0\64\13\10\76\1\0"+
|
||||||
|
"\11\76\1\77\1\153\61\76\1\0\64\76\23\0\1\154"+
|
||||||
|
"\52\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\2\4\1\155\24\4\23\0\2\4"+
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
||||||
"\3\0\11\4\1\120\1\4\1\121\1\4\1\122\11\4"+
|
"\3\0\23\4\1\156\3\4\23\0\2\4\1\0\2\4"+
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\1\4\1\123\25\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\1\4\1\124\6\4\1\125\7\4\1\126\6\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\3\4\1\127\4\4\1\130\16\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\15\4\1\131\11\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\11\4\1\132\15\4\103\0\1\133\4\0\1\134"+
|
|
||||||
"\74\0\1\135\74\0\1\136\74\0\1\137\74\0\1\140"+
|
|
||||||
"\74\0\1\141\75\0\1\142\75\0\1\143\21\0\1\144"+
|
|
||||||
"\54\0\1\145\3\0\1\56\7\0\1\56\2\0\1\55"+
|
|
||||||
"\1\0\1\57\10\0\1\57\13\0\1\55\1\0\1\55"+
|
|
||||||
"\30\0\1\146\7\0\1\146\2\0\1\55\2\0\1\146"+
|
|
||||||
"\23\0\1\55\1\0\1\55\13\0\1\146\13\0\10\60"+
|
|
||||||
"\1\0\64\60\7\147\1\150\65\147\1\0\1\64\7\0"+
|
|
||||||
"\1\64\2\0\1\55\1\56\1\57\10\0\1\57\13\0"+
|
|
||||||
"\1\55\1\0\1\55\27\0\1\151\2\65\5\151\1\0"+
|
|
||||||
"\1\65\1\151\2\65\1\151\1\65\1\151\1\152\4\151"+
|
|
||||||
"\1\65\1\151\1\65\1\151\1\152\1\65\10\151\1\65"+
|
|
||||||
"\1\151\1\65\2\151\1\65\24\151\1\0\1\66\7\0"+
|
|
||||||
"\1\66\63\0\10\13\1\0\64\13\10\76\1\0\11\76"+
|
|
||||||
"\1\77\1\153\61\76\1\0\64\76\23\0\1\154\52\0"+
|
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
|
||||||
"\1\4\3\0\2\4\1\155\24\4\23\0\2\4\1\0"+
|
|
||||||
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
|
||||||
"\23\4\1\156\3\4\23\0\2\4\1\0\2\4\3\0"+
|
|
||||||
"\4\4\1\0\1\4\1\0\1\4\3\0\14\4\1\157"+
|
|
||||||
"\12\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
|
||||||
"\1\4\1\0\1\4\3\0\12\4\1\160\14\4\23\0"+
|
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
|
||||||
"\1\4\3\0\4\4\1\161\22\4\23\0\2\4\1\0"+
|
|
||||||
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
|
||||||
"\12\4\1\162\14\4\23\0\2\4\1\0\2\4\3\0"+
|
|
||||||
"\4\4\1\0\1\4\1\0\1\4\3\0\1\163\26\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\1\4\1\164\25\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\5\4\1\165\21\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\1\166"+
|
|
||||||
"\26\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
|
||||||
"\1\4\1\0\1\4\3\0\26\4\1\167\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\12\4\1\170\14\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\20\4"+
|
|
||||||
"\1\171\6\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\5\4\1\172\21\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\7\4\1\173\1\4\1\174\15\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\11\4\1\175\2\4\1\176\12\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\14\4\1\177\12\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\11\4\1\200\15\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\1\201"+
|
|
||||||
"\26\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
|
||||||
"\1\4\1\0\1\4\3\0\6\4\1\202\20\4\23\0"+
|
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
|
||||||
"\1\4\3\0\7\4\1\203\17\4\23\0\2\4\1\0"+
|
|
||||||
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
|
||||||
"\3\4\1\204\23\4\110\0\1\205\7\0\1\146\7\0"+
|
|
||||||
"\1\146\2\0\1\55\26\0\1\55\1\0\1\55\27\0"+
|
|
||||||
"\7\147\1\206\65\147\6\207\1\210\1\150\65\207\1\0"+
|
|
||||||
"\2\151\6\0\1\151\1\0\2\151\1\0\1\151\1\0"+
|
|
||||||
"\1\211\4\0\1\151\1\0\1\151\1\0\1\211\1\151"+
|
|
||||||
"\10\0\1\151\1\0\1\151\2\0\1\151\25\0\1\212"+
|
|
||||||
"\1\151\6\0\1\212\1\0\2\151\1\0\1\151\1\213"+
|
|
||||||
"\1\211\4\0\1\151\1\0\1\151\1\0\1\211\1\151"+
|
|
||||||
"\10\0\1\151\1\0\1\151\2\0\1\151\10\0\1\213"+
|
|
||||||
"\13\0\23\154\1\214\51\154\1\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\3\4"+
|
|
||||||
"\1\215\23\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\14\4\1\216\12\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\6\4\1\217\20\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\3\4\1\220\23\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\3\4"+
|
|
||||||
"\1\221\23\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\12\4\1\222\14\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\4\4\1\223\22\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\10\4\1\224\16\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\10\4"+
|
|
||||||
"\1\225\16\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\3\4\1\226\23\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\20\4\1\227\6\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\3\4\1\230\23\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\3\4"+
|
|
||||||
"\1\231\23\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\4\4\1\232\22\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\10\4\1\233\16\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\4\4\1\234\22\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\10\4"+
|
|
||||||
"\1\235\16\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\14\4\1\236\12\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\1\4\1\237\25\4\22\0\6\147"+
|
|
||||||
"\1\240\1\206\65\147\7\207\1\241\65\207\1\0\1\146"+
|
|
||||||
"\7\0\1\146\5\0\1\213\41\0\1\213\14\0\1\212"+
|
|
||||||
"\1\151\6\0\1\212\1\0\1\151\1\242\1\0\1\151"+
|
|
||||||
"\1\0\1\211\4\0\1\151\1\0\1\151\1\0\1\211"+
|
|
||||||
"\1\151\10\0\1\242\1\0\1\242\2\0\1\151\25\0"+
|
|
||||||
"\1\146\7\0\1\146\63\0\23\154\1\243\51\154\1\0"+
|
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
|
||||||
"\1\4\3\0\4\4\1\244\22\4\23\0\2\4\1\0"+
|
|
||||||
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
|
||||||
"\15\4\1\245\11\4\23\0\2\4\1\0\2\4\3\0"+
|
|
||||||
"\4\4\1\0\1\4\1\0\1\4\3\0\1\246\26\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\7\4\1\247\17\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\4\4\1\250\22\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\11\4"+
|
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\11\4"+
|
||||||
"\1\251\15\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
"\1\157\15\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
"\1\0\1\4\1\0\1\4\3\0\12\4\1\252\14\4"+
|
"\1\0\1\4\1\0\1\4\3\0\7\4\1\160\17\4"+
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
"\1\0\1\4\3\0\6\4\1\253\20\4\23\0\2\4"+
|
"\1\0\1\4\3\0\4\4\1\161\22\4\23\0\2\4"+
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
||||||
"\3\0\11\4\1\254\15\4\23\0\2\4\1\0\2\4"+
|
"\3\0\7\4\1\162\17\4\23\0\2\4\1\0\2\4"+
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\10\4"+
|
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\1\4"+
|
||||||
"\1\255\16\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
"\1\163\25\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
"\1\0\1\4\1\0\1\4\3\0\23\4\1\256\3\4"+
|
"\1\0\1\4\1\0\1\4\3\0\1\164\26\4\23\0"+
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\3\4\1\257\23\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\2\4\1\260\24\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\3\4"+
|
|
||||||
"\1\261\23\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\25\4\1\262\1\4"+
|
|
||||||
"\22\0\6\207\1\210\1\241\65\207\23\154\1\263\51\154"+
|
|
||||||
"\1\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
|
||||||
"\1\0\1\4\3\0\5\4\1\264\21\4\23\0\2\4"+
|
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\4\4\1\265\22\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\1\266"+
|
|
||||||
"\26\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
|
||||||
"\1\4\1\0\1\4\3\0\12\4\1\267\14\4\23\0"+
|
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
"\1\4\3\0\12\4\1\270\14\4\23\0\2\4\1\0"+
|
"\1\4\3\0\5\4\1\165\21\4\23\0\2\4\1\0"+
|
||||||
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
"\1\271\26\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
"\13\4\1\166\1\4\1\167\11\4\23\0\2\4\1\0"+
|
||||||
"\1\0\1\4\1\0\1\4\3\0\17\4\1\272\7\4"+
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\17\4\1\170\7\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\1\171\26\4"+
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
"\1\0\1\4\3\0\5\4\1\273\21\4\23\0\2\4"+
|
"\1\0\1\4\3\0\11\4\1\172\3\4\1\173\11\4"+
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\1\4\1\274\25\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\7\4"+
|
|
||||||
"\1\275\17\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\20\4\1\276\6\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
"\1\0\1\4\3\0\10\4\1\277\16\4\23\0\2\4"+
|
"\1\0\1\4\3\0\7\4\1\174\6\4\1\175\10\4"+
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
|
||||||
"\3\0\6\4\1\300\20\4\23\0\2\4\1\0\2\4"+
|
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\10\4"+
|
|
||||||
"\1\301\16\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
|
||||||
"\1\0\1\4\1\0\1\4\3\0\3\4\1\302\23\4"+
|
|
||||||
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
"\1\0\1\4\3\0\4\4\1\303\22\4\23\0\2\4"+
|
"\1\0\1\4\3\0\11\4\1\176\15\4\23\0\2\4"+
|
||||||
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
||||||
"\3\0\3\4\1\304\23\4\23\0\2\4\1\0\2\4"+
|
"\3\0\1\177\26\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\1\305"+
|
"\4\4\1\0\1\4\1\0\1\4\3\0\15\4\1\200"+
|
||||||
"\26\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
"\11\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
"\1\4\1\0\1\4\3\0\3\4\1\306\23\4\23\0"+
|
"\1\4\1\0\1\4\3\0\6\4\1\201\20\4\23\0"+
|
||||||
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
"\1\4\3\0\11\4\1\307\15\4\22\0";
|
"\1\4\3\0\7\4\1\202\17\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\26\4\1\203\23\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
|
"\1\0\1\4\1\0\1\4\3\0\13\4\1\204\13\4"+
|
||||||
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\3\4\1\205\23\4\110\0\1\206"+
|
||||||
|
"\7\0\1\146\7\0\1\146\2\0\1\55\25\0\1\55"+
|
||||||
|
"\1\0\1\55\30\0\7\147\1\207\65\147\6\210\1\211"+
|
||||||
|
"\1\150\65\210\1\0\2\151\6\0\1\151\1\0\2\151"+
|
||||||
|
"\1\0\1\151\1\0\1\212\4\0\1\151\1\0\1\151"+
|
||||||
|
"\1\0\1\212\1\151\7\0\1\151\1\0\1\151\3\0"+
|
||||||
|
"\1\151\25\0\1\213\1\151\6\0\1\213\1\0\2\151"+
|
||||||
|
"\1\0\1\151\1\214\1\212\4\0\1\151\1\0\1\151"+
|
||||||
|
"\1\0\1\212\1\151\7\0\1\151\1\0\1\151\3\0"+
|
||||||
|
"\1\151\10\0\1\214\13\0\23\154\1\215\51\154\1\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\3\4\1\216\23\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\11\4\1\217\15\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\6\4\1\220"+
|
||||||
|
"\20\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\3\4\1\221\23\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\3\4\1\222\23\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\4\4\1\223\22\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\7\4\1\224"+
|
||||||
|
"\17\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\3\4\1\225\23\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\4\4\1\226\22\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\21\4\1\227\5\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\3\4\1\230"+
|
||||||
|
"\23\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\21\4\1\231\5\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\17\4\1\232\7\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\4\4\1\233\22\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\21\4\1\234"+
|
||||||
|
"\5\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\3\4\1\235\23\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\11\4\1\236\15\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\1\4\1\237\25\4\22\0\6\147\1\240\1\207\65\147"+
|
||||||
|
"\7\210\1\241\65\210\1\0\1\146\7\0\1\146\5\0"+
|
||||||
|
"\1\214\41\0\1\214\14\0\1\213\1\151\6\0\1\213"+
|
||||||
|
"\1\0\1\151\1\242\1\0\1\151\1\0\1\212\4\0"+
|
||||||
|
"\1\151\1\0\1\151\1\0\1\212\1\151\7\0\1\242"+
|
||||||
|
"\1\0\1\242\3\0\1\151\25\0\1\146\7\0\1\146"+
|
||||||
|
"\63\0\23\154\1\243\51\154\1\0\2\4\1\0\2\4"+
|
||||||
|
"\3\0\4\4\1\0\1\4\1\0\1\4\3\0\4\4"+
|
||||||
|
"\1\244\22\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
|
"\1\0\1\4\1\0\1\4\3\0\12\4\1\245\14\4"+
|
||||||
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\1\246\26\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\4\4\1\247\22\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\13\4\1\250"+
|
||||||
|
"\13\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\21\4\1\251\5\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\23\4\1\252\3\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\7\4\1\253\17\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\15\4\1\254"+
|
||||||
|
"\11\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\3\4\1\255\23\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\2\4\1\256\24\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\6\4\1\257\20\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\3\4\1\260"+
|
||||||
|
"\23\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\25\4\1\261\1\4\22\0"+
|
||||||
|
"\6\210\1\211\1\241\65\210\23\154\1\262\51\154\1\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\5\4\1\263\21\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\4\4\1\264\22\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\1\265\26\4"+
|
||||||
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\16\4\1\266\10\4\23\0\2\4"+
|
||||||
|
"\1\0\2\4\3\0\4\4\1\0\1\4\1\0\1\4"+
|
||||||
|
"\3\0\1\267\26\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\5\4\1\270"+
|
||||||
|
"\21\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\7\4\1\271\17\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\1\4\1\272\25\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\13\4\1\273\13\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\17\4\1\274"+
|
||||||
|
"\7\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\21\4\1\275\5\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\6\4\1\276\20\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\21\4\1\277\5\4\23\0\2\4\1\0\2\4\3\0"+
|
||||||
|
"\4\4\1\0\1\4\1\0\1\4\3\0\3\4\1\300"+
|
||||||
|
"\23\4\23\0\2\4\1\0\2\4\3\0\4\4\1\0"+
|
||||||
|
"\1\4\1\0\1\4\3\0\4\4\1\301\22\4\23\0"+
|
||||||
|
"\2\4\1\0\2\4\3\0\4\4\1\0\1\4\1\0"+
|
||||||
|
"\1\4\3\0\3\4\1\302\23\4\23\0\2\4\1\0"+
|
||||||
|
"\2\4\3\0\4\4\1\0\1\4\1\0\1\4\3\0"+
|
||||||
|
"\1\303\26\4\23\0\2\4\1\0\2\4\3\0\4\4"+
|
||||||
|
"\1\0\1\4\1\0\1\4\3\0\3\4\1\304\23\4"+
|
||||||
|
"\23\0\2\4\1\0\2\4\3\0\4\4\1\0\1\4"+
|
||||||
|
"\1\0\1\4\3\0\15\4\1\305\11\4\22\0";
|
||||||
|
|
||||||
private static int [] zzUnpackTrans() {
|
private static int [] zzUnpackTrans() {
|
||||||
int [] result = new int[8357];
|
int [] result = new int[8174];
|
||||||
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;
|
||||||
@@ -485,12 +480,12 @@ class _JetLexer implements FlexLexer {
|
|||||||
private static final String ZZ_ATTRIBUTE_PACKED_0 =
|
private static final String ZZ_ATTRIBUTE_PACKED_0 =
|
||||||
"\1\0\1\11\30\1\6\11\11\1\4\11\4\1\2\11"+
|
"\1\0\1\11\30\1\6\11\11\1\4\11\4\1\2\11"+
|
||||||
"\1\0\2\1\6\11\36\1\6\11\1\1\4\11\3\1"+
|
"\1\0\2\1\6\11\36\1\6\11\1\1\4\11\3\1"+
|
||||||
"\2\0\1\11\31\1\1\11\1\0\1\1\1\11\1\0"+
|
"\2\0\1\11\32\1\1\11\1\0\1\1\1\11\1\0"+
|
||||||
"\1\1\2\0\23\1\1\11\1\0\1\1\1\0\17\1"+
|
"\1\1\2\0\22\1\1\11\1\0\1\1\1\0\16\1"+
|
||||||
"\1\11\24\1";
|
"\1\11\23\1";
|
||||||
|
|
||||||
private static int [] zzUnpackAttribute() {
|
private static int [] zzUnpackAttribute() {
|
||||||
int [] result = new int[199];
|
int [] result = new int[197];
|
||||||
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;
|
||||||
@@ -798,323 +793,327 @@ class _JetLexer implements FlexLexer {
|
|||||||
case 3:
|
case 3:
|
||||||
{ return JetTokens.IDENTIFIER;
|
{ return JetTokens.IDENTIFIER;
|
||||||
}
|
}
|
||||||
case 81: break;
|
|
||||||
case 58:
|
|
||||||
{ return JetTokens.FOR_KEYWORD ;
|
|
||||||
}
|
|
||||||
case 82: break;
|
case 82: break;
|
||||||
case 75:
|
case 60:
|
||||||
{ return JetTokens.RETURN_KEYWORD ;
|
{ return JetTokens.FOR_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 83: break;
|
case 83: break;
|
||||||
case 61:
|
case 61:
|
||||||
{ return JetTokens.NULL_KEYWORD ;
|
{ return JetTokens.OUT_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 84: break;
|
case 84: break;
|
||||||
|
case 76:
|
||||||
|
{ return JetTokens.RETURN_KEYWORD ;
|
||||||
|
}
|
||||||
|
case 85: break;
|
||||||
|
case 63:
|
||||||
|
{ return JetTokens.NULL_KEYWORD ;
|
||||||
|
}
|
||||||
|
case 86: break;
|
||||||
case 20:
|
case 20:
|
||||||
{ return JetTokens.LT ;
|
{ return JetTokens.LT ;
|
||||||
}
|
}
|
||||||
case 85: break;
|
case 87: break;
|
||||||
case 41:
|
case 41:
|
||||||
{ return JetTokens.DO_KEYWORD ;
|
{ return JetTokens.DO_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 86: break;
|
case 88: break;
|
||||||
case 17:
|
case 17:
|
||||||
{ return JetTokens.PLUS ;
|
{ return JetTokens.PLUS ;
|
||||||
}
|
}
|
||||||
case 87: break;
|
case 89: break;
|
||||||
case 54:
|
case 54:
|
||||||
{ return JetTokens.RAW_STRING_LITERAL;
|
{ return JetTokens.RAW_STRING_LITERAL;
|
||||||
}
|
}
|
||||||
case 88: break;
|
case 90: break;
|
||||||
case 43:
|
case 43:
|
||||||
{ return JetTokens.PLUSEQ ;
|
{ return JetTokens.PLUSEQ ;
|
||||||
}
|
}
|
||||||
case 89: break;
|
case 91: break;
|
||||||
case 26:
|
case 26:
|
||||||
{ return JetTokens.COMMA ;
|
{ return JetTokens.COMMA ;
|
||||||
}
|
}
|
||||||
case 90: break;
|
case 92: break;
|
||||||
case 66:
|
case 68:
|
||||||
{ return JetTokens.MATCH_KEYWORD ;
|
{ return JetTokens.MATCH_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 91: break;
|
case 93: break;
|
||||||
case 21:
|
case 21:
|
||||||
{ return JetTokens.GT ;
|
{ return JetTokens.GT ;
|
||||||
}
|
}
|
||||||
case 92: break;
|
case 94: break;
|
||||||
case 4:
|
case 4:
|
||||||
{ return JetTokens.WHITE_SPACE;
|
{ return JetTokens.WHITE_SPACE;
|
||||||
}
|
}
|
||||||
case 93: break;
|
case 95: break;
|
||||||
case 76:
|
case 75:
|
||||||
{ return JetTokens.TYPEOF_KEYWORD ;
|
{ return JetTokens.TYPEOF_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 94: break;
|
case 96: break;
|
||||||
case 16:
|
case 16:
|
||||||
{ return JetTokens.RPAR ;
|
{ return JetTokens.RPAR ;
|
||||||
}
|
}
|
||||||
case 95: break;
|
case 97: break;
|
||||||
case 63:
|
case 67:
|
||||||
{ return JetTokens.TRUE_KEYWORD ;
|
{ return JetTokens.TRUE_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 96: break;
|
case 98: break;
|
||||||
case 49:
|
case 49:
|
||||||
{ return JetTokens.ANDAND ;
|
{ return JetTokens.ANDAND ;
|
||||||
}
|
}
|
||||||
case 97: break;
|
case 99: break;
|
||||||
case 53:
|
case 53:
|
||||||
{ return JetTokens.DOC_COMMENT;
|
{ return JetTokens.DOC_COMMENT;
|
||||||
}
|
}
|
||||||
case 98: break;
|
case 100: break;
|
||||||
case 27:
|
case 27:
|
||||||
{ return JetTokens.FLOAT_LITERAL;
|
{ return JetTokens.FLOAT_LITERAL;
|
||||||
}
|
}
|
||||||
case 99: break;
|
case 101: break;
|
||||||
case 28:
|
case 28:
|
||||||
{ return JetTokens.EOL_COMMENT;
|
{ return JetTokens.EOL_COMMENT;
|
||||||
}
|
}
|
||||||
case 100: break;
|
case 102: break;
|
||||||
case 24:
|
case 24:
|
||||||
{ return JetTokens.COLON ;
|
{ return JetTokens.COLON ;
|
||||||
}
|
}
|
||||||
case 101: break;
|
case 103: break;
|
||||||
case 46:
|
case 46:
|
||||||
{ return JetTokens.LTEQ ;
|
{ return JetTokens.LTEQ ;
|
||||||
}
|
}
|
||||||
case 102: break;
|
case 104: break;
|
||||||
case 73:
|
|
||||||
{ return JetTokens.IMPORT_KEYWORD ;
|
|
||||||
}
|
|
||||||
case 103: break;
|
|
||||||
case 11:
|
case 11:
|
||||||
{ return JetTokens.LBRACKET ;
|
{ return JetTokens.LBRACKET ;
|
||||||
}
|
}
|
||||||
case 104: break;
|
case 105: break;
|
||||||
case 9:
|
case 9:
|
||||||
{ return JetTokens.CHARACTER_LITERAL;
|
{ return JetTokens.CHARACTER_LITERAL;
|
||||||
}
|
}
|
||||||
case 105: break;
|
case 106: break;
|
||||||
case 56:
|
case 57:
|
||||||
{ return JetTokens.VAR_KEYWORD ;
|
{ return JetTokens.VAR_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 106: break;
|
case 107: break;
|
||||||
case 47:
|
case 47:
|
||||||
{ return JetTokens.GTEQ ;
|
{ return JetTokens.GTEQ ;
|
||||||
}
|
}
|
||||||
case 107: break;
|
case 108: break;
|
||||||
case 2:
|
case 2:
|
||||||
{ return JetTokens.INTEGER_LITERAL;
|
{ return JetTokens.INTEGER_LITERAL;
|
||||||
}
|
}
|
||||||
case 108: break;
|
case 109: break;
|
||||||
case 14:
|
case 14:
|
||||||
{ return JetTokens.RBRACE ;
|
{ return JetTokens.RBRACE ;
|
||||||
}
|
}
|
||||||
case 109: break;
|
case 110: break;
|
||||||
case 67:
|
case 69:
|
||||||
{ return JetTokens.CLASS_KEYWORD ;
|
{ return JetTokens.CLASS_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 110: break;
|
case 111: break;
|
||||||
case 18:
|
case 18:
|
||||||
{ return JetTokens.EXCL ;
|
{ return JetTokens.EXCL ;
|
||||||
}
|
}
|
||||||
case 111: break;
|
case 112: break;
|
||||||
case 44:
|
case 44:
|
||||||
{ return JetTokens.EXCLEQ ;
|
{ return JetTokens.EXCLEQ ;
|
||||||
}
|
}
|
||||||
case 112: break;
|
case 113: break;
|
||||||
case 36:
|
case 36:
|
||||||
{ return JetTokens.MINUSEQ ;
|
{ return JetTokens.MINUSEQ ;
|
||||||
}
|
}
|
||||||
case 113: break;
|
case 114: break;
|
||||||
case 69:
|
case 70:
|
||||||
{ return JetTokens.THROW_KEYWORD ;
|
{ return JetTokens.THROW_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 114: break;
|
case 115: break;
|
||||||
case 71:
|
case 73:
|
||||||
{ return JetTokens.WHILE_KEYWORD ;
|
{ return JetTokens.WHILE_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 115: break;
|
case 116: break;
|
||||||
case 35:
|
case 35:
|
||||||
{ return JetTokens.MINUSMINUS;
|
{ return JetTokens.MINUSMINUS;
|
||||||
}
|
}
|
||||||
case 116: break;
|
case 117: break;
|
||||||
case 77:
|
case 78:
|
||||||
{ return JetTokens.CONTINUE_KEYWORD ;
|
{ return JetTokens.CONTINUE_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 117: break;
|
case 118: break;
|
||||||
case 5:
|
case 5:
|
||||||
{ return JetTokens.DIV ;
|
{ return JetTokens.DIV ;
|
||||||
}
|
}
|
||||||
case 118: break;
|
case 119: break;
|
||||||
case 52:
|
case 52:
|
||||||
{ return JetTokens.ELVIS ;
|
{ return JetTokens.ELVIS ;
|
||||||
}
|
}
|
||||||
case 119: break;
|
case 120: break;
|
||||||
case 23:
|
case 23:
|
||||||
{ return JetTokens.QUEST ;
|
{ return JetTokens.QUEST ;
|
||||||
}
|
}
|
||||||
case 120: break;
|
case 121: break;
|
||||||
case 50:
|
case 50:
|
||||||
{ return JetTokens.OROR ;
|
{ return JetTokens.OROR ;
|
||||||
}
|
}
|
||||||
case 121: break;
|
case 122: break;
|
||||||
case 19:
|
case 19:
|
||||||
{ return JetTokens.PERC ;
|
{ return JetTokens.PERC ;
|
||||||
}
|
}
|
||||||
case 122: break;
|
case 123: break;
|
||||||
case 45:
|
case 45:
|
||||||
{ return JetTokens.PERCEQ ;
|
{ return JetTokens.PERCEQ ;
|
||||||
}
|
}
|
||||||
case 123: break;
|
case 124: break;
|
||||||
case 33:
|
case 33:
|
||||||
{ return JetTokens.RANGE ;
|
{ return JetTokens.RANGE ;
|
||||||
}
|
}
|
||||||
case 124: break;
|
case 125: break;
|
||||||
case 1:
|
case 1:
|
||||||
{ return TokenType.BAD_CHARACTER;
|
{ return TokenType.BAD_CHARACTER;
|
||||||
}
|
}
|
||||||
case 125: break;
|
case 126: break;
|
||||||
case 51:
|
case 51:
|
||||||
{ return JetTokens.SAFE_ACCESS;
|
{ return JetTokens.SAFE_ACCESS;
|
||||||
}
|
}
|
||||||
case 126: break;
|
case 127: break;
|
||||||
case 78:
|
case 79:
|
||||||
{ return JetTokens.NAMESPACE_KEYWORD ;
|
{ return JetTokens.NAMESPACE_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 127: break;
|
case 128: break;
|
||||||
case 80:
|
case 81:
|
||||||
{ return JetTokens.DECOMPOSER_KEYWORD ;
|
{ return JetTokens.DECOMPOSER_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 128: break;
|
case 129: break;
|
||||||
case 6:
|
case 6:
|
||||||
{ return JetTokens.MUL ;
|
{ return JetTokens.MUL ;
|
||||||
}
|
}
|
||||||
case 129: break;
|
case 130: break;
|
||||||
case 12:
|
case 12:
|
||||||
{ return JetTokens.RBRACKET ;
|
{ return JetTokens.RBRACKET ;
|
||||||
}
|
}
|
||||||
case 130: break;
|
case 131: break;
|
||||||
case 42:
|
case 42:
|
||||||
{ return JetTokens.PLUSPLUS ;
|
{ return JetTokens.PLUSPLUS ;
|
||||||
}
|
}
|
||||||
case 131: break;
|
case 132: break;
|
||||||
case 65:
|
case 66:
|
||||||
{ return JetTokens.THIS_KEYWORD ;
|
{ return JetTokens.THIS_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 132: break;
|
case 133: break;
|
||||||
case 7:
|
case 7:
|
||||||
{ return JetTokens.DOT ;
|
{ return JetTokens.DOT ;
|
||||||
}
|
}
|
||||||
case 133: break;
|
case 134: break;
|
||||||
case 25:
|
case 25:
|
||||||
{ return JetTokens.SEMICOLON ;
|
{ return JetTokens.SEMICOLON ;
|
||||||
}
|
}
|
||||||
case 134: break;
|
case 135: break;
|
||||||
case 40:
|
case 40:
|
||||||
{ return JetTokens.IF_KEYWORD ;
|
{ return JetTokens.IF_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 135: break;
|
case 136: break;
|
||||||
case 22:
|
case 22:
|
||||||
{ return JetTokens.EQ ;
|
{ return JetTokens.EQ ;
|
||||||
}
|
}
|
||||||
case 136: break;
|
case 137: break;
|
||||||
case 15:
|
case 15:
|
||||||
{ return JetTokens.LPAR ;
|
{ return JetTokens.LPAR ;
|
||||||
}
|
}
|
||||||
case 137: break;
|
case 138: break;
|
||||||
case 8:
|
case 8:
|
||||||
{ return JetTokens.MINUS ;
|
{ return JetTokens.MINUS ;
|
||||||
}
|
}
|
||||||
case 138: break;
|
case 139: break;
|
||||||
case 70:
|
case 72:
|
||||||
{ return JetTokens.FALSE_KEYWORD ;
|
{ return JetTokens.FALSE_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 139: break;
|
case 140: break;
|
||||||
case 64:
|
case 65:
|
||||||
{ return JetTokens.TYPE_KEYWORD ;
|
{ return JetTokens.TYPE_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 140: break;
|
case 141: break;
|
||||||
|
case 58:
|
||||||
|
{ return JetTokens.REF_KEYWORD ;
|
||||||
|
}
|
||||||
|
case 142: break;
|
||||||
case 59:
|
case 59:
|
||||||
{ return JetTokens.FUN_KEYWORD ;
|
{ return JetTokens.FUN_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 141: break;
|
case 143: break;
|
||||||
case 39:
|
case 39:
|
||||||
{ return JetTokens.IS_KEYWORD ;
|
{ return JetTokens.IS_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 142: break;
|
case 144: break;
|
||||||
case 30:
|
case 30:
|
||||||
{ return JetTokens.DIVEQ ;
|
{ return JetTokens.DIVEQ ;
|
||||||
}
|
}
|
||||||
case 143: break;
|
case 145: break;
|
||||||
case 79:
|
case 80:
|
||||||
{ return JetTokens.EXTENSION_KEYWORD ;
|
{ return JetTokens.EXTENSION_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 144: break;
|
case 146: break;
|
||||||
case 37:
|
case 37:
|
||||||
{ return JetTokens.AS_KEYWORD ;
|
{ return JetTokens.AS_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 145: break;
|
case 147: break;
|
||||||
case 62:
|
case 64:
|
||||||
{ return JetTokens.ELSE_KEYWORD ;
|
{ return JetTokens.ELSE_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 146: break;
|
case 148: break;
|
||||||
case 38:
|
case 38:
|
||||||
{ return JetTokens.IN_KEYWORD ;
|
{ return JetTokens.IN_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 147: break;
|
case 149: break;
|
||||||
case 48:
|
case 48:
|
||||||
{ return JetTokens.EQEQ ;
|
{ return JetTokens.EQEQ ;
|
||||||
}
|
}
|
||||||
case 148: break;
|
case 150: break;
|
||||||
case 57:
|
case 56:
|
||||||
{ return JetTokens.VAL_KEYWORD ;
|
{ return JetTokens.VAL_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 149: break;
|
case 151: break;
|
||||||
case 60:
|
case 62:
|
||||||
{ return JetTokens.EQEQEQ ;
|
{ return JetTokens.EQEQEQ ;
|
||||||
}
|
}
|
||||||
case 150: break;
|
case 152: break;
|
||||||
case 55:
|
case 55:
|
||||||
{ return JetTokens.NEW_KEYWORD ;
|
{ return JetTokens.NEW_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 151: break;
|
case 153: break;
|
||||||
case 31:
|
case 31:
|
||||||
{ return JetTokens.MULTEQ ;
|
{ return JetTokens.MULTEQ ;
|
||||||
}
|
}
|
||||||
case 152: break;
|
case 154: break;
|
||||||
case 10:
|
case 10:
|
||||||
{ return JetTokens.STRING_LITERAL;
|
{ return JetTokens.STRING_LITERAL;
|
||||||
}
|
}
|
||||||
case 153: break;
|
case 155: break;
|
||||||
case 13:
|
case 13:
|
||||||
{ return JetTokens.LBRACE ;
|
{ return JetTokens.LBRACE ;
|
||||||
}
|
}
|
||||||
case 154: break;
|
case 156: break;
|
||||||
case 68:
|
case 71:
|
||||||
{ return JetTokens.ISNOT_KEYWORD ;
|
{ return JetTokens.ISNOT_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 155: break;
|
case 157: break;
|
||||||
case 74:
|
case 77:
|
||||||
{ return JetTokens.OBJECT_KEYWORD ;
|
{ return JetTokens.OBJECT_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 156: break;
|
case 158: break;
|
||||||
case 72:
|
case 74:
|
||||||
{ return JetTokens.BREAK_KEYWORD ;
|
{ return JetTokens.BREAK_KEYWORD ;
|
||||||
}
|
}
|
||||||
case 157: break;
|
case 159: break;
|
||||||
case 29:
|
case 29:
|
||||||
{ return JetTokens.BLOCK_COMMENT;
|
{ return JetTokens.BLOCK_COMMENT;
|
||||||
}
|
}
|
||||||
case 158: break;
|
case 160: break;
|
||||||
case 34:
|
case 34:
|
||||||
{ return JetTokens.FILTER ;
|
{ return JetTokens.FILTER ;
|
||||||
}
|
}
|
||||||
case 159: break;
|
case 161: break;
|
||||||
case 32:
|
case 32:
|
||||||
{ return JetTokens.MAP ;
|
{ return JetTokens.MAP ;
|
||||||
}
|
}
|
||||||
case 160: break;
|
case 162: break;
|
||||||
default:
|
default:
|
||||||
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
|
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
|
||||||
zzAtEOF = true;
|
zzAtEOF = true;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ JetFile: BabySteps.jet
|
|||||||
NAMESPACE
|
NAMESPACE
|
||||||
PsiElement(NAMESPACE_KEYWORD)('namespace')
|
PsiElement(NAMESPACE_KEYWORD)('namespace')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(IDENTIFIER)('foo')
|
NAMESPACE_NAME
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiWhiteSpace('\n\n')
|
PsiWhiteSpace('\n\n')
|
||||||
CLASS
|
CLASS
|
||||||
PsiElement(CLASS_KEYWORD)('class')
|
PsiElement(CLASS_KEYWORD)('class')
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
JetFile: EmptyFile.jet
|
JetFile: EmptyFile.jet
|
||||||
<empty list>
|
NAMESPACE
|
||||||
|
<empty list>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/namespace foo.bar
|
||||||
|
import foo
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
namespace foo.bar.goo
|
||||||
|
|
||||||
|
import foo
|
||||||
|
import foo.bar
|
||||||
|
import foo as bar
|
||||||
|
import foo.bar as bar
|
||||||
|
import foo.*
|
||||||
|
import foo. *
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
JetFile: Imports.jet
|
||||||
|
NAMESPACE
|
||||||
|
PsiElement(NAMESPACE_KEYWORD)('namespace')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
NAMESPACE_NAME
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
PsiElement(IDENTIFIER)('goo')
|
||||||
|
PsiWhiteSpace('\n\n')
|
||||||
|
IMPORT_DIRECTIVE
|
||||||
|
PsiElement(import)('import')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
IMPORT_DIRECTIVE
|
||||||
|
PsiElement(import)('import')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
IMPORT_DIRECTIVE
|
||||||
|
PsiElement(import)('import')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(AS_KEYWORD)('as')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
IMPORT_DIRECTIVE
|
||||||
|
PsiElement(import)('import')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(AS_KEYWORD)('as')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
IMPORT_DIRECTIVE
|
||||||
|
PsiElement(import)('import')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
PsiElement(MAP)('.*')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
IMPORT_DIRECTIVE
|
||||||
|
PsiElement(import)('import')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(MUL)('*')
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
namespace foo.bar.goo
|
||||||
|
|
||||||
|
import foo as
|
||||||
|
import foo.
|
||||||
|
import foo.bar.
|
||||||
|
import foo. as bar
|
||||||
|
import foo.bar.* as bar
|
||||||
|
import foo.bar.* as
|
||||||
|
|
||||||
|
import foo as ;
|
||||||
|
import foo. ;
|
||||||
|
import foo.bar. ;
|
||||||
|
import foo. as bar ;
|
||||||
|
import foo.bar.* as bar ;
|
||||||
|
import foo.bar.* as ;
|
||||||
|
|
||||||
|
class Foo {}
|
||||||
@@ -29,4 +29,6 @@ public class JetParsingTest extends ParsingTestCase {
|
|||||||
|
|
||||||
public void testEmptyFile() throws Exception {doTest(true);}
|
public void testEmptyFile() throws Exception {doTest(true);}
|
||||||
public void testBabySteps() throws Exception {doTest(true);}
|
public void testBabySteps() throws Exception {doTest(true);}
|
||||||
|
public void testImports() throws Exception {doTest(true);}
|
||||||
|
public void testImports_ERR() throws Exception {doTest(true);}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user