mirror of
https://github.com/JonathanFleischmann/CompilerULTIMATE.git
synced 2024-12-27 08:18:03 +00:00
merged two parser versions
This commit is contained in:
commit
0eba601eff
@ -27,6 +27,7 @@ stmt : ifCall #If
|
||||
| 'while' '(' expr ')' block #While
|
||||
| 'do' block 'while' '(' expr ')' ';'? #DoWhile
|
||||
| 'break' ';' #Break
|
||||
| 'continue' ';' #Continue
|
||||
| localVar ';' #LocalVarDec
|
||||
| localVarWithInitialization ';' #LocalVarDecWithInitialization
|
||||
| assign ';' #Assignment
|
||||
|
@ -3,21 +3,7 @@ package de.maishai;
|
||||
import de.maishai.antlr.DecafBaseVisitor;
|
||||
import de.maishai.antlr.DecafParser;
|
||||
import de.maishai.ast.Operator;
|
||||
import de.maishai.ast.records.Assignment;
|
||||
import de.maishai.ast.records.Binary;
|
||||
import de.maishai.ast.records.Block;
|
||||
import de.maishai.ast.records.BoolLiteral;
|
||||
import de.maishai.ast.records.Break;
|
||||
import de.maishai.ast.records.Declaration;
|
||||
import de.maishai.ast.records.DoWhile;
|
||||
import de.maishai.ast.records.Expression;
|
||||
import de.maishai.ast.records.FieldVarAccess;
|
||||
import de.maishai.ast.records.For;
|
||||
import de.maishai.ast.records.IfElse;
|
||||
import de.maishai.ast.records.MethodCall;
|
||||
import de.maishai.ast.records.New;
|
||||
import de.maishai.ast.records.Statement;
|
||||
import de.maishai.ast.records.While;
|
||||
import de.maishai.ast.records.*;
|
||||
import de.maishai.typedast.Type;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -80,6 +66,11 @@ public class StatementGenerator extends DecafBaseVisitor<List<Statement>> {
|
||||
return List.of(new Break());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Statement> visitContinue(DecafParser.ContinueContext ctx) {
|
||||
return List.of(new Continue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Statement> visitLocalVarDec(DecafParser.LocalVarDecContext ctx) {
|
||||
Declaration declaration = new Declaration(ctx.localVar().id().IDENTIFIER().getText(), ASTGenerator.getType(ctx.localVar().type()));
|
||||
|
File diff suppressed because one or more lines are too long
@ -14,43 +14,44 @@ T__12=13
|
||||
T__13=14
|
||||
T__14=15
|
||||
T__15=16
|
||||
PUBLIC=17
|
||||
NEW=18
|
||||
NULL=19
|
||||
THIS=20
|
||||
IF=21
|
||||
ELSE=22
|
||||
SUB=23
|
||||
ADD=24
|
||||
MUL=25
|
||||
DIV=26
|
||||
MOD=27
|
||||
GT=28
|
||||
LT=29
|
||||
GE=30
|
||||
LE=31
|
||||
EQ=32
|
||||
NE=33
|
||||
AND=34
|
||||
OR=35
|
||||
ASSIGN=36
|
||||
ADD_ASSIGN=37
|
||||
SUB_ASSIGN=38
|
||||
MUL_ASSIGN=39
|
||||
MOD_ASSIGN=40
|
||||
DIV_ASSIGN=41
|
||||
NOT=42
|
||||
INT=43
|
||||
BOOL=44
|
||||
VOID=45
|
||||
CHAR=46
|
||||
BOOLEANLITERAL=47
|
||||
CHARLITERAL=48
|
||||
IDENTIFIER=49
|
||||
NUMBER=50
|
||||
WS=51
|
||||
COMMENT=52
|
||||
LINE_COMMENT=53
|
||||
T__16=17
|
||||
PUBLIC=18
|
||||
NEW=19
|
||||
NULL=20
|
||||
THIS=21
|
||||
IF=22
|
||||
ELSE=23
|
||||
SUB=24
|
||||
ADD=25
|
||||
MUL=26
|
||||
DIV=27
|
||||
MOD=28
|
||||
GT=29
|
||||
LT=30
|
||||
GE=31
|
||||
LE=32
|
||||
EQ=33
|
||||
NE=34
|
||||
AND=35
|
||||
OR=36
|
||||
ASSIGN=37
|
||||
ADD_ASSIGN=38
|
||||
SUB_ASSIGN=39
|
||||
MUL_ASSIGN=40
|
||||
MOD_ASSIGN=41
|
||||
DIV_ASSIGN=42
|
||||
NOT=43
|
||||
INT=44
|
||||
BOOL=45
|
||||
VOID=46
|
||||
CHAR=47
|
||||
BOOLEANLITERAL=48
|
||||
CHARLITERAL=49
|
||||
IDENTIFIER=50
|
||||
NUMBER=51
|
||||
WS=52
|
||||
COMMENT=53
|
||||
LINE_COMMENT=54
|
||||
'class'=1
|
||||
'{'=2
|
||||
'}'=3
|
||||
@ -66,34 +67,35 @@ LINE_COMMENT=53
|
||||
'while'=13
|
||||
'do'=14
|
||||
'break'=15
|
||||
'.'=16
|
||||
'public'=17
|
||||
'new'=18
|
||||
'null'=19
|
||||
'this'=20
|
||||
'if'=21
|
||||
'else'=22
|
||||
'-'=23
|
||||
'+'=24
|
||||
'*'=25
|
||||
'/'=26
|
||||
'%'=27
|
||||
'>'=28
|
||||
'<'=29
|
||||
'>='=30
|
||||
'<='=31
|
||||
'=='=32
|
||||
'!='=33
|
||||
'&&'=34
|
||||
'||'=35
|
||||
'='=36
|
||||
'+='=37
|
||||
'-='=38
|
||||
'*='=39
|
||||
'%='=40
|
||||
'/='=41
|
||||
'!'=42
|
||||
'int'=43
|
||||
'boolean'=44
|
||||
'void'=45
|
||||
'char'=46
|
||||
'continue'=16
|
||||
'.'=17
|
||||
'public'=18
|
||||
'new'=19
|
||||
'null'=20
|
||||
'this'=21
|
||||
'if'=22
|
||||
'else'=23
|
||||
'-'=24
|
||||
'+'=25
|
||||
'*'=26
|
||||
'/'=27
|
||||
'%'=28
|
||||
'>'=29
|
||||
'<'=30
|
||||
'>='=31
|
||||
'<='=32
|
||||
'=='=33
|
||||
'!='=34
|
||||
'&&'=35
|
||||
'||'=36
|
||||
'='=37
|
||||
'+='=38
|
||||
'-='=39
|
||||
'*='=40
|
||||
'%='=41
|
||||
'/='=42
|
||||
'!'=43
|
||||
'int'=44
|
||||
'boolean'=45
|
||||
'void'=46
|
||||
'char'=47
|
||||
|
@ -240,6 +240,18 @@ public class DecafBaseListener implements DecafListener {
|
||||
* <p>The default implementation does nothing.</p>
|
||||
*/
|
||||
@Override public void exitBreak(DecafParser.BreakContext ctx) { }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation does nothing.</p>
|
||||
*/
|
||||
@Override public void enterContinue(DecafParser.ContinueContext ctx) { }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation does nothing.</p>
|
||||
*/
|
||||
@Override public void exitContinue(DecafParser.ContinueContext ctx) { }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
|
@ -145,6 +145,13 @@ public class DecafBaseVisitor<T> extends AbstractParseTreeVisitor<T> implements
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitBreak(DecafParser.BreakContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitContinue(DecafParser.ContinueContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
|
File diff suppressed because one or more lines are too long
@ -18,12 +18,12 @@ public class DecafLexer extends Lexer {
|
||||
new PredictionContextCache();
|
||||
public static final int
|
||||
T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9,
|
||||
T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, PUBLIC=17,
|
||||
NEW=18, NULL=19, THIS=20, IF=21, ELSE=22, SUB=23, ADD=24, MUL=25, DIV=26,
|
||||
MOD=27, GT=28, LT=29, GE=30, LE=31, EQ=32, NE=33, AND=34, OR=35, ASSIGN=36,
|
||||
ADD_ASSIGN=37, SUB_ASSIGN=38, MUL_ASSIGN=39, MOD_ASSIGN=40, DIV_ASSIGN=41,
|
||||
NOT=42, INT=43, BOOL=44, VOID=45, CHAR=46, BOOLEANLITERAL=47, CHARLITERAL=48,
|
||||
IDENTIFIER=49, NUMBER=50, WS=51, COMMENT=52, LINE_COMMENT=53;
|
||||
T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17,
|
||||
PUBLIC=18, NEW=19, NULL=20, THIS=21, IF=22, ELSE=23, SUB=24, ADD=25, MUL=26,
|
||||
DIV=27, MOD=28, GT=29, LT=30, GE=31, LE=32, EQ=33, NE=34, AND=35, OR=36,
|
||||
ASSIGN=37, ADD_ASSIGN=38, SUB_ASSIGN=39, MUL_ASSIGN=40, MOD_ASSIGN=41,
|
||||
DIV_ASSIGN=42, NOT=43, INT=44, BOOL=45, VOID=46, CHAR=47, BOOLEANLITERAL=48,
|
||||
CHARLITERAL=49, IDENTIFIER=50, NUMBER=51, WS=52, COMMENT=53, LINE_COMMENT=54;
|
||||
public static String[] channelNames = {
|
||||
"DEFAULT_TOKEN_CHANNEL", "HIDDEN"
|
||||
};
|
||||
@ -35,9 +35,9 @@ public class DecafLexer extends Lexer {
|
||||
private static String[] makeRuleNames() {
|
||||
return new String[] {
|
||||
"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
|
||||
"T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "PUBLIC",
|
||||
"NEW", "NULL", "THIS", "IF", "ELSE", "SUB", "ADD", "MUL", "DIV", "MOD",
|
||||
"GT", "LT", "GE", "LE", "EQ", "NE", "AND", "OR", "ASSIGN", "ADD_ASSIGN",
|
||||
"T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
|
||||
"PUBLIC", "NEW", "NULL", "THIS", "IF", "ELSE", "SUB", "ADD", "MUL", "DIV",
|
||||
"MOD", "GT", "LT", "GE", "LE", "EQ", "NE", "AND", "OR", "ASSIGN", "ADD_ASSIGN",
|
||||
"SUB_ASSIGN", "MUL_ASSIGN", "MOD_ASSIGN", "DIV_ASSIGN", "NOT", "INT",
|
||||
"BOOL", "VOID", "CHAR", "BOOLEANLITERAL", "CHARLITERAL", "IDENTIFIER",
|
||||
"NUMBER", "WS", "COMMENT", "LINE_COMMENT"
|
||||
@ -49,19 +49,19 @@ public class DecafLexer extends Lexer {
|
||||
return new String[] {
|
||||
null, "'class'", "'{'", "'}'", "';'", "'('", "')'", "'static'", "'main'",
|
||||
"'String[] args'", "','", "'return'", "'for'", "'while'", "'do'", "'break'",
|
||||
"'.'", "'public'", "'new'", "'null'", "'this'", "'if'", "'else'", "'-'",
|
||||
"'+'", "'*'", "'/'", "'%'", "'>'", "'<'", "'>='", "'<='", "'=='", "'!='",
|
||||
"'&&'", "'||'", "'='", "'+='", "'-='", "'*='", "'%='", "'/='", "'!'",
|
||||
"'int'", "'boolean'", "'void'", "'char'"
|
||||
"'continue'", "'.'", "'public'", "'new'", "'null'", "'this'", "'if'",
|
||||
"'else'", "'-'", "'+'", "'*'", "'/'", "'%'", "'>'", "'<'", "'>='", "'<='",
|
||||
"'=='", "'!='", "'&&'", "'||'", "'='", "'+='", "'-='", "'*='", "'%='",
|
||||
"'/='", "'!'", "'int'", "'boolean'", "'void'", "'char'"
|
||||
};
|
||||
}
|
||||
private static final String[] _LITERAL_NAMES = makeLiteralNames();
|
||||
private static String[] makeSymbolicNames() {
|
||||
return new String[] {
|
||||
null, null, null, null, null, null, null, null, null, null, null, null,
|
||||
null, null, null, null, null, "PUBLIC", "NEW", "NULL", "THIS", "IF",
|
||||
"ELSE", "SUB", "ADD", "MUL", "DIV", "MOD", "GT", "LT", "GE", "LE", "EQ",
|
||||
"NE", "AND", "OR", "ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN",
|
||||
null, null, null, null, null, null, "PUBLIC", "NEW", "NULL", "THIS",
|
||||
"IF", "ELSE", "SUB", "ADD", "MUL", "DIV", "MOD", "GT", "LT", "GE", "LE",
|
||||
"EQ", "NE", "AND", "OR", "ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN",
|
||||
"MOD_ASSIGN", "DIV_ASSIGN", "NOT", "INT", "BOOL", "VOID", "CHAR", "BOOLEANLITERAL",
|
||||
"CHARLITERAL", "IDENTIFIER", "NUMBER", "WS", "COMMENT", "LINE_COMMENT"
|
||||
};
|
||||
@ -125,7 +125,7 @@ public class DecafLexer extends Lexer {
|
||||
public ATN getATN() { return _ATN; }
|
||||
|
||||
public static final String _serializedATN =
|
||||
"\u0004\u00005\u0159\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+
|
||||
"\u0004\u00006\u0164\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+
|
||||
"\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004"+
|
||||
"\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007"+
|
||||
"\u0007\u0007\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b"+
|
||||
@ -139,198 +139,205 @@ public class DecafLexer extends Lexer {
|
||||
"!\u0002\"\u0007\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007"+
|
||||
"&\u0002\'\u0007\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007"+
|
||||
"+\u0002,\u0007,\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u0007"+
|
||||
"0\u00021\u00071\u00022\u00072\u00023\u00073\u00024\u00074\u0001\u0000"+
|
||||
"\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0001"+
|
||||
"\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0001\u0004"+
|
||||
"\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0006"+
|
||||
"\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007"+
|
||||
"\u0001\u0007\u0001\u0007\u0001\u0007\u0001\b\u0001\b\u0001\b\u0001\b\u0001"+
|
||||
"0\u00021\u00071\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u0007"+
|
||||
"5\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000"+
|
||||
"\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003"+
|
||||
"\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0006\u0001\u0006"+
|
||||
"\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0007"+
|
||||
"\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\b\u0001\b\u0001"+
|
||||
"\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001"+
|
||||
"\b\u0001\t\u0001\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001"+
|
||||
"\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\f\u0001\f\u0001"+
|
||||
"\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e"+
|
||||
"\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f"+
|
||||
"\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+
|
||||
"\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0012"+
|
||||
"\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013"+
|
||||
"\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014"+
|
||||
"\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0016"+
|
||||
"\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0019"+
|
||||
"\u0001\u0019\u0001\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001c"+
|
||||
"\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e"+
|
||||
"\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001 "+
|
||||
"\u0001!\u0001!\u0001!\u0001\"\u0001\"\u0001\"\u0001#\u0001#\u0001$\u0001"+
|
||||
"$\u0001$\u0001%\u0001%\u0001%\u0001&\u0001&\u0001&\u0001\'\u0001\'\u0001"+
|
||||
"\'\u0001(\u0001(\u0001(\u0001)\u0001)\u0001*\u0001*\u0001*\u0001*\u0001"+
|
||||
"+\u0001+\u0001+\u0001+\u0001+\u0001+\u0001+\u0001+\u0001,\u0001,\u0001"+
|
||||
"\b\u0001\b\u0001\b\u0001\t\u0001\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001"+
|
||||
"\n\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001"+
|
||||
"\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001"+
|
||||
"\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+
|
||||
"\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001"+
|
||||
"\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0011\u0001"+
|
||||
"\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001"+
|
||||
"\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001"+
|
||||
"\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0001"+
|
||||
"\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0016\u0001"+
|
||||
"\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001"+
|
||||
"\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a\u0001"+
|
||||
"\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001"+
|
||||
"\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001"+
|
||||
" \u0001 \u0001 \u0001!\u0001!\u0001!\u0001\"\u0001\"\u0001\"\u0001#\u0001"+
|
||||
"#\u0001#\u0001$\u0001$\u0001%\u0001%\u0001%\u0001&\u0001&\u0001&\u0001"+
|
||||
"\'\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001)\u0001)\u0001)\u0001*\u0001"+
|
||||
"*\u0001+\u0001+\u0001+\u0001+\u0001,\u0001,\u0001,\u0001,\u0001,\u0001"+
|
||||
",\u0001,\u0001,\u0001-\u0001-\u0001-\u0001-\u0001-\u0001.\u0001.\u0001"+
|
||||
".\u0001.\u0001.\u0001.\u0001.\u0001.\u0001.\u0003.\u0123\b.\u0001/\u0001"+
|
||||
"/\u0001/\u0001/\u00010\u00040\u012a\b0\u000b0\f0\u012b\u00010\u00050\u012f"+
|
||||
"\b0\n0\f0\u0132\t0\u00040\u0134\b0\u000b0\f0\u0135\u00011\u00041\u0139"+
|
||||
"\b1\u000b1\f1\u013a\u00012\u00012\u00012\u00012\u00013\u00013\u00013\u0001"+
|
||||
"3\u00053\u0145\b3\n3\f3\u0148\t3\u00013\u00013\u00013\u00013\u00013\u0001"+
|
||||
"4\u00014\u00014\u00014\u00054\u0153\b4\n4\f4\u0156\t4\u00014\u00014\u0001"+
|
||||
"\u0146\u00005\u0001\u0001\u0003\u0002\u0005\u0003\u0007\u0004\t\u0005"+
|
||||
"\u000b\u0006\r\u0007\u000f\b\u0011\t\u0013\n\u0015\u000b\u0017\f\u0019"+
|
||||
"\r\u001b\u000e\u001d\u000f\u001f\u0010!\u0011#\u0012%\u0013\'\u0014)\u0015"+
|
||||
"+\u0016-\u0017/\u00181\u00193\u001a5\u001b7\u001c9\u001d;\u001e=\u001f"+
|
||||
"? A!C\"E#G$I%K&M\'O(Q)S*U+W,Y-[.]/_0a1c2e3g4i5\u0001\u0000\u0005\u0001"+
|
||||
"\u0000\'\'\u0002\u0000AZaz\u0001\u000009\u0003\u0000\t\n\r\r \u0002\u0000"+
|
||||
"\n\n\r\r\u015f\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0003\u0001\u0000"+
|
||||
"\u0000\u0000\u0000\u0005\u0001\u0000\u0000\u0000\u0000\u0007\u0001\u0000"+
|
||||
"\u0000\u0000\u0000\t\u0001\u0000\u0000\u0000\u0000\u000b\u0001\u0000\u0000"+
|
||||
"\u0000\u0000\r\u0001\u0000\u0000\u0000\u0000\u000f\u0001\u0000\u0000\u0000"+
|
||||
"\u0000\u0011\u0001\u0000\u0000\u0000\u0000\u0013\u0001\u0000\u0000\u0000"+
|
||||
"\u0000\u0015\u0001\u0000\u0000\u0000\u0000\u0017\u0001\u0000\u0000\u0000"+
|
||||
"\u0000\u0019\u0001\u0000\u0000\u0000\u0000\u001b\u0001\u0000\u0000\u0000"+
|
||||
"\u0000\u001d\u0001\u0000\u0000\u0000\u0000\u001f\u0001\u0000\u0000\u0000"+
|
||||
"\u0000!\u0001\u0000\u0000\u0000\u0000#\u0001\u0000\u0000\u0000\u0000%"+
|
||||
"\u0001\u0000\u0000\u0000\u0000\'\u0001\u0000\u0000\u0000\u0000)\u0001"+
|
||||
"\u0000\u0000\u0000\u0000+\u0001\u0000\u0000\u0000\u0000-\u0001\u0000\u0000"+
|
||||
"\u0000\u0000/\u0001\u0000\u0000\u0000\u00001\u0001\u0000\u0000\u0000\u0000"+
|
||||
"3\u0001\u0000\u0000\u0000\u00005\u0001\u0000\u0000\u0000\u00007\u0001"+
|
||||
"\u0000\u0000\u0000\u00009\u0001\u0000\u0000\u0000\u0000;\u0001\u0000\u0000"+
|
||||
"\u0000\u0000=\u0001\u0000\u0000\u0000\u0000?\u0001\u0000\u0000\u0000\u0000"+
|
||||
"A\u0001\u0000\u0000\u0000\u0000C\u0001\u0000\u0000\u0000\u0000E\u0001"+
|
||||
"\u0000\u0000\u0000\u0000G\u0001\u0000\u0000\u0000\u0000I\u0001\u0000\u0000"+
|
||||
"\u0000\u0000K\u0001\u0000\u0000\u0000\u0000M\u0001\u0000\u0000\u0000\u0000"+
|
||||
"O\u0001\u0000\u0000\u0000\u0000Q\u0001\u0000\u0000\u0000\u0000S\u0001"+
|
||||
"\u0000\u0000\u0000\u0000U\u0001\u0000\u0000\u0000\u0000W\u0001\u0000\u0000"+
|
||||
"\u0000\u0000Y\u0001\u0000\u0000\u0000\u0000[\u0001\u0000\u0000\u0000\u0000"+
|
||||
"]\u0001\u0000\u0000\u0000\u0000_\u0001\u0000\u0000\u0000\u0000a\u0001"+
|
||||
"\u0000\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000e\u0001\u0000\u0000"+
|
||||
"\u0000\u0000g\u0001\u0000\u0000\u0000\u0000i\u0001\u0000\u0000\u0000\u0001"+
|
||||
"k\u0001\u0000\u0000\u0000\u0003q\u0001\u0000\u0000\u0000\u0005s\u0001"+
|
||||
"\u0000\u0000\u0000\u0007u\u0001\u0000\u0000\u0000\tw\u0001\u0000\u0000"+
|
||||
"\u0000\u000by\u0001\u0000\u0000\u0000\r{\u0001\u0000\u0000\u0000\u000f"+
|
||||
"\u0082\u0001\u0000\u0000\u0000\u0011\u0087\u0001\u0000\u0000\u0000\u0013"+
|
||||
"\u0095\u0001\u0000\u0000\u0000\u0015\u0097\u0001\u0000\u0000\u0000\u0017"+
|
||||
"\u009e\u0001\u0000\u0000\u0000\u0019\u00a2\u0001\u0000\u0000\u0000\u001b"+
|
||||
"\u00a8\u0001\u0000\u0000\u0000\u001d\u00ab\u0001\u0000\u0000\u0000\u001f"+
|
||||
"\u00b1\u0001\u0000\u0000\u0000!\u00b3\u0001\u0000\u0000\u0000#\u00ba\u0001"+
|
||||
"\u0000\u0000\u0000%\u00be\u0001\u0000\u0000\u0000\'\u00c3\u0001\u0000"+
|
||||
"\u0000\u0000)\u00c8\u0001\u0000\u0000\u0000+\u00cb\u0001\u0000\u0000\u0000"+
|
||||
"-\u00d0\u0001\u0000\u0000\u0000/\u00d2\u0001\u0000\u0000\u00001\u00d4"+
|
||||
"\u0001\u0000\u0000\u00003\u00d6\u0001\u0000\u0000\u00005\u00d8\u0001\u0000"+
|
||||
"\u0000\u00007\u00da\u0001\u0000\u0000\u00009\u00dc\u0001\u0000\u0000\u0000"+
|
||||
";\u00de\u0001\u0000\u0000\u0000=\u00e1\u0001\u0000\u0000\u0000?\u00e4"+
|
||||
"\u0001\u0000\u0000\u0000A\u00e7\u0001\u0000\u0000\u0000C\u00ea\u0001\u0000"+
|
||||
"\u0000\u0000E\u00ed\u0001\u0000\u0000\u0000G\u00f0\u0001\u0000\u0000\u0000"+
|
||||
"I\u00f2\u0001\u0000\u0000\u0000K\u00f5\u0001\u0000\u0000\u0000M\u00f8"+
|
||||
"\u0001\u0000\u0000\u0000O\u00fb\u0001\u0000\u0000\u0000Q\u00fe\u0001\u0000"+
|
||||
"\u0000\u0000S\u0101\u0001\u0000\u0000\u0000U\u0103\u0001\u0000\u0000\u0000"+
|
||||
"W\u0107\u0001\u0000\u0000\u0000Y\u010f\u0001\u0000\u0000\u0000[\u0114"+
|
||||
"\u0001\u0000\u0000\u0000]\u0122\u0001\u0000\u0000\u0000_\u0124\u0001\u0000"+
|
||||
"\u0000\u0000a\u0133\u0001\u0000\u0000\u0000c\u0138\u0001\u0000\u0000\u0000"+
|
||||
"e\u013c\u0001\u0000\u0000\u0000g\u0140\u0001\u0000\u0000\u0000i\u014e"+
|
||||
"\u0001\u0000\u0000\u0000kl\u0005c\u0000\u0000lm\u0005l\u0000\u0000mn\u0005"+
|
||||
"a\u0000\u0000no\u0005s\u0000\u0000op\u0005s\u0000\u0000p\u0002\u0001\u0000"+
|
||||
"\u0000\u0000qr\u0005{\u0000\u0000r\u0004\u0001\u0000\u0000\u0000st\u0005"+
|
||||
"}\u0000\u0000t\u0006\u0001\u0000\u0000\u0000uv\u0005;\u0000\u0000v\b\u0001"+
|
||||
"\u0000\u0000\u0000wx\u0005(\u0000\u0000x\n\u0001\u0000\u0000\u0000yz\u0005"+
|
||||
")\u0000\u0000z\f\u0001\u0000\u0000\u0000{|\u0005s\u0000\u0000|}\u0005"+
|
||||
"t\u0000\u0000}~\u0005a\u0000\u0000~\u007f\u0005t\u0000\u0000\u007f\u0080"+
|
||||
"\u0005i\u0000\u0000\u0080\u0081\u0005c\u0000\u0000\u0081\u000e\u0001\u0000"+
|
||||
"\u0000\u0000\u0082\u0083\u0005m\u0000\u0000\u0083\u0084\u0005a\u0000\u0000"+
|
||||
"\u0084\u0085\u0005i\u0000\u0000\u0085\u0086\u0005n\u0000\u0000\u0086\u0010"+
|
||||
"\u0001\u0000\u0000\u0000\u0087\u0088\u0005S\u0000\u0000\u0088\u0089\u0005"+
|
||||
"t\u0000\u0000\u0089\u008a\u0005r\u0000\u0000\u008a\u008b\u0005i\u0000"+
|
||||
"\u0000\u008b\u008c\u0005n\u0000\u0000\u008c\u008d\u0005g\u0000\u0000\u008d"+
|
||||
"\u008e\u0005[\u0000\u0000\u008e\u008f\u0005]\u0000\u0000\u008f\u0090\u0005"+
|
||||
" \u0000\u0000\u0090\u0091\u0005a\u0000\u0000\u0091\u0092\u0005r\u0000"+
|
||||
"\u0000\u0092\u0093\u0005g\u0000\u0000\u0093\u0094\u0005s\u0000\u0000\u0094"+
|
||||
"\u0012\u0001\u0000\u0000\u0000\u0095\u0096\u0005,\u0000\u0000\u0096\u0014"+
|
||||
"\u0001\u0000\u0000\u0000\u0097\u0098\u0005r\u0000\u0000\u0098\u0099\u0005"+
|
||||
"e\u0000\u0000\u0099\u009a\u0005t\u0000\u0000\u009a\u009b\u0005u\u0000"+
|
||||
"\u0000\u009b\u009c\u0005r\u0000\u0000\u009c\u009d\u0005n\u0000\u0000\u009d"+
|
||||
"\u0016\u0001\u0000\u0000\u0000\u009e\u009f\u0005f\u0000\u0000\u009f\u00a0"+
|
||||
"\u0005o\u0000\u0000\u00a0\u00a1\u0005r\u0000\u0000\u00a1\u0018\u0001\u0000"+
|
||||
"\u0000\u0000\u00a2\u00a3\u0005w\u0000\u0000\u00a3\u00a4\u0005h\u0000\u0000"+
|
||||
"\u00a4\u00a5\u0005i\u0000\u0000\u00a5\u00a6\u0005l\u0000\u0000\u00a6\u00a7"+
|
||||
"\u0005e\u0000\u0000\u00a7\u001a\u0001\u0000\u0000\u0000\u00a8\u00a9\u0005"+
|
||||
"d\u0000\u0000\u00a9\u00aa\u0005o\u0000\u0000\u00aa\u001c\u0001\u0000\u0000"+
|
||||
"\u0000\u00ab\u00ac\u0005b\u0000\u0000\u00ac\u00ad\u0005r\u0000\u0000\u00ad"+
|
||||
"\u00ae\u0005e\u0000\u0000\u00ae\u00af\u0005a\u0000\u0000\u00af\u00b0\u0005"+
|
||||
"k\u0000\u0000\u00b0\u001e\u0001\u0000\u0000\u0000\u00b1\u00b2\u0005.\u0000"+
|
||||
"\u0000\u00b2 \u0001\u0000\u0000\u0000\u00b3\u00b4\u0005p\u0000\u0000\u00b4"+
|
||||
"\u00b5\u0005u\u0000\u0000\u00b5\u00b6\u0005b\u0000\u0000\u00b6\u00b7\u0005"+
|
||||
"l\u0000\u0000\u00b7\u00b8\u0005i\u0000\u0000\u00b8\u00b9\u0005c\u0000"+
|
||||
"\u0000\u00b9\"\u0001\u0000\u0000\u0000\u00ba\u00bb\u0005n\u0000\u0000"+
|
||||
"\u00bb\u00bc\u0005e\u0000\u0000\u00bc\u00bd\u0005w\u0000\u0000\u00bd$"+
|
||||
"\u0001\u0000\u0000\u0000\u00be\u00bf\u0005n\u0000\u0000\u00bf\u00c0\u0005"+
|
||||
"u\u0000\u0000\u00c0\u00c1\u0005l\u0000\u0000\u00c1\u00c2\u0005l\u0000"+
|
||||
"\u0000\u00c2&\u0001\u0000\u0000\u0000\u00c3\u00c4\u0005t\u0000\u0000\u00c4"+
|
||||
"\u00c5\u0005h\u0000\u0000\u00c5\u00c6\u0005i\u0000\u0000\u00c6\u00c7\u0005"+
|
||||
"s\u0000\u0000\u00c7(\u0001\u0000\u0000\u0000\u00c8\u00c9\u0005i\u0000"+
|
||||
"\u0000\u00c9\u00ca\u0005f\u0000\u0000\u00ca*\u0001\u0000\u0000\u0000\u00cb"+
|
||||
"\u00cc\u0005e\u0000\u0000\u00cc\u00cd\u0005l\u0000\u0000\u00cd\u00ce\u0005"+
|
||||
"s\u0000\u0000\u00ce\u00cf\u0005e\u0000\u0000\u00cf,\u0001\u0000\u0000"+
|
||||
"\u0000\u00d0\u00d1\u0005-\u0000\u0000\u00d1.\u0001\u0000\u0000\u0000\u00d2"+
|
||||
"\u00d3\u0005+\u0000\u0000\u00d30\u0001\u0000\u0000\u0000\u00d4\u00d5\u0005"+
|
||||
"*\u0000\u0000\u00d52\u0001\u0000\u0000\u0000\u00d6\u00d7\u0005/\u0000"+
|
||||
"\u0000\u00d74\u0001\u0000\u0000\u0000\u00d8\u00d9\u0005%\u0000\u0000\u00d9"+
|
||||
"6\u0001\u0000\u0000\u0000\u00da\u00db\u0005>\u0000\u0000\u00db8\u0001"+
|
||||
"\u0000\u0000\u0000\u00dc\u00dd\u0005<\u0000\u0000\u00dd:\u0001\u0000\u0000"+
|
||||
"\u0000\u00de\u00df\u0005>\u0000\u0000\u00df\u00e0\u0005=\u0000\u0000\u00e0"+
|
||||
"<\u0001\u0000\u0000\u0000\u00e1\u00e2\u0005<\u0000\u0000\u00e2\u00e3\u0005"+
|
||||
"=\u0000\u0000\u00e3>\u0001\u0000\u0000\u0000\u00e4\u00e5\u0005=\u0000"+
|
||||
"\u0000\u00e5\u00e6\u0005=\u0000\u0000\u00e6@\u0001\u0000\u0000\u0000\u00e7"+
|
||||
"\u00e8\u0005!\u0000\u0000\u00e8\u00e9\u0005=\u0000\u0000\u00e9B\u0001"+
|
||||
"\u0000\u0000\u0000\u00ea\u00eb\u0005&\u0000\u0000\u00eb\u00ec\u0005&\u0000"+
|
||||
"\u0000\u00ecD\u0001\u0000\u0000\u0000\u00ed\u00ee\u0005|\u0000\u0000\u00ee"+
|
||||
"\u00ef\u0005|\u0000\u0000\u00efF\u0001\u0000\u0000\u0000\u00f0\u00f1\u0005"+
|
||||
"=\u0000\u0000\u00f1H\u0001\u0000\u0000\u0000\u00f2\u00f3\u0005+\u0000"+
|
||||
"\u0000\u00f3\u00f4\u0005=\u0000\u0000\u00f4J\u0001\u0000\u0000\u0000\u00f5"+
|
||||
"\u00f6\u0005-\u0000\u0000\u00f6\u00f7\u0005=\u0000\u0000\u00f7L\u0001"+
|
||||
"\u0000\u0000\u0000\u00f8\u00f9\u0005*\u0000\u0000\u00f9\u00fa\u0005=\u0000"+
|
||||
"\u0000\u00faN\u0001\u0000\u0000\u0000\u00fb\u00fc\u0005%\u0000\u0000\u00fc"+
|
||||
"\u00fd\u0005=\u0000\u0000\u00fdP\u0001\u0000\u0000\u0000\u00fe\u00ff\u0005"+
|
||||
"/\u0000\u0000\u00ff\u0100\u0005=\u0000\u0000\u0100R\u0001\u0000\u0000"+
|
||||
"\u0000\u0101\u0102\u0005!\u0000\u0000\u0102T\u0001\u0000\u0000\u0000\u0103"+
|
||||
"\u0104\u0005i\u0000\u0000\u0104\u0105\u0005n\u0000\u0000\u0105\u0106\u0005"+
|
||||
"t\u0000\u0000\u0106V\u0001\u0000\u0000\u0000\u0107\u0108\u0005b\u0000"+
|
||||
"\u0000\u0108\u0109\u0005o\u0000\u0000\u0109\u010a\u0005o\u0000\u0000\u010a"+
|
||||
"\u010b\u0005l\u0000\u0000\u010b\u010c\u0005e\u0000\u0000\u010c\u010d\u0005"+
|
||||
"a\u0000\u0000\u010d\u010e\u0005n\u0000\u0000\u010eX\u0001\u0000\u0000"+
|
||||
"\u0000\u010f\u0110\u0005v\u0000\u0000\u0110\u0111\u0005o\u0000\u0000\u0111"+
|
||||
"\u0112\u0005i\u0000\u0000\u0112\u0113\u0005d\u0000\u0000\u0113Z\u0001"+
|
||||
"\u0000\u0000\u0000\u0114\u0115\u0005c\u0000\u0000\u0115\u0116\u0005h\u0000"+
|
||||
"\u0000\u0116\u0117\u0005a\u0000\u0000\u0117\u0118\u0005r\u0000\u0000\u0118"+
|
||||
"\\\u0001\u0000\u0000\u0000\u0119\u011a\u0005t\u0000\u0000\u011a\u011b"+
|
||||
"\u0005r\u0000\u0000\u011b\u011c\u0005u\u0000\u0000\u011c\u0123\u0005e"+
|
||||
"\u0000\u0000\u011d\u011e\u0005f\u0000\u0000\u011e\u011f\u0005a\u0000\u0000"+
|
||||
"\u011f\u0120\u0005l\u0000\u0000\u0120\u0121\u0005s\u0000\u0000\u0121\u0123"+
|
||||
"\u0005e\u0000\u0000\u0122\u0119\u0001\u0000\u0000\u0000\u0122\u011d\u0001"+
|
||||
"\u0000\u0000\u0000\u0123^\u0001\u0000\u0000\u0000\u0124\u0125\u0007\u0000"+
|
||||
"\u0000\u0000\u0125\u0126\u0007\u0001\u0000\u0000\u0126\u0127\u0007\u0000"+
|
||||
"\u0000\u0000\u0127`\u0001\u0000\u0000\u0000\u0128\u012a\u0007\u0001\u0000"+
|
||||
"\u0000\u0129\u0128\u0001\u0000\u0000\u0000\u012a\u012b\u0001\u0000\u0000"+
|
||||
"\u0000\u012b\u0129\u0001\u0000\u0000\u0000\u012b\u012c\u0001\u0000\u0000"+
|
||||
"\u0000\u012c\u0130\u0001\u0000\u0000\u0000\u012d\u012f\u0007\u0002\u0000"+
|
||||
"\u0000\u012e\u012d\u0001\u0000\u0000\u0000\u012f\u0132\u0001\u0000\u0000"+
|
||||
"\u0000\u0130\u012e\u0001\u0000\u0000\u0000\u0130\u0131\u0001\u0000\u0000"+
|
||||
"\u0000\u0131\u0134\u0001\u0000\u0000\u0000\u0132\u0130\u0001\u0000\u0000"+
|
||||
"\u0000\u0133\u0129\u0001\u0000\u0000\u0000\u0134\u0135\u0001\u0000\u0000"+
|
||||
"\u0000\u0135\u0133\u0001\u0000\u0000\u0000\u0135\u0136\u0001\u0000\u0000"+
|
||||
"\u0000\u0136b\u0001\u0000\u0000\u0000\u0137\u0139\u0007\u0002\u0000\u0000"+
|
||||
"\u0138\u0137\u0001\u0000\u0000\u0000\u0139\u013a\u0001\u0000\u0000\u0000"+
|
||||
"\u013a\u0138\u0001\u0000\u0000\u0000\u013a\u013b\u0001\u0000\u0000\u0000"+
|
||||
"\u013bd\u0001\u0000\u0000\u0000\u013c\u013d\u0007\u0003\u0000\u0000\u013d"+
|
||||
"\u013e\u0001\u0000\u0000\u0000\u013e\u013f\u00062\u0000\u0000\u013ff\u0001"+
|
||||
"\u0000\u0000\u0000\u0140\u0141\u0005/\u0000\u0000\u0141\u0142\u0005*\u0000"+
|
||||
"\u0000\u0142\u0146\u0001\u0000\u0000\u0000\u0143\u0145\t\u0000\u0000\u0000"+
|
||||
"\u0144\u0143\u0001\u0000\u0000\u0000\u0145\u0148\u0001\u0000\u0000\u0000"+
|
||||
"\u0146\u0147\u0001\u0000\u0000\u0000\u0146\u0144\u0001\u0000\u0000\u0000"+
|
||||
"\u0147\u0149\u0001\u0000\u0000\u0000\u0148\u0146\u0001\u0000\u0000\u0000"+
|
||||
"\u0149\u014a\u0005*\u0000\u0000\u014a\u014b\u0005/\u0000\u0000\u014b\u014c"+
|
||||
"\u0001\u0000\u0000\u0000\u014c\u014d\u00063\u0000\u0000\u014dh\u0001\u0000"+
|
||||
"\u0000\u0000\u014e\u014f\u0005/\u0000\u0000\u014f\u0150\u0005/\u0000\u0000"+
|
||||
"\u0150\u0154\u0001\u0000\u0000\u0000\u0151\u0153\b\u0004\u0000\u0000\u0152"+
|
||||
"\u0151\u0001\u0000\u0000\u0000\u0153\u0156\u0001\u0000\u0000\u0000\u0154"+
|
||||
"\u0152\u0001\u0000\u0000\u0000\u0154\u0155\u0001\u0000\u0000\u0000\u0155"+
|
||||
"\u0157\u0001\u0000\u0000\u0000\u0156\u0154\u0001\u0000\u0000\u0000\u0157"+
|
||||
"\u0158\u00064\u0000\u0000\u0158j\u0001\u0000\u0000\u0000\b\u0000\u0122"+
|
||||
"\u012b\u0130\u0135\u013a\u0146\u0154\u0001\u0006\u0000\u0000";
|
||||
".\u0001.\u0001.\u0001/\u0001/\u0001/\u0001/\u0001/\u0001/\u0001/\u0001"+
|
||||
"/\u0001/\u0003/\u012e\b/\u00010\u00010\u00010\u00010\u00011\u00041\u0135"+
|
||||
"\b1\u000b1\f1\u0136\u00011\u00051\u013a\b1\n1\f1\u013d\t1\u00041\u013f"+
|
||||
"\b1\u000b1\f1\u0140\u00012\u00042\u0144\b2\u000b2\f2\u0145\u00013\u0001"+
|
||||
"3\u00013\u00013\u00014\u00014\u00014\u00014\u00054\u0150\b4\n4\f4\u0153"+
|
||||
"\t4\u00014\u00014\u00014\u00014\u00014\u00015\u00015\u00015\u00015\u0005"+
|
||||
"5\u015e\b5\n5\f5\u0161\t5\u00015\u00015\u0001\u0151\u00006\u0001\u0001"+
|
||||
"\u0003\u0002\u0005\u0003\u0007\u0004\t\u0005\u000b\u0006\r\u0007\u000f"+
|
||||
"\b\u0011\t\u0013\n\u0015\u000b\u0017\f\u0019\r\u001b\u000e\u001d\u000f"+
|
||||
"\u001f\u0010!\u0011#\u0012%\u0013\'\u0014)\u0015+\u0016-\u0017/\u0018"+
|
||||
"1\u00193\u001a5\u001b7\u001c9\u001d;\u001e=\u001f? A!C\"E#G$I%K&M\'O("+
|
||||
"Q)S*U+W,Y-[.]/_0a1c2e3g4i5k6\u0001\u0000\u0005\u0001\u0000\'\'\u0002\u0000"+
|
||||
"AZaz\u0001\u000009\u0003\u0000\t\n\r\r \u0002\u0000\n\n\r\r\u016a\u0000"+
|
||||
"\u0001\u0001\u0000\u0000\u0000\u0000\u0003\u0001\u0000\u0000\u0000\u0000"+
|
||||
"\u0005\u0001\u0000\u0000\u0000\u0000\u0007\u0001\u0000\u0000\u0000\u0000"+
|
||||
"\t\u0001\u0000\u0000\u0000\u0000\u000b\u0001\u0000\u0000\u0000\u0000\r"+
|
||||
"\u0001\u0000\u0000\u0000\u0000\u000f\u0001\u0000\u0000\u0000\u0000\u0011"+
|
||||
"\u0001\u0000\u0000\u0000\u0000\u0013\u0001\u0000\u0000\u0000\u0000\u0015"+
|
||||
"\u0001\u0000\u0000\u0000\u0000\u0017\u0001\u0000\u0000\u0000\u0000\u0019"+
|
||||
"\u0001\u0000\u0000\u0000\u0000\u001b\u0001\u0000\u0000\u0000\u0000\u001d"+
|
||||
"\u0001\u0000\u0000\u0000\u0000\u001f\u0001\u0000\u0000\u0000\u0000!\u0001"+
|
||||
"\u0000\u0000\u0000\u0000#\u0001\u0000\u0000\u0000\u0000%\u0001\u0000\u0000"+
|
||||
"\u0000\u0000\'\u0001\u0000\u0000\u0000\u0000)\u0001\u0000\u0000\u0000"+
|
||||
"\u0000+\u0001\u0000\u0000\u0000\u0000-\u0001\u0000\u0000\u0000\u0000/"+
|
||||
"\u0001\u0000\u0000\u0000\u00001\u0001\u0000\u0000\u0000\u00003\u0001\u0000"+
|
||||
"\u0000\u0000\u00005\u0001\u0000\u0000\u0000\u00007\u0001\u0000\u0000\u0000"+
|
||||
"\u00009\u0001\u0000\u0000\u0000\u0000;\u0001\u0000\u0000\u0000\u0000="+
|
||||
"\u0001\u0000\u0000\u0000\u0000?\u0001\u0000\u0000\u0000\u0000A\u0001\u0000"+
|
||||
"\u0000\u0000\u0000C\u0001\u0000\u0000\u0000\u0000E\u0001\u0000\u0000\u0000"+
|
||||
"\u0000G\u0001\u0000\u0000\u0000\u0000I\u0001\u0000\u0000\u0000\u0000K"+
|
||||
"\u0001\u0000\u0000\u0000\u0000M\u0001\u0000\u0000\u0000\u0000O\u0001\u0000"+
|
||||
"\u0000\u0000\u0000Q\u0001\u0000\u0000\u0000\u0000S\u0001\u0000\u0000\u0000"+
|
||||
"\u0000U\u0001\u0000\u0000\u0000\u0000W\u0001\u0000\u0000\u0000\u0000Y"+
|
||||
"\u0001\u0000\u0000\u0000\u0000[\u0001\u0000\u0000\u0000\u0000]\u0001\u0000"+
|
||||
"\u0000\u0000\u0000_\u0001\u0000\u0000\u0000\u0000a\u0001\u0000\u0000\u0000"+
|
||||
"\u0000c\u0001\u0000\u0000\u0000\u0000e\u0001\u0000\u0000\u0000\u0000g"+
|
||||
"\u0001\u0000\u0000\u0000\u0000i\u0001\u0000\u0000\u0000\u0000k\u0001\u0000"+
|
||||
"\u0000\u0000\u0001m\u0001\u0000\u0000\u0000\u0003s\u0001\u0000\u0000\u0000"+
|
||||
"\u0005u\u0001\u0000\u0000\u0000\u0007w\u0001\u0000\u0000\u0000\ty\u0001"+
|
||||
"\u0000\u0000\u0000\u000b{\u0001\u0000\u0000\u0000\r}\u0001\u0000\u0000"+
|
||||
"\u0000\u000f\u0084\u0001\u0000\u0000\u0000\u0011\u0089\u0001\u0000\u0000"+
|
||||
"\u0000\u0013\u0097\u0001\u0000\u0000\u0000\u0015\u0099\u0001\u0000\u0000"+
|
||||
"\u0000\u0017\u00a0\u0001\u0000\u0000\u0000\u0019\u00a4\u0001\u0000\u0000"+
|
||||
"\u0000\u001b\u00aa\u0001\u0000\u0000\u0000\u001d\u00ad\u0001\u0000\u0000"+
|
||||
"\u0000\u001f\u00b3\u0001\u0000\u0000\u0000!\u00bc\u0001\u0000\u0000\u0000"+
|
||||
"#\u00be\u0001\u0000\u0000\u0000%\u00c5\u0001\u0000\u0000\u0000\'\u00c9"+
|
||||
"\u0001\u0000\u0000\u0000)\u00ce\u0001\u0000\u0000\u0000+\u00d3\u0001\u0000"+
|
||||
"\u0000\u0000-\u00d6\u0001\u0000\u0000\u0000/\u00db\u0001\u0000\u0000\u0000"+
|
||||
"1\u00dd\u0001\u0000\u0000\u00003\u00df\u0001\u0000\u0000\u00005\u00e1"+
|
||||
"\u0001\u0000\u0000\u00007\u00e3\u0001\u0000\u0000\u00009\u00e5\u0001\u0000"+
|
||||
"\u0000\u0000;\u00e7\u0001\u0000\u0000\u0000=\u00e9\u0001\u0000\u0000\u0000"+
|
||||
"?\u00ec\u0001\u0000\u0000\u0000A\u00ef\u0001\u0000\u0000\u0000C\u00f2"+
|
||||
"\u0001\u0000\u0000\u0000E\u00f5\u0001\u0000\u0000\u0000G\u00f8\u0001\u0000"+
|
||||
"\u0000\u0000I\u00fb\u0001\u0000\u0000\u0000K\u00fd\u0001\u0000\u0000\u0000"+
|
||||
"M\u0100\u0001\u0000\u0000\u0000O\u0103\u0001\u0000\u0000\u0000Q\u0106"+
|
||||
"\u0001\u0000\u0000\u0000S\u0109\u0001\u0000\u0000\u0000U\u010c\u0001\u0000"+
|
||||
"\u0000\u0000W\u010e\u0001\u0000\u0000\u0000Y\u0112\u0001\u0000\u0000\u0000"+
|
||||
"[\u011a\u0001\u0000\u0000\u0000]\u011f\u0001\u0000\u0000\u0000_\u012d"+
|
||||
"\u0001\u0000\u0000\u0000a\u012f\u0001\u0000\u0000\u0000c\u013e\u0001\u0000"+
|
||||
"\u0000\u0000e\u0143\u0001\u0000\u0000\u0000g\u0147\u0001\u0000\u0000\u0000"+
|
||||
"i\u014b\u0001\u0000\u0000\u0000k\u0159\u0001\u0000\u0000\u0000mn\u0005"+
|
||||
"c\u0000\u0000no\u0005l\u0000\u0000op\u0005a\u0000\u0000pq\u0005s\u0000"+
|
||||
"\u0000qr\u0005s\u0000\u0000r\u0002\u0001\u0000\u0000\u0000st\u0005{\u0000"+
|
||||
"\u0000t\u0004\u0001\u0000\u0000\u0000uv\u0005}\u0000\u0000v\u0006\u0001"+
|
||||
"\u0000\u0000\u0000wx\u0005;\u0000\u0000x\b\u0001\u0000\u0000\u0000yz\u0005"+
|
||||
"(\u0000\u0000z\n\u0001\u0000\u0000\u0000{|\u0005)\u0000\u0000|\f\u0001"+
|
||||
"\u0000\u0000\u0000}~\u0005s\u0000\u0000~\u007f\u0005t\u0000\u0000\u007f"+
|
||||
"\u0080\u0005a\u0000\u0000\u0080\u0081\u0005t\u0000\u0000\u0081\u0082\u0005"+
|
||||
"i\u0000\u0000\u0082\u0083\u0005c\u0000\u0000\u0083\u000e\u0001\u0000\u0000"+
|
||||
"\u0000\u0084\u0085\u0005m\u0000\u0000\u0085\u0086\u0005a\u0000\u0000\u0086"+
|
||||
"\u0087\u0005i\u0000\u0000\u0087\u0088\u0005n\u0000\u0000\u0088\u0010\u0001"+
|
||||
"\u0000\u0000\u0000\u0089\u008a\u0005S\u0000\u0000\u008a\u008b\u0005t\u0000"+
|
||||
"\u0000\u008b\u008c\u0005r\u0000\u0000\u008c\u008d\u0005i\u0000\u0000\u008d"+
|
||||
"\u008e\u0005n\u0000\u0000\u008e\u008f\u0005g\u0000\u0000\u008f\u0090\u0005"+
|
||||
"[\u0000\u0000\u0090\u0091\u0005]\u0000\u0000\u0091\u0092\u0005 \u0000"+
|
||||
"\u0000\u0092\u0093\u0005a\u0000\u0000\u0093\u0094\u0005r\u0000\u0000\u0094"+
|
||||
"\u0095\u0005g\u0000\u0000\u0095\u0096\u0005s\u0000\u0000\u0096\u0012\u0001"+
|
||||
"\u0000\u0000\u0000\u0097\u0098\u0005,\u0000\u0000\u0098\u0014\u0001\u0000"+
|
||||
"\u0000\u0000\u0099\u009a\u0005r\u0000\u0000\u009a\u009b\u0005e\u0000\u0000"+
|
||||
"\u009b\u009c\u0005t\u0000\u0000\u009c\u009d\u0005u\u0000\u0000\u009d\u009e"+
|
||||
"\u0005r\u0000\u0000\u009e\u009f\u0005n\u0000\u0000\u009f\u0016\u0001\u0000"+
|
||||
"\u0000\u0000\u00a0\u00a1\u0005f\u0000\u0000\u00a1\u00a2\u0005o\u0000\u0000"+
|
||||
"\u00a2\u00a3\u0005r\u0000\u0000\u00a3\u0018\u0001\u0000\u0000\u0000\u00a4"+
|
||||
"\u00a5\u0005w\u0000\u0000\u00a5\u00a6\u0005h\u0000\u0000\u00a6\u00a7\u0005"+
|
||||
"i\u0000\u0000\u00a7\u00a8\u0005l\u0000\u0000\u00a8\u00a9\u0005e\u0000"+
|
||||
"\u0000\u00a9\u001a\u0001\u0000\u0000\u0000\u00aa\u00ab\u0005d\u0000\u0000"+
|
||||
"\u00ab\u00ac\u0005o\u0000\u0000\u00ac\u001c\u0001\u0000\u0000\u0000\u00ad"+
|
||||
"\u00ae\u0005b\u0000\u0000\u00ae\u00af\u0005r\u0000\u0000\u00af\u00b0\u0005"+
|
||||
"e\u0000\u0000\u00b0\u00b1\u0005a\u0000\u0000\u00b1\u00b2\u0005k\u0000"+
|
||||
"\u0000\u00b2\u001e\u0001\u0000\u0000\u0000\u00b3\u00b4\u0005c\u0000\u0000"+
|
||||
"\u00b4\u00b5\u0005o\u0000\u0000\u00b5\u00b6\u0005n\u0000\u0000\u00b6\u00b7"+
|
||||
"\u0005t\u0000\u0000\u00b7\u00b8\u0005i\u0000\u0000\u00b8\u00b9\u0005n"+
|
||||
"\u0000\u0000\u00b9\u00ba\u0005u\u0000\u0000\u00ba\u00bb\u0005e\u0000\u0000"+
|
||||
"\u00bb \u0001\u0000\u0000\u0000\u00bc\u00bd\u0005.\u0000\u0000\u00bd\""+
|
||||
"\u0001\u0000\u0000\u0000\u00be\u00bf\u0005p\u0000\u0000\u00bf\u00c0\u0005"+
|
||||
"u\u0000\u0000\u00c0\u00c1\u0005b\u0000\u0000\u00c1\u00c2\u0005l\u0000"+
|
||||
"\u0000\u00c2\u00c3\u0005i\u0000\u0000\u00c3\u00c4\u0005c\u0000\u0000\u00c4"+
|
||||
"$\u0001\u0000\u0000\u0000\u00c5\u00c6\u0005n\u0000\u0000\u00c6\u00c7\u0005"+
|
||||
"e\u0000\u0000\u00c7\u00c8\u0005w\u0000\u0000\u00c8&\u0001\u0000\u0000"+
|
||||
"\u0000\u00c9\u00ca\u0005n\u0000\u0000\u00ca\u00cb\u0005u\u0000\u0000\u00cb"+
|
||||
"\u00cc\u0005l\u0000\u0000\u00cc\u00cd\u0005l\u0000\u0000\u00cd(\u0001"+
|
||||
"\u0000\u0000\u0000\u00ce\u00cf\u0005t\u0000\u0000\u00cf\u00d0\u0005h\u0000"+
|
||||
"\u0000\u00d0\u00d1\u0005i\u0000\u0000\u00d1\u00d2\u0005s\u0000\u0000\u00d2"+
|
||||
"*\u0001\u0000\u0000\u0000\u00d3\u00d4\u0005i\u0000\u0000\u00d4\u00d5\u0005"+
|
||||
"f\u0000\u0000\u00d5,\u0001\u0000\u0000\u0000\u00d6\u00d7\u0005e\u0000"+
|
||||
"\u0000\u00d7\u00d8\u0005l\u0000\u0000\u00d8\u00d9\u0005s\u0000\u0000\u00d9"+
|
||||
"\u00da\u0005e\u0000\u0000\u00da.\u0001\u0000\u0000\u0000\u00db\u00dc\u0005"+
|
||||
"-\u0000\u0000\u00dc0\u0001\u0000\u0000\u0000\u00dd\u00de\u0005+\u0000"+
|
||||
"\u0000\u00de2\u0001\u0000\u0000\u0000\u00df\u00e0\u0005*\u0000\u0000\u00e0"+
|
||||
"4\u0001\u0000\u0000\u0000\u00e1\u00e2\u0005/\u0000\u0000\u00e26\u0001"+
|
||||
"\u0000\u0000\u0000\u00e3\u00e4\u0005%\u0000\u0000\u00e48\u0001\u0000\u0000"+
|
||||
"\u0000\u00e5\u00e6\u0005>\u0000\u0000\u00e6:\u0001\u0000\u0000\u0000\u00e7"+
|
||||
"\u00e8\u0005<\u0000\u0000\u00e8<\u0001\u0000\u0000\u0000\u00e9\u00ea\u0005"+
|
||||
">\u0000\u0000\u00ea\u00eb\u0005=\u0000\u0000\u00eb>\u0001\u0000\u0000"+
|
||||
"\u0000\u00ec\u00ed\u0005<\u0000\u0000\u00ed\u00ee\u0005=\u0000\u0000\u00ee"+
|
||||
"@\u0001\u0000\u0000\u0000\u00ef\u00f0\u0005=\u0000\u0000\u00f0\u00f1\u0005"+
|
||||
"=\u0000\u0000\u00f1B\u0001\u0000\u0000\u0000\u00f2\u00f3\u0005!\u0000"+
|
||||
"\u0000\u00f3\u00f4\u0005=\u0000\u0000\u00f4D\u0001\u0000\u0000\u0000\u00f5"+
|
||||
"\u00f6\u0005&\u0000\u0000\u00f6\u00f7\u0005&\u0000\u0000\u00f7F\u0001"+
|
||||
"\u0000\u0000\u0000\u00f8\u00f9\u0005|\u0000\u0000\u00f9\u00fa\u0005|\u0000"+
|
||||
"\u0000\u00faH\u0001\u0000\u0000\u0000\u00fb\u00fc\u0005=\u0000\u0000\u00fc"+
|
||||
"J\u0001\u0000\u0000\u0000\u00fd\u00fe\u0005+\u0000\u0000\u00fe\u00ff\u0005"+
|
||||
"=\u0000\u0000\u00ffL\u0001\u0000\u0000\u0000\u0100\u0101\u0005-\u0000"+
|
||||
"\u0000\u0101\u0102\u0005=\u0000\u0000\u0102N\u0001\u0000\u0000\u0000\u0103"+
|
||||
"\u0104\u0005*\u0000\u0000\u0104\u0105\u0005=\u0000\u0000\u0105P\u0001"+
|
||||
"\u0000\u0000\u0000\u0106\u0107\u0005%\u0000\u0000\u0107\u0108\u0005=\u0000"+
|
||||
"\u0000\u0108R\u0001\u0000\u0000\u0000\u0109\u010a\u0005/\u0000\u0000\u010a"+
|
||||
"\u010b\u0005=\u0000\u0000\u010bT\u0001\u0000\u0000\u0000\u010c\u010d\u0005"+
|
||||
"!\u0000\u0000\u010dV\u0001\u0000\u0000\u0000\u010e\u010f\u0005i\u0000"+
|
||||
"\u0000\u010f\u0110\u0005n\u0000\u0000\u0110\u0111\u0005t\u0000\u0000\u0111"+
|
||||
"X\u0001\u0000\u0000\u0000\u0112\u0113\u0005b\u0000\u0000\u0113\u0114\u0005"+
|
||||
"o\u0000\u0000\u0114\u0115\u0005o\u0000\u0000\u0115\u0116\u0005l\u0000"+
|
||||
"\u0000\u0116\u0117\u0005e\u0000\u0000\u0117\u0118\u0005a\u0000\u0000\u0118"+
|
||||
"\u0119\u0005n\u0000\u0000\u0119Z\u0001\u0000\u0000\u0000\u011a\u011b\u0005"+
|
||||
"v\u0000\u0000\u011b\u011c\u0005o\u0000\u0000\u011c\u011d\u0005i\u0000"+
|
||||
"\u0000\u011d\u011e\u0005d\u0000\u0000\u011e\\\u0001\u0000\u0000\u0000"+
|
||||
"\u011f\u0120\u0005c\u0000\u0000\u0120\u0121\u0005h\u0000\u0000\u0121\u0122"+
|
||||
"\u0005a\u0000\u0000\u0122\u0123\u0005r\u0000\u0000\u0123^\u0001\u0000"+
|
||||
"\u0000\u0000\u0124\u0125\u0005t\u0000\u0000\u0125\u0126\u0005r\u0000\u0000"+
|
||||
"\u0126\u0127\u0005u\u0000\u0000\u0127\u012e\u0005e\u0000\u0000\u0128\u0129"+
|
||||
"\u0005f\u0000\u0000\u0129\u012a\u0005a\u0000\u0000\u012a\u012b\u0005l"+
|
||||
"\u0000\u0000\u012b\u012c\u0005s\u0000\u0000\u012c\u012e\u0005e\u0000\u0000"+
|
||||
"\u012d\u0124\u0001\u0000\u0000\u0000\u012d\u0128\u0001\u0000\u0000\u0000"+
|
||||
"\u012e`\u0001\u0000\u0000\u0000\u012f\u0130\u0007\u0000\u0000\u0000\u0130"+
|
||||
"\u0131\u0007\u0001\u0000\u0000\u0131\u0132\u0007\u0000\u0000\u0000\u0132"+
|
||||
"b\u0001\u0000\u0000\u0000\u0133\u0135\u0007\u0001\u0000\u0000\u0134\u0133"+
|
||||
"\u0001\u0000\u0000\u0000\u0135\u0136\u0001\u0000\u0000\u0000\u0136\u0134"+
|
||||
"\u0001\u0000\u0000\u0000\u0136\u0137\u0001\u0000\u0000\u0000\u0137\u013b"+
|
||||
"\u0001\u0000\u0000\u0000\u0138\u013a\u0007\u0002\u0000\u0000\u0139\u0138"+
|
||||
"\u0001\u0000\u0000\u0000\u013a\u013d\u0001\u0000\u0000\u0000\u013b\u0139"+
|
||||
"\u0001\u0000\u0000\u0000\u013b\u013c\u0001\u0000\u0000\u0000\u013c\u013f"+
|
||||
"\u0001\u0000\u0000\u0000\u013d\u013b\u0001\u0000\u0000\u0000\u013e\u0134"+
|
||||
"\u0001\u0000\u0000\u0000\u013f\u0140\u0001\u0000\u0000\u0000\u0140\u013e"+
|
||||
"\u0001\u0000\u0000\u0000\u0140\u0141\u0001\u0000\u0000\u0000\u0141d\u0001"+
|
||||
"\u0000\u0000\u0000\u0142\u0144\u0007\u0002\u0000\u0000\u0143\u0142\u0001"+
|
||||
"\u0000\u0000\u0000\u0144\u0145\u0001\u0000\u0000\u0000\u0145\u0143\u0001"+
|
||||
"\u0000\u0000\u0000\u0145\u0146\u0001\u0000\u0000\u0000\u0146f\u0001\u0000"+
|
||||
"\u0000\u0000\u0147\u0148\u0007\u0003\u0000\u0000\u0148\u0149\u0001\u0000"+
|
||||
"\u0000\u0000\u0149\u014a\u00063\u0000\u0000\u014ah\u0001\u0000\u0000\u0000"+
|
||||
"\u014b\u014c\u0005/\u0000\u0000\u014c\u014d\u0005*\u0000\u0000\u014d\u0151"+
|
||||
"\u0001\u0000\u0000\u0000\u014e\u0150\t\u0000\u0000\u0000\u014f\u014e\u0001"+
|
||||
"\u0000\u0000\u0000\u0150\u0153\u0001\u0000\u0000\u0000\u0151\u0152\u0001"+
|
||||
"\u0000\u0000\u0000\u0151\u014f\u0001\u0000\u0000\u0000\u0152\u0154\u0001"+
|
||||
"\u0000\u0000\u0000\u0153\u0151\u0001\u0000\u0000\u0000\u0154\u0155\u0005"+
|
||||
"*\u0000\u0000\u0155\u0156\u0005/\u0000\u0000\u0156\u0157\u0001\u0000\u0000"+
|
||||
"\u0000\u0157\u0158\u00064\u0000\u0000\u0158j\u0001\u0000\u0000\u0000\u0159"+
|
||||
"\u015a\u0005/\u0000\u0000\u015a\u015b\u0005/\u0000\u0000\u015b\u015f\u0001"+
|
||||
"\u0000\u0000\u0000\u015c\u015e\b\u0004\u0000\u0000\u015d\u015c\u0001\u0000"+
|
||||
"\u0000\u0000\u015e\u0161\u0001\u0000\u0000\u0000\u015f\u015d\u0001\u0000"+
|
||||
"\u0000\u0000\u015f\u0160\u0001\u0000\u0000\u0000\u0160\u0162\u0001\u0000"+
|
||||
"\u0000\u0000\u0161\u015f\u0001\u0000\u0000\u0000\u0162\u0163\u00065\u0000"+
|
||||
"\u0000\u0163l\u0001\u0000\u0000\u0000\b\u0000\u012d\u0136\u013b\u0140"+
|
||||
"\u0145\u0151\u015f\u0001\u0006\u0000\u0000";
|
||||
public static final ATN _ATN =
|
||||
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
||||
static {
|
||||
|
@ -14,43 +14,44 @@ T__12=13
|
||||
T__13=14
|
||||
T__14=15
|
||||
T__15=16
|
||||
PUBLIC=17
|
||||
NEW=18
|
||||
NULL=19
|
||||
THIS=20
|
||||
IF=21
|
||||
ELSE=22
|
||||
SUB=23
|
||||
ADD=24
|
||||
MUL=25
|
||||
DIV=26
|
||||
MOD=27
|
||||
GT=28
|
||||
LT=29
|
||||
GE=30
|
||||
LE=31
|
||||
EQ=32
|
||||
NE=33
|
||||
AND=34
|
||||
OR=35
|
||||
ASSIGN=36
|
||||
ADD_ASSIGN=37
|
||||
SUB_ASSIGN=38
|
||||
MUL_ASSIGN=39
|
||||
MOD_ASSIGN=40
|
||||
DIV_ASSIGN=41
|
||||
NOT=42
|
||||
INT=43
|
||||
BOOL=44
|
||||
VOID=45
|
||||
CHAR=46
|
||||
BOOLEANLITERAL=47
|
||||
CHARLITERAL=48
|
||||
IDENTIFIER=49
|
||||
NUMBER=50
|
||||
WS=51
|
||||
COMMENT=52
|
||||
LINE_COMMENT=53
|
||||
T__16=17
|
||||
PUBLIC=18
|
||||
NEW=19
|
||||
NULL=20
|
||||
THIS=21
|
||||
IF=22
|
||||
ELSE=23
|
||||
SUB=24
|
||||
ADD=25
|
||||
MUL=26
|
||||
DIV=27
|
||||
MOD=28
|
||||
GT=29
|
||||
LT=30
|
||||
GE=31
|
||||
LE=32
|
||||
EQ=33
|
||||
NE=34
|
||||
AND=35
|
||||
OR=36
|
||||
ASSIGN=37
|
||||
ADD_ASSIGN=38
|
||||
SUB_ASSIGN=39
|
||||
MUL_ASSIGN=40
|
||||
MOD_ASSIGN=41
|
||||
DIV_ASSIGN=42
|
||||
NOT=43
|
||||
INT=44
|
||||
BOOL=45
|
||||
VOID=46
|
||||
CHAR=47
|
||||
BOOLEANLITERAL=48
|
||||
CHARLITERAL=49
|
||||
IDENTIFIER=50
|
||||
NUMBER=51
|
||||
WS=52
|
||||
COMMENT=53
|
||||
LINE_COMMENT=54
|
||||
'class'=1
|
||||
'{'=2
|
||||
'}'=3
|
||||
@ -66,34 +67,35 @@ LINE_COMMENT=53
|
||||
'while'=13
|
||||
'do'=14
|
||||
'break'=15
|
||||
'.'=16
|
||||
'public'=17
|
||||
'new'=18
|
||||
'null'=19
|
||||
'this'=20
|
||||
'if'=21
|
||||
'else'=22
|
||||
'-'=23
|
||||
'+'=24
|
||||
'*'=25
|
||||
'/'=26
|
||||
'%'=27
|
||||
'>'=28
|
||||
'<'=29
|
||||
'>='=30
|
||||
'<='=31
|
||||
'=='=32
|
||||
'!='=33
|
||||
'&&'=34
|
||||
'||'=35
|
||||
'='=36
|
||||
'+='=37
|
||||
'-='=38
|
||||
'*='=39
|
||||
'%='=40
|
||||
'/='=41
|
||||
'!'=42
|
||||
'int'=43
|
||||
'boolean'=44
|
||||
'void'=45
|
||||
'char'=46
|
||||
'continue'=16
|
||||
'.'=17
|
||||
'public'=18
|
||||
'new'=19
|
||||
'null'=20
|
||||
'this'=21
|
||||
'if'=22
|
||||
'else'=23
|
||||
'-'=24
|
||||
'+'=25
|
||||
'*'=26
|
||||
'/'=27
|
||||
'%'=28
|
||||
'>'=29
|
||||
'<'=30
|
||||
'>='=31
|
||||
'<='=32
|
||||
'=='=33
|
||||
'!='=34
|
||||
'&&'=35
|
||||
'||'=36
|
||||
'='=37
|
||||
'+='=38
|
||||
'-='=39
|
||||
'*='=40
|
||||
'%='=41
|
||||
'/='=42
|
||||
'!'=43
|
||||
'int'=44
|
||||
'boolean'=45
|
||||
'void'=46
|
||||
'char'=47
|
||||
|
@ -207,6 +207,18 @@ public interface DecafListener extends ParseTreeListener {
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
void exitBreak(DecafParser.BreakContext ctx);
|
||||
/**
|
||||
* Enter a parse tree produced by the {@code Continue}
|
||||
* labeled alternative in {@link DecafParser#stmt}.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
void enterContinue(DecafParser.ContinueContext ctx);
|
||||
/**
|
||||
* Exit a parse tree produced by the {@code Continue}
|
||||
* labeled alternative in {@link DecafParser#stmt}.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
void exitContinue(DecafParser.ContinueContext ctx);
|
||||
/**
|
||||
* Enter a parse tree produced by the {@code LocalVarDec}
|
||||
* labeled alternative in {@link DecafParser#stmt}.
|
||||
|
@ -18,12 +18,12 @@ public class DecafParser extends Parser {
|
||||
new PredictionContextCache();
|
||||
public static final int
|
||||
T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9,
|
||||
T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, PUBLIC=17,
|
||||
NEW=18, NULL=19, THIS=20, IF=21, ELSE=22, SUB=23, ADD=24, MUL=25, DIV=26,
|
||||
MOD=27, GT=28, LT=29, GE=30, LE=31, EQ=32, NE=33, AND=34, OR=35, ASSIGN=36,
|
||||
ADD_ASSIGN=37, SUB_ASSIGN=38, MUL_ASSIGN=39, MOD_ASSIGN=40, DIV_ASSIGN=41,
|
||||
NOT=42, INT=43, BOOL=44, VOID=45, CHAR=46, BOOLEANLITERAL=47, CHARLITERAL=48,
|
||||
IDENTIFIER=49, NUMBER=50, WS=51, COMMENT=52, LINE_COMMENT=53;
|
||||
T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17,
|
||||
PUBLIC=18, NEW=19, NULL=20, THIS=21, IF=22, ELSE=23, SUB=24, ADD=25, MUL=26,
|
||||
DIV=27, MOD=28, GT=29, LT=30, GE=31, LE=32, EQ=33, NE=34, AND=35, OR=36,
|
||||
ASSIGN=37, ADD_ASSIGN=38, SUB_ASSIGN=39, MUL_ASSIGN=40, MOD_ASSIGN=41,
|
||||
DIV_ASSIGN=42, NOT=43, INT=44, BOOL=45, VOID=46, CHAR=47, BOOLEANLITERAL=48,
|
||||
CHARLITERAL=49, IDENTIFIER=50, NUMBER=51, WS=52, COMMENT=53, LINE_COMMENT=54;
|
||||
public static final int
|
||||
RULE_class = 0, RULE_field = 1, RULE_assignSign = 2, RULE_returntype = 3,
|
||||
RULE_type = 4, RULE_meth = 5, RULE_mainmeth = 6, RULE_constructor = 7,
|
||||
@ -48,19 +48,19 @@ public class DecafParser extends Parser {
|
||||
return new String[] {
|
||||
null, "'class'", "'{'", "'}'", "';'", "'('", "')'", "'static'", "'main'",
|
||||
"'String[] args'", "','", "'return'", "'for'", "'while'", "'do'", "'break'",
|
||||
"'.'", "'public'", "'new'", "'null'", "'this'", "'if'", "'else'", "'-'",
|
||||
"'+'", "'*'", "'/'", "'%'", "'>'", "'<'", "'>='", "'<='", "'=='", "'!='",
|
||||
"'&&'", "'||'", "'='", "'+='", "'-='", "'*='", "'%='", "'/='", "'!'",
|
||||
"'int'", "'boolean'", "'void'", "'char'"
|
||||
"'continue'", "'.'", "'public'", "'new'", "'null'", "'this'", "'if'",
|
||||
"'else'", "'-'", "'+'", "'*'", "'/'", "'%'", "'>'", "'<'", "'>='", "'<='",
|
||||
"'=='", "'!='", "'&&'", "'||'", "'='", "'+='", "'-='", "'*='", "'%='",
|
||||
"'/='", "'!'", "'int'", "'boolean'", "'void'", "'char'"
|
||||
};
|
||||
}
|
||||
private static final String[] _LITERAL_NAMES = makeLiteralNames();
|
||||
private static String[] makeSymbolicNames() {
|
||||
return new String[] {
|
||||
null, null, null, null, null, null, null, null, null, null, null, null,
|
||||
null, null, null, null, null, "PUBLIC", "NEW", "NULL", "THIS", "IF",
|
||||
"ELSE", "SUB", "ADD", "MUL", "DIV", "MOD", "GT", "LT", "GE", "LE", "EQ",
|
||||
"NE", "AND", "OR", "ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN",
|
||||
null, null, null, null, null, null, "PUBLIC", "NEW", "NULL", "THIS",
|
||||
"IF", "ELSE", "SUB", "ADD", "MUL", "DIV", "MOD", "GT", "LT", "GE", "LE",
|
||||
"EQ", "NE", "AND", "OR", "ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN",
|
||||
"MOD_ASSIGN", "DIV_ASSIGN", "NOT", "INT", "BOOL", "VOID", "CHAR", "BOOLEANLITERAL",
|
||||
"CHARLITERAL", "IDENTIFIER", "NUMBER", "WS", "COMMENT", "LINE_COMMENT"
|
||||
};
|
||||
@ -190,7 +190,7 @@ public class DecafParser extends Parser {
|
||||
setState(72);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 659706976796672L) != 0)) {
|
||||
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 1319413953593344L) != 0)) {
|
||||
{
|
||||
setState(70);
|
||||
_errHandler.sync(this);
|
||||
@ -334,7 +334,7 @@ public class DecafParser extends Parser {
|
||||
{
|
||||
setState(84);
|
||||
_la = _input.LA(1);
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 4329327034368L) != 0)) ) {
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 8658654068736L) != 0)) ) {
|
||||
_errHandler.recoverInline(this);
|
||||
}
|
||||
else {
|
||||
@ -548,7 +548,7 @@ public class DecafParser extends Parser {
|
||||
setState(101);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 659706976665600L) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 1319413953331200L) != 0)) {
|
||||
{
|
||||
setState(100);
|
||||
params();
|
||||
@ -680,7 +680,7 @@ public class DecafParser extends Parser {
|
||||
setState(119);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 659706976665600L) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 1319413953331200L) != 0)) {
|
||||
{
|
||||
setState(118);
|
||||
params();
|
||||
@ -861,7 +861,7 @@ public class DecafParser extends Parser {
|
||||
setState(139);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 659706980134912L) != 0)) {
|
||||
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 1319413960273920L) != 0)) {
|
||||
{
|
||||
{
|
||||
setState(136);
|
||||
@ -1257,6 +1257,23 @@ public class DecafParser extends Parser {
|
||||
}
|
||||
}
|
||||
@SuppressWarnings("CheckReturnValue")
|
||||
public static class ContinueContext extends StmtContext {
|
||||
public ContinueContext(StmtContext ctx) { copyFrom(ctx); }
|
||||
@Override
|
||||
public void enterRule(ParseTreeListener listener) {
|
||||
if ( listener instanceof DecafListener ) ((DecafListener)listener).enterContinue(this);
|
||||
}
|
||||
@Override
|
||||
public void exitRule(ParseTreeListener listener) {
|
||||
if ( listener instanceof DecafListener ) ((DecafListener)listener).exitContinue(this);
|
||||
}
|
||||
@Override
|
||||
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
|
||||
if ( visitor instanceof DecafVisitor ) return ((DecafVisitor<? extends T>)visitor).visitContinue(this);
|
||||
else return visitor.visitChildren(this);
|
||||
}
|
||||
}
|
||||
@SuppressWarnings("CheckReturnValue")
|
||||
public static class IfContext extends StmtContext {
|
||||
public IfCallContext ifCall() {
|
||||
return getRuleContext(IfCallContext.class,0);
|
||||
@ -1282,7 +1299,7 @@ public class DecafParser extends Parser {
|
||||
enterRule(_localctx, 28, RULE_stmt);
|
||||
int _la;
|
||||
try {
|
||||
setState(206);
|
||||
setState(208);
|
||||
_errHandler.sync(this);
|
||||
switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
|
||||
case 1:
|
||||
@ -1386,42 +1403,52 @@ public class DecafParser extends Parser {
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
_localctx = new LocalVarDecContext(_localctx);
|
||||
_localctx = new ContinueContext(_localctx);
|
||||
enterOuterAlt(_localctx, 6);
|
||||
{
|
||||
setState(194);
|
||||
localVar();
|
||||
match(T__15);
|
||||
setState(195);
|
||||
match(T__3);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
_localctx = new LocalVarDecWithInitializationContext(_localctx);
|
||||
_localctx = new LocalVarDecContext(_localctx);
|
||||
enterOuterAlt(_localctx, 7);
|
||||
{
|
||||
setState(196);
|
||||
localVar();
|
||||
setState(197);
|
||||
localVarWithInitialization();
|
||||
setState(198);
|
||||
match(T__3);
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
_localctx = new AssignmentContext(_localctx);
|
||||
_localctx = new LocalVarDecWithInitializationContext(_localctx);
|
||||
enterOuterAlt(_localctx, 8);
|
||||
{
|
||||
setState(199);
|
||||
localVarWithInitialization();
|
||||
setState(200);
|
||||
assign();
|
||||
setState(201);
|
||||
match(T__3);
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
_localctx = new StatementExpressionstmtContext(_localctx);
|
||||
_localctx = new AssignmentContext(_localctx);
|
||||
enterOuterAlt(_localctx, 9);
|
||||
{
|
||||
setState(202);
|
||||
assign();
|
||||
setState(203);
|
||||
match(T__3);
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
_localctx = new StatementExpressionstmtContext(_localctx);
|
||||
enterOuterAlt(_localctx, 10);
|
||||
{
|
||||
setState(205);
|
||||
stmtexpr();
|
||||
setState(204);
|
||||
setState(206);
|
||||
match(T__3);
|
||||
}
|
||||
break;
|
||||
@ -1495,14 +1522,14 @@ public class DecafParser extends Parser {
|
||||
StmtexprContext _localctx = new StmtexprContext(_ctx, getState());
|
||||
enterRule(_localctx, 30, RULE_stmtexpr);
|
||||
try {
|
||||
setState(210);
|
||||
setState(212);
|
||||
_errHandler.sync(this);
|
||||
switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) {
|
||||
case 1:
|
||||
_localctx = new MethodCallContext(_localctx);
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(208);
|
||||
setState(210);
|
||||
methCall();
|
||||
}
|
||||
break;
|
||||
@ -1510,7 +1537,7 @@ public class DecafParser extends Parser {
|
||||
_localctx = new NewContext(_localctx);
|
||||
enterOuterAlt(_localctx, 2);
|
||||
{
|
||||
setState(209);
|
||||
setState(211);
|
||||
newCall();
|
||||
}
|
||||
break;
|
||||
@ -1684,7 +1711,7 @@ public class DecafParser extends Parser {
|
||||
int _alt;
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(223);
|
||||
setState(225);
|
||||
_errHandler.sync(this);
|
||||
switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) {
|
||||
case 1:
|
||||
@ -1693,9 +1720,9 @@ public class DecafParser extends Parser {
|
||||
_ctx = _localctx;
|
||||
_prevctx = _localctx;
|
||||
|
||||
setState(213);
|
||||
setState(215);
|
||||
unaryOp();
|
||||
setState(214);
|
||||
setState(216);
|
||||
expr(5);
|
||||
}
|
||||
break;
|
||||
@ -1704,7 +1731,7 @@ public class DecafParser extends Parser {
|
||||
_localctx = new ConstantContext(_localctx);
|
||||
_ctx = _localctx;
|
||||
_prevctx = _localctx;
|
||||
setState(216);
|
||||
setState(218);
|
||||
literal();
|
||||
}
|
||||
break;
|
||||
@ -1713,11 +1740,11 @@ public class DecafParser extends Parser {
|
||||
_localctx = new ExpressionContext(_localctx);
|
||||
_ctx = _localctx;
|
||||
_prevctx = _localctx;
|
||||
setState(217);
|
||||
match(T__4);
|
||||
setState(218);
|
||||
expr(0);
|
||||
setState(219);
|
||||
match(T__4);
|
||||
setState(220);
|
||||
expr(0);
|
||||
setState(221);
|
||||
match(T__5);
|
||||
}
|
||||
break;
|
||||
@ -1726,7 +1753,7 @@ public class DecafParser extends Parser {
|
||||
_localctx = new IdentifierContext(_localctx);
|
||||
_ctx = _localctx;
|
||||
_prevctx = _localctx;
|
||||
setState(221);
|
||||
setState(223);
|
||||
fieldVarAccess();
|
||||
}
|
||||
break;
|
||||
@ -1735,13 +1762,13 @@ public class DecafParser extends Parser {
|
||||
_localctx = new StatementExpressionexprContext(_localctx);
|
||||
_ctx = _localctx;
|
||||
_prevctx = _localctx;
|
||||
setState(222);
|
||||
setState(224);
|
||||
stmtexpr();
|
||||
}
|
||||
break;
|
||||
}
|
||||
_ctx.stop = _input.LT(-1);
|
||||
setState(231);
|
||||
setState(233);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,17,_ctx);
|
||||
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
||||
@ -1752,16 +1779,16 @@ public class DecafParser extends Parser {
|
||||
{
|
||||
_localctx = new BinaryOperationContext(new ExprContext(_parentctx, _parentState));
|
||||
pushNewRecursionContext(_localctx, _startState, RULE_expr);
|
||||
setState(225);
|
||||
if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
|
||||
setState(226);
|
||||
binaryOp();
|
||||
setState(227);
|
||||
if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
|
||||
setState(228);
|
||||
binaryOp();
|
||||
setState(229);
|
||||
expr(7);
|
||||
}
|
||||
}
|
||||
}
|
||||
setState(233);
|
||||
setState(235);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,17,_ctx);
|
||||
}
|
||||
@ -1819,9 +1846,9 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(234);
|
||||
setState(236);
|
||||
_la = _input.LA(1);
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 68711088128L) != 0)) ) {
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 137422176256L) != 0)) ) {
|
||||
_errHandler.recoverInline(this);
|
||||
}
|
||||
else {
|
||||
@ -1872,7 +1899,7 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(236);
|
||||
setState(238);
|
||||
_la = _input.LA(1);
|
||||
if ( !(_la==SUB || _la==NOT) ) {
|
||||
_errHandler.recoverInline(this);
|
||||
@ -1936,26 +1963,26 @@ public class DecafParser extends Parser {
|
||||
int _alt;
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(243);
|
||||
setState(245);
|
||||
_errHandler.sync(this);
|
||||
switch (_input.LA(1)) {
|
||||
case THIS:
|
||||
{
|
||||
{
|
||||
setState(238);
|
||||
setState(240);
|
||||
match(THIS);
|
||||
setState(239);
|
||||
match(T__15);
|
||||
setState(241);
|
||||
match(T__16);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case NEW:
|
||||
{
|
||||
{
|
||||
setState(240);
|
||||
setState(242);
|
||||
newCall();
|
||||
setState(241);
|
||||
match(T__15);
|
||||
setState(243);
|
||||
match(T__16);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1964,25 +1991,25 @@ public class DecafParser extends Parser {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
setState(250);
|
||||
setState(252);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,19,_ctx);
|
||||
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
||||
if ( _alt==1 ) {
|
||||
{
|
||||
{
|
||||
setState(245);
|
||||
setState(247);
|
||||
recipient();
|
||||
setState(246);
|
||||
match(T__15);
|
||||
setState(248);
|
||||
match(T__16);
|
||||
}
|
||||
}
|
||||
}
|
||||
setState(252);
|
||||
setState(254);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,19,_ctx);
|
||||
}
|
||||
setState(253);
|
||||
setState(255);
|
||||
id();
|
||||
}
|
||||
}
|
||||
@ -2033,11 +2060,11 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(255);
|
||||
fieldVarAccess();
|
||||
setState(256);
|
||||
assignSign();
|
||||
setState(257);
|
||||
fieldVarAccess();
|
||||
setState(258);
|
||||
assignSign();
|
||||
setState(259);
|
||||
expr(0);
|
||||
}
|
||||
}
|
||||
@ -2093,26 +2120,26 @@ public class DecafParser extends Parser {
|
||||
int _alt;
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(264);
|
||||
setState(266);
|
||||
_errHandler.sync(this);
|
||||
switch (_input.LA(1)) {
|
||||
case THIS:
|
||||
{
|
||||
{
|
||||
setState(259);
|
||||
setState(261);
|
||||
match(THIS);
|
||||
setState(260);
|
||||
match(T__15);
|
||||
setState(262);
|
||||
match(T__16);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case NEW:
|
||||
{
|
||||
{
|
||||
setState(261);
|
||||
setState(263);
|
||||
newCall();
|
||||
setState(262);
|
||||
match(T__15);
|
||||
setState(264);
|
||||
match(T__16);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -2121,25 +2148,25 @@ public class DecafParser extends Parser {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
setState(271);
|
||||
setState(273);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,21,_ctx);
|
||||
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
||||
if ( _alt==1 ) {
|
||||
{
|
||||
{
|
||||
setState(266);
|
||||
setState(268);
|
||||
recipient();
|
||||
setState(267);
|
||||
match(T__15);
|
||||
setState(269);
|
||||
match(T__16);
|
||||
}
|
||||
}
|
||||
}
|
||||
setState(273);
|
||||
setState(275);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,21,_ctx);
|
||||
}
|
||||
setState(274);
|
||||
setState(276);
|
||||
methName();
|
||||
}
|
||||
}
|
||||
@ -2189,23 +2216,23 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(276);
|
||||
match(NEW);
|
||||
setState(277);
|
||||
type();
|
||||
setState(278);
|
||||
match(T__4);
|
||||
match(NEW);
|
||||
setState(279);
|
||||
type();
|
||||
setState(280);
|
||||
match(T__4);
|
||||
setState(282);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 2115460381540384L) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 4230920763080736L) != 0)) {
|
||||
{
|
||||
setState(279);
|
||||
setState(281);
|
||||
args();
|
||||
}
|
||||
}
|
||||
|
||||
setState(282);
|
||||
setState(284);
|
||||
match(T__5);
|
||||
}
|
||||
}
|
||||
@ -2251,20 +2278,20 @@ public class DecafParser extends Parser {
|
||||
RecipientContext _localctx = new RecipientContext(_ctx, getState());
|
||||
enterRule(_localctx, 46, RULE_recipient);
|
||||
try {
|
||||
setState(286);
|
||||
setState(288);
|
||||
_errHandler.sync(this);
|
||||
switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
|
||||
case 1:
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(284);
|
||||
setState(286);
|
||||
methName();
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
enterOuterAlt(_localctx, 2);
|
||||
{
|
||||
setState(285);
|
||||
setState(287);
|
||||
id();
|
||||
}
|
||||
break;
|
||||
@ -2315,21 +2342,21 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(288);
|
||||
setState(290);
|
||||
id();
|
||||
setState(289);
|
||||
match(T__4);
|
||||
setState(291);
|
||||
match(T__4);
|
||||
setState(293);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 2115460381540384L) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 4230920763080736L) != 0)) {
|
||||
{
|
||||
setState(290);
|
||||
setState(292);
|
||||
args();
|
||||
}
|
||||
}
|
||||
|
||||
setState(293);
|
||||
setState(295);
|
||||
match(T__5);
|
||||
}
|
||||
}
|
||||
@ -2378,21 +2405,21 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(295);
|
||||
setState(297);
|
||||
expr(0);
|
||||
setState(300);
|
||||
setState(302);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
while (_la==T__9) {
|
||||
{
|
||||
{
|
||||
setState(296);
|
||||
setState(298);
|
||||
match(T__9);
|
||||
setState(297);
|
||||
setState(299);
|
||||
expr(0);
|
||||
}
|
||||
}
|
||||
setState(302);
|
||||
setState(304);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
}
|
||||
@ -2455,40 +2482,40 @@ public class DecafParser extends Parser {
|
||||
int _alt;
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(303);
|
||||
match(IF);
|
||||
setState(304);
|
||||
match(T__4);
|
||||
setState(305);
|
||||
expr(0);
|
||||
match(IF);
|
||||
setState(306);
|
||||
match(T__5);
|
||||
match(T__4);
|
||||
setState(307);
|
||||
expr(0);
|
||||
setState(308);
|
||||
match(T__5);
|
||||
setState(309);
|
||||
block();
|
||||
setState(311);
|
||||
setState(313);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,26,_ctx);
|
||||
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
||||
if ( _alt==1 ) {
|
||||
{
|
||||
{
|
||||
setState(308);
|
||||
setState(310);
|
||||
elseIf();
|
||||
}
|
||||
}
|
||||
}
|
||||
setState(313);
|
||||
setState(315);
|
||||
_errHandler.sync(this);
|
||||
_alt = getInterpreter().adaptivePredict(_input,26,_ctx);
|
||||
}
|
||||
setState(316);
|
||||
setState(318);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
if (_la==ELSE) {
|
||||
{
|
||||
setState(314);
|
||||
setState(316);
|
||||
match(ELSE);
|
||||
setState(315);
|
||||
setState(317);
|
||||
block();
|
||||
}
|
||||
}
|
||||
@ -2541,17 +2568,17 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(318);
|
||||
match(ELSE);
|
||||
setState(319);
|
||||
match(IF);
|
||||
setState(320);
|
||||
match(T__4);
|
||||
match(ELSE);
|
||||
setState(321);
|
||||
expr(0);
|
||||
match(IF);
|
||||
setState(322);
|
||||
match(T__5);
|
||||
match(T__4);
|
||||
setState(323);
|
||||
expr(0);
|
||||
setState(324);
|
||||
match(T__5);
|
||||
setState(325);
|
||||
block();
|
||||
}
|
||||
}
|
||||
@ -2597,9 +2624,9 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(325);
|
||||
setState(327);
|
||||
_la = _input.LA(1);
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 1548112371908608L) != 0)) ) {
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 3096224743817216L) != 0)) ) {
|
||||
_errHandler.recoverInline(this);
|
||||
}
|
||||
else {
|
||||
@ -2648,7 +2675,7 @@ public class DecafParser extends Parser {
|
||||
try {
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(327);
|
||||
setState(329);
|
||||
match(IDENTIFIER);
|
||||
}
|
||||
}
|
||||
@ -2679,7 +2706,7 @@ public class DecafParser extends Parser {
|
||||
}
|
||||
|
||||
public static final String _serializedATN =
|
||||
"\u0004\u00015\u014a\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+
|
||||
"\u0004\u00016\u014c\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+
|
||||
"\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+
|
||||
"\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+
|
||||
"\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+
|
||||
@ -2710,67 +2737,67 @@ public class DecafParser extends Parser {
|
||||
"\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+
|
||||
"\u000e\u0003\u000e\u00bf\b\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+
|
||||
"\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+
|
||||
"\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0003\u000e\u00cf"+
|
||||
"\b\u000e\u0001\u000f\u0001\u000f\u0003\u000f\u00d3\b\u000f\u0001\u0010"+
|
||||
"\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+
|
||||
"\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010\u00e0\b\u0010"+
|
||||
"\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0005\u0010\u00e6\b\u0010"+
|
||||
"\n\u0010\f\u0010\u00e9\t\u0010\u0001\u0011\u0001\u0011\u0001\u0012\u0001"+
|
||||
"\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0003"+
|
||||
"\u0013\u00f4\b\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0005\u0013\u00f9"+
|
||||
"\b\u0013\n\u0013\f\u0013\u00fc\t\u0013\u0001\u0013\u0001\u0013\u0001\u0014"+
|
||||
"\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0015"+
|
||||
"\u0001\u0015\u0001\u0015\u0003\u0015\u0109\b\u0015\u0001\u0015\u0001\u0015"+
|
||||
"\u0001\u0015\u0005\u0015\u010e\b\u0015\n\u0015\f\u0015\u0111\t\u0015\u0001"+
|
||||
"\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0003"+
|
||||
"\u0016\u0119\b\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0003"+
|
||||
"\u0017\u011f\b\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0003\u0018\u0124"+
|
||||
"\b\u0018\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0005"+
|
||||
"\u0019\u012b\b\u0019\n\u0019\f\u0019\u012e\t\u0019\u0001\u001a\u0001\u001a"+
|
||||
"\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0005\u001a\u0136\b\u001a"+
|
||||
"\n\u001a\f\u001a\u0139\t\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u013d"+
|
||||
"\b\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001"+
|
||||
"\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001"+
|
||||
"\u001d\u0000\u0001 \u001e\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012"+
|
||||
"\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:\u0000\u0004\u0001"+
|
||||
"\u0000$)\u0001\u0000\u0017#\u0002\u0000\u0017\u0017**\u0002\u0000/022"+
|
||||
"\u0156\u0000<\u0001\u0000\u0000\u0000\u0002N\u0001\u0000\u0000\u0000\u0004"+
|
||||
"T\u0001\u0000\u0000\u0000\u0006X\u0001\u0000\u0000\u0000\b^\u0001\u0000"+
|
||||
"\u0000\u0000\n`\u0001\u0000\u0000\u0000\fj\u0001\u0000\u0000\u0000\u000e"+
|
||||
"s\u0001\u0000\u0000\u0000\u0010|\u0001\u0000\u0000\u0000\u0012\u0084\u0001"+
|
||||
"\u0000\u0000\u0000\u0014\u0087\u0001\u0000\u0000\u0000\u0016\u0093\u0001"+
|
||||
"\u0000\u0000\u0000\u0018\u0096\u0001\u0000\u0000\u0000\u001a\u00a1\u0001"+
|
||||
"\u0000\u0000\u0000\u001c\u00ce\u0001\u0000\u0000\u0000\u001e\u00d2\u0001"+
|
||||
"\u0000\u0000\u0000 \u00df\u0001\u0000\u0000\u0000\"\u00ea\u0001\u0000"+
|
||||
"\u0000\u0000$\u00ec\u0001\u0000\u0000\u0000&\u00f3\u0001\u0000\u0000\u0000"+
|
||||
"(\u00ff\u0001\u0000\u0000\u0000*\u0108\u0001\u0000\u0000\u0000,\u0114"+
|
||||
"\u0001\u0000\u0000\u0000.\u011e\u0001\u0000\u0000\u00000\u0120\u0001\u0000"+
|
||||
"\u0000\u00002\u0127\u0001\u0000\u0000\u00004\u012f\u0001\u0000\u0000\u0000"+
|
||||
"6\u013e\u0001\u0000\u0000\u00008\u0145\u0001\u0000\u0000\u0000:\u0147"+
|
||||
"\u0001\u0000\u0000\u0000<=\u0005\u0011\u0000\u0000=>\u0005\u0001\u0000"+
|
||||
"\u0000>?\u0003:\u001d\u0000?A\u0005\u0002\u0000\u0000@B\u0003\f\u0006"+
|
||||
"\u0000A@\u0001\u0000\u0000\u0000AB\u0001\u0000\u0000\u0000BH\u0001\u0000"+
|
||||
"\u0000\u0000CG\u0003\u0002\u0001\u0000DG\u0003\n\u0005\u0000EG\u0003\u000e"+
|
||||
"\u0007\u0000FC\u0001\u0000\u0000\u0000FD\u0001\u0000\u0000\u0000FE\u0001"+
|
||||
"\u0000\u0000\u0000GJ\u0001\u0000\u0000\u0000HF\u0001\u0000\u0000\u0000"+
|
||||
"HI\u0001\u0000\u0000\u0000IK\u0001\u0000\u0000\u0000JH\u0001\u0000\u0000"+
|
||||
"\u0000KL\u0005\u0003\u0000\u0000L\u0001\u0001\u0000\u0000\u0000MO\u0005"+
|
||||
"\u0011\u0000\u0000NM\u0001\u0000\u0000\u0000NO\u0001\u0000\u0000\u0000"+
|
||||
"OP\u0001\u0000\u0000\u0000PQ\u0003\b\u0004\u0000QR\u0003:\u001d\u0000"+
|
||||
"RS\u0005\u0004\u0000\u0000S\u0003\u0001\u0000\u0000\u0000TU\u0007\u0000"+
|
||||
"\u0000\u0000U\u0005\u0001\u0000\u0000\u0000VY\u0003\b\u0004\u0000WY\u0005"+
|
||||
"-\u0000\u0000XV\u0001\u0000\u0000\u0000XW\u0001\u0000\u0000\u0000Y\u0007"+
|
||||
"\u0001\u0000\u0000\u0000Z_\u0005+\u0000\u0000[_\u0005,\u0000\u0000\\_"+
|
||||
"\u0005.\u0000\u0000]_\u0003:\u001d\u0000^Z\u0001\u0000\u0000\u0000^[\u0001"+
|
||||
"\u0000\u0000\u0000^\\\u0001\u0000\u0000\u0000^]\u0001\u0000\u0000\u0000"+
|
||||
"_\t\u0001\u0000\u0000\u0000`a\u0005\u0011\u0000\u0000ab\u0003\u0006\u0003"+
|
||||
"\u0000bc\u0003:\u001d\u0000ce\u0005\u0005\u0000\u0000df\u0003\u0010\b"+
|
||||
"\u0000ed\u0001\u0000\u0000\u0000ef\u0001\u0000\u0000\u0000fg\u0001\u0000"+
|
||||
"\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+
|
||||
"\u000e\u0003\u000e\u00d1\b\u000e\u0001\u000f\u0001\u000f\u0003\u000f\u00d5"+
|
||||
"\b\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001"+
|
||||
"\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003"+
|
||||
"\u0010\u00e2\b\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0005"+
|
||||
"\u0010\u00e8\b\u0010\n\u0010\f\u0010\u00eb\t\u0010\u0001\u0011\u0001\u0011"+
|
||||
"\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013"+
|
||||
"\u0001\u0013\u0003\u0013\u00f6\b\u0013\u0001\u0013\u0001\u0013\u0001\u0013"+
|
||||
"\u0005\u0013\u00fb\b\u0013\n\u0013\f\u0013\u00fe\t\u0013\u0001\u0013\u0001"+
|
||||
"\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0015\u0001"+
|
||||
"\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0003\u0015\u010b\b\u0015\u0001"+
|
||||
"\u0015\u0001\u0015\u0001\u0015\u0005\u0015\u0110\b\u0015\n\u0015\f\u0015"+
|
||||
"\u0113\t\u0015\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016"+
|
||||
"\u0001\u0016\u0003\u0016\u011b\b\u0016\u0001\u0016\u0001\u0016\u0001\u0017"+
|
||||
"\u0001\u0017\u0003\u0017\u0121\b\u0017\u0001\u0018\u0001\u0018\u0001\u0018"+
|
||||
"\u0003\u0018\u0126\b\u0018\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019"+
|
||||
"\u0001\u0019\u0005\u0019\u012d\b\u0019\n\u0019\f\u0019\u0130\t\u0019\u0001"+
|
||||
"\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0005"+
|
||||
"\u001a\u0138\b\u001a\n\u001a\f\u001a\u013b\t\u001a\u0001\u001a\u0001\u001a"+
|
||||
"\u0003\u001a\u013f\b\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b"+
|
||||
"\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001d"+
|
||||
"\u0001\u001d\u0001\u001d\u0000\u0001 \u001e\u0000\u0002\u0004\u0006\b"+
|
||||
"\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02"+
|
||||
"468:\u0000\u0004\u0001\u0000%*\u0001\u0000\u0018$\u0002\u0000\u0018\u0018"+
|
||||
"++\u0002\u00000133\u0159\u0000<\u0001\u0000\u0000\u0000\u0002N\u0001\u0000"+
|
||||
"\u0000\u0000\u0004T\u0001\u0000\u0000\u0000\u0006X\u0001\u0000\u0000\u0000"+
|
||||
"\b^\u0001\u0000\u0000\u0000\n`\u0001\u0000\u0000\u0000\fj\u0001\u0000"+
|
||||
"\u0000\u0000\u000es\u0001\u0000\u0000\u0000\u0010|\u0001\u0000\u0000\u0000"+
|
||||
"\u0012\u0084\u0001\u0000\u0000\u0000\u0014\u0087\u0001\u0000\u0000\u0000"+
|
||||
"\u0016\u0093\u0001\u0000\u0000\u0000\u0018\u0096\u0001\u0000\u0000\u0000"+
|
||||
"\u001a\u00a1\u0001\u0000\u0000\u0000\u001c\u00d0\u0001\u0000\u0000\u0000"+
|
||||
"\u001e\u00d4\u0001\u0000\u0000\u0000 \u00e1\u0001\u0000\u0000\u0000\""+
|
||||
"\u00ec\u0001\u0000\u0000\u0000$\u00ee\u0001\u0000\u0000\u0000&\u00f5\u0001"+
|
||||
"\u0000\u0000\u0000(\u0101\u0001\u0000\u0000\u0000*\u010a\u0001\u0000\u0000"+
|
||||
"\u0000,\u0116\u0001\u0000\u0000\u0000.\u0120\u0001\u0000\u0000\u00000"+
|
||||
"\u0122\u0001\u0000\u0000\u00002\u0129\u0001\u0000\u0000\u00004\u0131\u0001"+
|
||||
"\u0000\u0000\u00006\u0140\u0001\u0000\u0000\u00008\u0147\u0001\u0000\u0000"+
|
||||
"\u0000:\u0149\u0001\u0000\u0000\u0000<=\u0005\u0012\u0000\u0000=>\u0005"+
|
||||
"\u0001\u0000\u0000>?\u0003:\u001d\u0000?A\u0005\u0002\u0000\u0000@B\u0003"+
|
||||
"\f\u0006\u0000A@\u0001\u0000\u0000\u0000AB\u0001\u0000\u0000\u0000BH\u0001"+
|
||||
"\u0000\u0000\u0000CG\u0003\u0002\u0001\u0000DG\u0003\n\u0005\u0000EG\u0003"+
|
||||
"\u000e\u0007\u0000FC\u0001\u0000\u0000\u0000FD\u0001\u0000\u0000\u0000"+
|
||||
"FE\u0001\u0000\u0000\u0000GJ\u0001\u0000\u0000\u0000HF\u0001\u0000\u0000"+
|
||||
"\u0000HI\u0001\u0000\u0000\u0000IK\u0001\u0000\u0000\u0000JH\u0001\u0000"+
|
||||
"\u0000\u0000KL\u0005\u0003\u0000\u0000L\u0001\u0001\u0000\u0000\u0000"+
|
||||
"MO\u0005\u0012\u0000\u0000NM\u0001\u0000\u0000\u0000NO\u0001\u0000\u0000"+
|
||||
"\u0000OP\u0001\u0000\u0000\u0000PQ\u0003\b\u0004\u0000QR\u0003:\u001d"+
|
||||
"\u0000RS\u0005\u0004\u0000\u0000S\u0003\u0001\u0000\u0000\u0000TU\u0007"+
|
||||
"\u0000\u0000\u0000U\u0005\u0001\u0000\u0000\u0000VY\u0003\b\u0004\u0000"+
|
||||
"WY\u0005.\u0000\u0000XV\u0001\u0000\u0000\u0000XW\u0001\u0000\u0000\u0000"+
|
||||
"Y\u0007\u0001\u0000\u0000\u0000Z_\u0005,\u0000\u0000[_\u0005-\u0000\u0000"+
|
||||
"\\_\u0005/\u0000\u0000]_\u0003:\u001d\u0000^Z\u0001\u0000\u0000\u0000"+
|
||||
"^[\u0001\u0000\u0000\u0000^\\\u0001\u0000\u0000\u0000^]\u0001\u0000\u0000"+
|
||||
"\u0000_\t\u0001\u0000\u0000\u0000`a\u0005\u0012\u0000\u0000ab\u0003\u0006"+
|
||||
"\u0003\u0000bc\u0003:\u001d\u0000ce\u0005\u0005\u0000\u0000df\u0003\u0010"+
|
||||
"\b\u0000ed\u0001\u0000\u0000\u0000ef\u0001\u0000\u0000\u0000fg\u0001\u0000"+
|
||||
"\u0000\u0000gh\u0005\u0006\u0000\u0000hi\u0003\u0014\n\u0000i\u000b\u0001"+
|
||||
"\u0000\u0000\u0000jk\u0005\u0011\u0000\u0000kl\u0005\u0007\u0000\u0000"+
|
||||
"lm\u0005-\u0000\u0000mn\u0005\b\u0000\u0000no\u0005\u0005\u0000\u0000"+
|
||||
"\u0000\u0000\u0000jk\u0005\u0012\u0000\u0000kl\u0005\u0007\u0000\u0000"+
|
||||
"lm\u0005.\u0000\u0000mn\u0005\b\u0000\u0000no\u0005\u0005\u0000\u0000"+
|
||||
"op\u0005\t\u0000\u0000pq\u0005\u0006\u0000\u0000qr\u0003\u0014\n\u0000"+
|
||||
"r\r\u0001\u0000\u0000\u0000st\u0005\u0011\u0000\u0000tu\u0003:\u001d\u0000"+
|
||||
"r\r\u0001\u0000\u0000\u0000st\u0005\u0012\u0000\u0000tu\u0003:\u001d\u0000"+
|
||||
"uw\u0005\u0005\u0000\u0000vx\u0003\u0010\b\u0000wv\u0001\u0000\u0000\u0000"+
|
||||
"wx\u0001\u0000\u0000\u0000xy\u0001\u0000\u0000\u0000yz\u0005\u0006\u0000"+
|
||||
"\u0000z{\u0003\u0014\n\u0000{\u000f\u0001\u0000\u0000\u0000|\u0081\u0003"+
|
||||
@ -2788,107 +2815,108 @@ public class DecafParser extends Parser {
|
||||
"\u0000\u0000\u0091\u0092\u0005\u0003\u0000\u0000\u0092\u0015\u0001\u0000"+
|
||||
"\u0000\u0000\u0093\u0094\u0003\b\u0004\u0000\u0094\u0095\u0003:\u001d"+
|
||||
"\u0000\u0095\u0017\u0001\u0000\u0000\u0000\u0096\u0097\u0003\b\u0004\u0000"+
|
||||
"\u0097\u0098\u0003:\u001d\u0000\u0098\u0099\u0005$\u0000\u0000\u0099\u009a"+
|
||||
"\u0097\u0098\u0003:\u001d\u0000\u0098\u0099\u0005%\u0000\u0000\u0099\u009a"+
|
||||
"\u0003 \u0010\u0000\u009a\u0019\u0001\u0000\u0000\u0000\u009b\u009c\u0005"+
|
||||
"\u000b\u0000\u0000\u009c\u009d\u0003 \u0010\u0000\u009d\u009e\u0005\u0004"+
|
||||
"\u0000\u0000\u009e\u00a2\u0001\u0000\u0000\u0000\u009f\u00a0\u0005\u000b"+
|
||||
"\u0000\u0000\u00a0\u00a2\u0005\u0004\u0000\u0000\u00a1\u009b\u0001\u0000"+
|
||||
"\u0000\u0000\u00a1\u009f\u0001\u0000\u0000\u0000\u00a2\u001b\u0001\u0000"+
|
||||
"\u0000\u0000\u00a3\u00cf\u00034\u001a\u0000\u00a4\u00a5\u0005\f\u0000"+
|
||||
"\u0000\u0000\u00a3\u00d1\u00034\u001a\u0000\u00a4\u00a5\u0005\f\u0000"+
|
||||
"\u0000\u00a5\u00a8\u0005\u0005\u0000\u0000\u00a6\u00a9\u0003(\u0014\u0000"+
|
||||
"\u00a7\u00a9\u0003\u0018\f\u0000\u00a8\u00a6\u0001\u0000\u0000\u0000\u00a8"+
|
||||
"\u00a7\u0001\u0000\u0000\u0000\u00a9\u00aa\u0001\u0000\u0000\u0000\u00aa"+
|
||||
"\u00ab\u0005\u0004\u0000\u0000\u00ab\u00ac\u0003 \u0010\u0000\u00ac\u00ad"+
|
||||
"\u0005\u0004\u0000\u0000\u00ad\u00ae\u0003(\u0014\u0000\u00ae\u00af\u0005"+
|
||||
"\u0006\u0000\u0000\u00af\u00b0\u0003\u0014\n\u0000\u00b0\u00cf\u0001\u0000"+
|
||||
"\u0006\u0000\u0000\u00af\u00b0\u0003\u0014\n\u0000\u00b0\u00d1\u0001\u0000"+
|
||||
"\u0000\u0000\u00b1\u00b2\u0005\r\u0000\u0000\u00b2\u00b3\u0005\u0005\u0000"+
|
||||
"\u0000\u00b3\u00b4\u0003 \u0010\u0000\u00b4\u00b5\u0005\u0006\u0000\u0000"+
|
||||
"\u00b5\u00b6\u0003\u0014\n\u0000\u00b6\u00cf\u0001\u0000\u0000\u0000\u00b7"+
|
||||
"\u00b5\u00b6\u0003\u0014\n\u0000\u00b6\u00d1\u0001\u0000\u0000\u0000\u00b7"+
|
||||
"\u00b8\u0005\u000e\u0000\u0000\u00b8\u00b9\u0003\u0014\n\u0000\u00b9\u00ba"+
|
||||
"\u0005\r\u0000\u0000\u00ba\u00bb\u0005\u0005\u0000\u0000\u00bb\u00bc\u0003"+
|
||||
" \u0010\u0000\u00bc\u00be\u0005\u0006\u0000\u0000\u00bd\u00bf\u0005\u0004"+
|
||||
"\u0000\u0000\u00be\u00bd\u0001\u0000\u0000\u0000\u00be\u00bf\u0001\u0000"+
|
||||
"\u0000\u0000\u00bf\u00cf\u0001\u0000\u0000\u0000\u00c0\u00c1\u0005\u000f"+
|
||||
"\u0000\u0000\u00c1\u00cf\u0005\u0004\u0000\u0000\u00c2\u00c3\u0003\u0016"+
|
||||
"\u000b\u0000\u00c3\u00c4\u0005\u0004\u0000\u0000\u00c4\u00cf\u0001\u0000"+
|
||||
"\u0000\u0000\u00c5\u00c6\u0003\u0018\f\u0000\u00c6\u00c7\u0005\u0004\u0000"+
|
||||
"\u0000\u00c7\u00cf\u0001\u0000\u0000\u0000\u00c8\u00c9\u0003(\u0014\u0000"+
|
||||
"\u00c9\u00ca\u0005\u0004\u0000\u0000\u00ca\u00cf\u0001\u0000\u0000\u0000"+
|
||||
"\u00cb\u00cc\u0003\u001e\u000f\u0000\u00cc\u00cd\u0005\u0004\u0000\u0000"+
|
||||
"\u00cd\u00cf\u0001\u0000\u0000\u0000\u00ce\u00a3\u0001\u0000\u0000\u0000"+
|
||||
"\u00ce\u00a4\u0001\u0000\u0000\u0000\u00ce\u00b1\u0001\u0000\u0000\u0000"+
|
||||
"\u00ce\u00b7\u0001\u0000\u0000\u0000\u00ce\u00c0\u0001\u0000\u0000\u0000"+
|
||||
"\u00ce\u00c2\u0001\u0000\u0000\u0000\u00ce\u00c5\u0001\u0000\u0000\u0000"+
|
||||
"\u00ce\u00c8\u0001\u0000\u0000\u0000\u00ce\u00cb\u0001\u0000\u0000\u0000"+
|
||||
"\u00cf\u001d\u0001\u0000\u0000\u0000\u00d0\u00d3\u0003*\u0015\u0000\u00d1"+
|
||||
"\u00d3\u0003,\u0016\u0000\u00d2\u00d0\u0001\u0000\u0000\u0000\u00d2\u00d1"+
|
||||
"\u0001\u0000\u0000\u0000\u00d3\u001f\u0001\u0000\u0000\u0000\u00d4\u00d5"+
|
||||
"\u0006\u0010\uffff\uffff\u0000\u00d5\u00d6\u0003$\u0012\u0000\u00d6\u00d7"+
|
||||
"\u0003 \u0010\u0005\u00d7\u00e0\u0001\u0000\u0000\u0000\u00d8\u00e0\u0003"+
|
||||
"8\u001c\u0000\u00d9\u00da\u0005\u0005\u0000\u0000\u00da\u00db\u0003 \u0010"+
|
||||
"\u0000\u00db\u00dc\u0005\u0006\u0000\u0000\u00dc\u00e0\u0001\u0000\u0000"+
|
||||
"\u0000\u00dd\u00e0\u0003&\u0013\u0000\u00de\u00e0\u0003\u001e\u000f\u0000"+
|
||||
"\u00df\u00d4\u0001\u0000\u0000\u0000\u00df\u00d8\u0001\u0000\u0000\u0000"+
|
||||
"\u00df\u00d9\u0001\u0000\u0000\u0000\u00df\u00dd\u0001\u0000\u0000\u0000"+
|
||||
"\u00df\u00de\u0001\u0000\u0000\u0000\u00e0\u00e7\u0001\u0000\u0000\u0000"+
|
||||
"\u00e1\u00e2\n\u0006\u0000\u0000\u00e2\u00e3\u0003\"\u0011\u0000\u00e3"+
|
||||
"\u00e4\u0003 \u0010\u0007\u00e4\u00e6\u0001\u0000\u0000\u0000\u00e5\u00e1"+
|
||||
"\u0001\u0000\u0000\u0000\u00e6\u00e9\u0001\u0000\u0000\u0000\u00e7\u00e5"+
|
||||
"\u0001\u0000\u0000\u0000\u00e7\u00e8\u0001\u0000\u0000\u0000\u00e8!\u0001"+
|
||||
"\u0000\u0000\u0000\u00e9\u00e7\u0001\u0000\u0000\u0000\u00ea\u00eb\u0007"+
|
||||
"\u0001\u0000\u0000\u00eb#\u0001\u0000\u0000\u0000\u00ec\u00ed\u0007\u0002"+
|
||||
"\u0000\u0000\u00ed%\u0001\u0000\u0000\u0000\u00ee\u00ef\u0005\u0014\u0000"+
|
||||
"\u0000\u00ef\u00f4\u0005\u0010\u0000\u0000\u00f0\u00f1\u0003,\u0016\u0000"+
|
||||
"\u00f1\u00f2\u0005\u0010\u0000\u0000\u00f2\u00f4\u0001\u0000\u0000\u0000"+
|
||||
"\u00f3\u00ee\u0001\u0000\u0000\u0000\u00f3\u00f0\u0001\u0000\u0000\u0000"+
|
||||
"\u00f3\u00f4\u0001\u0000\u0000\u0000\u00f4\u00fa\u0001\u0000\u0000\u0000"+
|
||||
"\u00f5\u00f6\u0003.\u0017\u0000\u00f6\u00f7\u0005\u0010\u0000\u0000\u00f7"+
|
||||
"\u00f9\u0001\u0000\u0000\u0000\u00f8\u00f5\u0001\u0000\u0000\u0000\u00f9"+
|
||||
"\u00fc\u0001\u0000\u0000\u0000\u00fa\u00f8\u0001\u0000\u0000\u0000\u00fa"+
|
||||
"\u00fb\u0001\u0000\u0000\u0000\u00fb\u00fd\u0001\u0000\u0000\u0000\u00fc"+
|
||||
"\u00fa\u0001\u0000\u0000\u0000\u00fd\u00fe\u0003:\u001d\u0000\u00fe\'"+
|
||||
"\u0001\u0000\u0000\u0000\u00ff\u0100\u0003&\u0013\u0000\u0100\u0101\u0003"+
|
||||
"\u0004\u0002\u0000\u0101\u0102\u0003 \u0010\u0000\u0102)\u0001\u0000\u0000"+
|
||||
"\u0000\u0103\u0104\u0005\u0014\u0000\u0000\u0104\u0109\u0005\u0010\u0000"+
|
||||
"\u0000\u0105\u0106\u0003,\u0016\u0000\u0106\u0107\u0005\u0010\u0000\u0000"+
|
||||
"\u0107\u0109\u0001\u0000\u0000\u0000\u0108\u0103\u0001\u0000\u0000\u0000"+
|
||||
"\u0108\u0105\u0001\u0000\u0000\u0000\u0108\u0109\u0001\u0000\u0000\u0000"+
|
||||
"\u0109\u010f\u0001\u0000\u0000\u0000\u010a\u010b\u0003.\u0017\u0000\u010b"+
|
||||
"\u010c\u0005\u0010\u0000\u0000\u010c\u010e\u0001\u0000\u0000\u0000\u010d"+
|
||||
"\u010a\u0001\u0000\u0000\u0000\u010e\u0111\u0001\u0000\u0000\u0000\u010f"+
|
||||
"\u010d\u0001\u0000\u0000\u0000\u010f\u0110\u0001\u0000\u0000\u0000\u0110"+
|
||||
"\u0112\u0001\u0000\u0000\u0000\u0111\u010f\u0001\u0000\u0000\u0000\u0112"+
|
||||
"\u0113\u00030\u0018\u0000\u0113+\u0001\u0000\u0000\u0000\u0114\u0115\u0005"+
|
||||
"\u0012\u0000\u0000\u0115\u0116\u0003\b\u0004\u0000\u0116\u0118\u0005\u0005"+
|
||||
"\u0000\u0000\u0117\u0119\u00032\u0019\u0000\u0118\u0117\u0001\u0000\u0000"+
|
||||
"\u0000\u0118\u0119\u0001\u0000\u0000\u0000\u0119\u011a\u0001\u0000\u0000"+
|
||||
"\u0000\u011a\u011b\u0005\u0006\u0000\u0000\u011b-\u0001\u0000\u0000\u0000"+
|
||||
"\u011c\u011f\u00030\u0018\u0000\u011d\u011f\u0003:\u001d\u0000\u011e\u011c"+
|
||||
"\u0001\u0000\u0000\u0000\u011e\u011d\u0001\u0000\u0000\u0000\u011f/\u0001"+
|
||||
"\u0000\u0000\u0000\u0120\u0121\u0003:\u001d\u0000\u0121\u0123\u0005\u0005"+
|
||||
"\u0000\u0000\u0122\u0124\u00032\u0019\u0000\u0123\u0122\u0001\u0000\u0000"+
|
||||
"\u0000\u0123\u0124\u0001\u0000\u0000\u0000\u0124\u0125\u0001\u0000\u0000"+
|
||||
"\u0000\u0125\u0126\u0005\u0006\u0000\u0000\u01261\u0001\u0000\u0000\u0000"+
|
||||
"\u0127\u012c\u0003 \u0010\u0000\u0128\u0129\u0005\n\u0000\u0000\u0129"+
|
||||
"\u012b\u0003 \u0010\u0000\u012a\u0128\u0001\u0000\u0000\u0000\u012b\u012e"+
|
||||
"\u0001\u0000\u0000\u0000\u012c\u012a\u0001\u0000\u0000\u0000\u012c\u012d"+
|
||||
"\u0001\u0000\u0000\u0000\u012d3\u0001\u0000\u0000\u0000\u012e\u012c\u0001"+
|
||||
"\u0000\u0000\u0000\u012f\u0130\u0005\u0015\u0000\u0000\u0130\u0131\u0005"+
|
||||
"\u0005\u0000\u0000\u0131\u0132\u0003 \u0010\u0000\u0132\u0133\u0005\u0006"+
|
||||
"\u0000\u0000\u0133\u0137\u0003\u0014\n\u0000\u0134\u0136\u00036\u001b"+
|
||||
"\u0000\u0135\u0134\u0001\u0000\u0000\u0000\u0136\u0139\u0001\u0000\u0000"+
|
||||
"\u0000\u0137\u0135\u0001\u0000\u0000\u0000\u0137\u0138\u0001\u0000\u0000"+
|
||||
"\u0000\u0138\u013c\u0001\u0000\u0000\u0000\u0139\u0137\u0001\u0000\u0000"+
|
||||
"\u0000\u013a\u013b\u0005\u0016\u0000\u0000\u013b\u013d\u0003\u0014\n\u0000"+
|
||||
"\u013c\u013a\u0001\u0000\u0000\u0000\u013c\u013d\u0001\u0000\u0000\u0000"+
|
||||
"\u013d5\u0001\u0000\u0000\u0000\u013e\u013f\u0005\u0016\u0000\u0000\u013f"+
|
||||
"\u0140\u0005\u0015\u0000\u0000\u0140\u0141\u0005\u0005\u0000\u0000\u0141"+
|
||||
"\u0142\u0003 \u0010\u0000\u0142\u0143\u0005\u0006\u0000\u0000\u0143\u0144"+
|
||||
"\u0003\u0014\n\u0000\u01447\u0001\u0000\u0000\u0000\u0145\u0146\u0007"+
|
||||
"\u0003\u0000\u0000\u01469\u0001\u0000\u0000\u0000\u0147\u0148\u00051\u0000"+
|
||||
"\u0000\u0148;\u0001\u0000\u0000\u0000\u001cAFHNX^ew\u0081\u008b\u008f"+
|
||||
"\u00a1\u00a8\u00be\u00ce\u00d2\u00df\u00e7\u00f3\u00fa\u0108\u010f\u0118"+
|
||||
"\u011e\u0123\u012c\u0137\u013c";
|
||||
"\u0000\u0000\u00bf\u00d1\u0001\u0000\u0000\u0000\u00c0\u00c1\u0005\u000f"+
|
||||
"\u0000\u0000\u00c1\u00d1\u0005\u0004\u0000\u0000\u00c2\u00c3\u0005\u0010"+
|
||||
"\u0000\u0000\u00c3\u00d1\u0005\u0004\u0000\u0000\u00c4\u00c5\u0003\u0016"+
|
||||
"\u000b\u0000\u00c5\u00c6\u0005\u0004\u0000\u0000\u00c6\u00d1\u0001\u0000"+
|
||||
"\u0000\u0000\u00c7\u00c8\u0003\u0018\f\u0000\u00c8\u00c9\u0005\u0004\u0000"+
|
||||
"\u0000\u00c9\u00d1\u0001\u0000\u0000\u0000\u00ca\u00cb\u0003(\u0014\u0000"+
|
||||
"\u00cb\u00cc\u0005\u0004\u0000\u0000\u00cc\u00d1\u0001\u0000\u0000\u0000"+
|
||||
"\u00cd\u00ce\u0003\u001e\u000f\u0000\u00ce\u00cf\u0005\u0004\u0000\u0000"+
|
||||
"\u00cf\u00d1\u0001\u0000\u0000\u0000\u00d0\u00a3\u0001\u0000\u0000\u0000"+
|
||||
"\u00d0\u00a4\u0001\u0000\u0000\u0000\u00d0\u00b1\u0001\u0000\u0000\u0000"+
|
||||
"\u00d0\u00b7\u0001\u0000\u0000\u0000\u00d0\u00c0\u0001\u0000\u0000\u0000"+
|
||||
"\u00d0\u00c2\u0001\u0000\u0000\u0000\u00d0\u00c4\u0001\u0000\u0000\u0000"+
|
||||
"\u00d0\u00c7\u0001\u0000\u0000\u0000\u00d0\u00ca\u0001\u0000\u0000\u0000"+
|
||||
"\u00d0\u00cd\u0001\u0000\u0000\u0000\u00d1\u001d\u0001\u0000\u0000\u0000"+
|
||||
"\u00d2\u00d5\u0003*\u0015\u0000\u00d3\u00d5\u0003,\u0016\u0000\u00d4\u00d2"+
|
||||
"\u0001\u0000\u0000\u0000\u00d4\u00d3\u0001\u0000\u0000\u0000\u00d5\u001f"+
|
||||
"\u0001\u0000\u0000\u0000\u00d6\u00d7\u0006\u0010\uffff\uffff\u0000\u00d7"+
|
||||
"\u00d8\u0003$\u0012\u0000\u00d8\u00d9\u0003 \u0010\u0005\u00d9\u00e2\u0001"+
|
||||
"\u0000\u0000\u0000\u00da\u00e2\u00038\u001c\u0000\u00db\u00dc\u0005\u0005"+
|
||||
"\u0000\u0000\u00dc\u00dd\u0003 \u0010\u0000\u00dd\u00de\u0005\u0006\u0000"+
|
||||
"\u0000\u00de\u00e2\u0001\u0000\u0000\u0000\u00df\u00e2\u0003&\u0013\u0000"+
|
||||
"\u00e0\u00e2\u0003\u001e\u000f\u0000\u00e1\u00d6\u0001\u0000\u0000\u0000"+
|
||||
"\u00e1\u00da\u0001\u0000\u0000\u0000\u00e1\u00db\u0001\u0000\u0000\u0000"+
|
||||
"\u00e1\u00df\u0001\u0000\u0000\u0000\u00e1\u00e0\u0001\u0000\u0000\u0000"+
|
||||
"\u00e2\u00e9\u0001\u0000\u0000\u0000\u00e3\u00e4\n\u0006\u0000\u0000\u00e4"+
|
||||
"\u00e5\u0003\"\u0011\u0000\u00e5\u00e6\u0003 \u0010\u0007\u00e6\u00e8"+
|
||||
"\u0001\u0000\u0000\u0000\u00e7\u00e3\u0001\u0000\u0000\u0000\u00e8\u00eb"+
|
||||
"\u0001\u0000\u0000\u0000\u00e9\u00e7\u0001\u0000\u0000\u0000\u00e9\u00ea"+
|
||||
"\u0001\u0000\u0000\u0000\u00ea!\u0001\u0000\u0000\u0000\u00eb\u00e9\u0001"+
|
||||
"\u0000\u0000\u0000\u00ec\u00ed\u0007\u0001\u0000\u0000\u00ed#\u0001\u0000"+
|
||||
"\u0000\u0000\u00ee\u00ef\u0007\u0002\u0000\u0000\u00ef%\u0001\u0000\u0000"+
|
||||
"\u0000\u00f0\u00f1\u0005\u0015\u0000\u0000\u00f1\u00f6\u0005\u0011\u0000"+
|
||||
"\u0000\u00f2\u00f3\u0003,\u0016\u0000\u00f3\u00f4\u0005\u0011\u0000\u0000"+
|
||||
"\u00f4\u00f6\u0001\u0000\u0000\u0000\u00f5\u00f0\u0001\u0000\u0000\u0000"+
|
||||
"\u00f5\u00f2\u0001\u0000\u0000\u0000\u00f5\u00f6\u0001\u0000\u0000\u0000"+
|
||||
"\u00f6\u00fc\u0001\u0000\u0000\u0000\u00f7\u00f8\u0003.\u0017\u0000\u00f8"+
|
||||
"\u00f9\u0005\u0011\u0000\u0000\u00f9\u00fb\u0001\u0000\u0000\u0000\u00fa"+
|
||||
"\u00f7\u0001\u0000\u0000\u0000\u00fb\u00fe\u0001\u0000\u0000\u0000\u00fc"+
|
||||
"\u00fa\u0001\u0000\u0000\u0000\u00fc\u00fd\u0001\u0000\u0000\u0000\u00fd"+
|
||||
"\u00ff\u0001\u0000\u0000\u0000\u00fe\u00fc\u0001\u0000\u0000\u0000\u00ff"+
|
||||
"\u0100\u0003:\u001d\u0000\u0100\'\u0001\u0000\u0000\u0000\u0101\u0102"+
|
||||
"\u0003&\u0013\u0000\u0102\u0103\u0003\u0004\u0002\u0000\u0103\u0104\u0003"+
|
||||
" \u0010\u0000\u0104)\u0001\u0000\u0000\u0000\u0105\u0106\u0005\u0015\u0000"+
|
||||
"\u0000\u0106\u010b\u0005\u0011\u0000\u0000\u0107\u0108\u0003,\u0016\u0000"+
|
||||
"\u0108\u0109\u0005\u0011\u0000\u0000\u0109\u010b\u0001\u0000\u0000\u0000"+
|
||||
"\u010a\u0105\u0001\u0000\u0000\u0000\u010a\u0107\u0001\u0000\u0000\u0000"+
|
||||
"\u010a\u010b\u0001\u0000\u0000\u0000\u010b\u0111\u0001\u0000\u0000\u0000"+
|
||||
"\u010c\u010d\u0003.\u0017\u0000\u010d\u010e\u0005\u0011\u0000\u0000\u010e"+
|
||||
"\u0110\u0001\u0000\u0000\u0000\u010f\u010c\u0001\u0000\u0000\u0000\u0110"+
|
||||
"\u0113\u0001\u0000\u0000\u0000\u0111\u010f\u0001\u0000\u0000\u0000\u0111"+
|
||||
"\u0112\u0001\u0000\u0000\u0000\u0112\u0114\u0001\u0000\u0000\u0000\u0113"+
|
||||
"\u0111\u0001\u0000\u0000\u0000\u0114\u0115\u00030\u0018\u0000\u0115+\u0001"+
|
||||
"\u0000\u0000\u0000\u0116\u0117\u0005\u0013\u0000\u0000\u0117\u0118\u0003"+
|
||||
"\b\u0004\u0000\u0118\u011a\u0005\u0005\u0000\u0000\u0119\u011b\u00032"+
|
||||
"\u0019\u0000\u011a\u0119\u0001\u0000\u0000\u0000\u011a\u011b\u0001\u0000"+
|
||||
"\u0000\u0000\u011b\u011c\u0001\u0000\u0000\u0000\u011c\u011d\u0005\u0006"+
|
||||
"\u0000\u0000\u011d-\u0001\u0000\u0000\u0000\u011e\u0121\u00030\u0018\u0000"+
|
||||
"\u011f\u0121\u0003:\u001d\u0000\u0120\u011e\u0001\u0000\u0000\u0000\u0120"+
|
||||
"\u011f\u0001\u0000\u0000\u0000\u0121/\u0001\u0000\u0000\u0000\u0122\u0123"+
|
||||
"\u0003:\u001d\u0000\u0123\u0125\u0005\u0005\u0000\u0000\u0124\u0126\u0003"+
|
||||
"2\u0019\u0000\u0125\u0124\u0001\u0000\u0000\u0000\u0125\u0126\u0001\u0000"+
|
||||
"\u0000\u0000\u0126\u0127\u0001\u0000\u0000\u0000\u0127\u0128\u0005\u0006"+
|
||||
"\u0000\u0000\u01281\u0001\u0000\u0000\u0000\u0129\u012e\u0003 \u0010\u0000"+
|
||||
"\u012a\u012b\u0005\n\u0000\u0000\u012b\u012d\u0003 \u0010\u0000\u012c"+
|
||||
"\u012a\u0001\u0000\u0000\u0000\u012d\u0130\u0001\u0000\u0000\u0000\u012e"+
|
||||
"\u012c\u0001\u0000\u0000\u0000\u012e\u012f\u0001\u0000\u0000\u0000\u012f"+
|
||||
"3\u0001\u0000\u0000\u0000\u0130\u012e\u0001\u0000\u0000\u0000\u0131\u0132"+
|
||||
"\u0005\u0016\u0000\u0000\u0132\u0133\u0005\u0005\u0000\u0000\u0133\u0134"+
|
||||
"\u0003 \u0010\u0000\u0134\u0135\u0005\u0006\u0000\u0000\u0135\u0139\u0003"+
|
||||
"\u0014\n\u0000\u0136\u0138\u00036\u001b\u0000\u0137\u0136\u0001\u0000"+
|
||||
"\u0000\u0000\u0138\u013b\u0001\u0000\u0000\u0000\u0139\u0137\u0001\u0000"+
|
||||
"\u0000\u0000\u0139\u013a\u0001\u0000\u0000\u0000\u013a\u013e\u0001\u0000"+
|
||||
"\u0000\u0000\u013b\u0139\u0001\u0000\u0000\u0000\u013c\u013d\u0005\u0017"+
|
||||
"\u0000\u0000\u013d\u013f\u0003\u0014\n\u0000\u013e\u013c\u0001\u0000\u0000"+
|
||||
"\u0000\u013e\u013f\u0001\u0000\u0000\u0000\u013f5\u0001\u0000\u0000\u0000"+
|
||||
"\u0140\u0141\u0005\u0017\u0000\u0000\u0141\u0142\u0005\u0016\u0000\u0000"+
|
||||
"\u0142\u0143\u0005\u0005\u0000\u0000\u0143\u0144\u0003 \u0010\u0000\u0144"+
|
||||
"\u0145\u0005\u0006\u0000\u0000\u0145\u0146\u0003\u0014\n\u0000\u01467"+
|
||||
"\u0001\u0000\u0000\u0000\u0147\u0148\u0007\u0003\u0000\u0000\u01489\u0001"+
|
||||
"\u0000\u0000\u0000\u0149\u014a\u00052\u0000\u0000\u014a;\u0001\u0000\u0000"+
|
||||
"\u0000\u001cAFHNX^ew\u0081\u008b\u008f\u00a1\u00a8\u00be\u00d0\u00d4\u00e1"+
|
||||
"\u00e9\u00f5\u00fc\u010a\u0111\u011a\u0120\u0125\u012e\u0139\u013e";
|
||||
public static final ATN _ATN =
|
||||
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
||||
static {
|
||||
|
@ -129,6 +129,13 @@ public interface DecafVisitor<T> extends ParseTreeVisitor<T> {
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitBreak(DecafParser.BreakContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by the {@code Continue}
|
||||
* labeled alternative in {@link DecafParser#stmt}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitContinue(DecafParser.ContinueContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by the {@code LocalVarDec}
|
||||
* labeled alternative in {@link DecafParser#stmt}.
|
||||
|
4
src/main/java/de/maishai/ast/records/Continue.java
Normal file
4
src/main/java/de/maishai/ast/records/Continue.java
Normal file
@ -0,0 +1,4 @@
|
||||
package de.maishai.ast.records;
|
||||
|
||||
public record Continue() implements Statement {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package de.maishai.ast.records;
|
||||
|
||||
public sealed interface Statement extends Node permits Assignment, Break, Declaration, DoWhile, For, IfElse, MethodCall, New, Return, While {
|
||||
public sealed interface Statement extends Node permits Assignment, Break, Continue, Declaration, DoWhile, For, IfElse, MethodCall, New, Return, While {
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user