blob: a042585513f575be4bda395345406ef5b3fb76c0 [file] [log] [blame]
// $ANTLR 3.2 Sep 23, 2009 12:02:23 ACG_ANTLR3.g 2019-12-05 18:11:16
package org.eclipse.m2m.atl.dsls.tcs.injector;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
public class ACG_ANTLR3Parser extends Parser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "NAME", "STRING", "INT", "LCURLY", "RCURLY", "COLONCOLON", "LPAREN", "COMA", "RPAREN", "EQ", "SEMI", "PIPE", "LSQUARE", "RSQUARE", "COLON", "POINT", "RARROW", "MINUS", "STAR", "SLASH", "PLUS", "GT", "LT", "GE", "LE", "NE", "NL", "WS", "DIGIT", "ALPHA", "SNAME", "ESC", "FLOAT", "EXCL", "SHARP", "QMARK", "LARROW", "COMMENT", "'acg'", "'startsWith'", "'function'", "'attribute'", "'asm'", "'name'", "'code'", "'mode'", "'foreach'", "'in'", "'variable'", "'named'", "'operation'", "'context'", "'if'", "'else'", "'let'", "'analyze'", "'report'", "'critic'", "'error'", "'warning'", "'field'", "'param'", "'new'", "'newin'", "'delete'", "'dup'", "'dup_x1'", "'pop'", "'swap'", "'iterate'", "'enditerate'", "'getasm'", "'findme'", "'pusht'", "'pushf'", "'push'", "'pushi'", "'pushd'", "'load'", "'store'", "'call'", "'pcall'", "'supercall'", "'get'", "'set'", "'goto'", "'self'", "'last'", "'then'", "'endif'", "'OclUndefined'", "'Sequence'", "'true'", "'false'", "'not'", "'div'", "'mod'", "'isa'", "'and'", "'or'", "'xor'", "'implies'"
};
public static final int T__50=50;
public static final int QMARK=39;
public static final int MINUS=21;
public static final int RSQUARE=17;
public static final int T__59=59;
public static final int T__55=55;
public static final int T__56=56;
public static final int T__57=57;
public static final int T__58=58;
public static final int T__51=51;
public static final int T__52=52;
public static final int T__53=53;
public static final int T__54=54;
public static final int COMA=11;
public static final int T__60=60;
public static final int T__61=61;
public static final int LPAREN=10;
public static final int T__66=66;
public static final int T__67=67;
public static final int T__68=68;
public static final int T__69=69;
public static final int T__62=62;
public static final int T__63=63;
public static final int T__64=64;
public static final int T__65=65;
public static final int SEMI=14;
public static final int COLONCOLON=9;
public static final int COMMENT=41;
public static final int ESC=35;
public static final int RCURLY=8;
public static final int LCURLY=7;
public static final int RARROW=20;
public static final int T__48=48;
public static final int STAR=22;
public static final int T__49=49;
public static final int LARROW=40;
public static final int T__44=44;
public static final int T__45=45;
public static final int STRING=5;
public static final int LE=28;
public static final int SHARP=38;
public static final int T__46=46;
public static final int T__47=47;
public static final int EXCL=37;
public static final int T__42=42;
public static final int T__43=43;
public static final int T__91=91;
public static final int T__100=100;
public static final int T__92=92;
public static final int T__93=93;
public static final int T__102=102;
public static final int T__94=94;
public static final int T__101=101;
public static final int T__90=90;
public static final int LT=26;
public static final int ALPHA=33;
public static final int PIPE=15;
public static final int T__99=99;
public static final int T__95=95;
public static final int T__96=96;
public static final int T__97=97;
public static final int T__98=98;
public static final int RPAREN=12;
public static final int EQ=13;
public static final int NAME=4;
public static final int NE=29;
public static final int NL=30;
public static final int PLUS=24;
public static final int T__70=70;
public static final int T__71=71;
public static final int FLOAT=36;
public static final int T__72=72;
public static final int INT=6;
public static final int T__77=77;
public static final int T__78=78;
public static final int T__79=79;
public static final int T__73=73;
public static final int WS=31;
public static final int EOF=-1;
public static final int T__74=74;
public static final int T__75=75;
public static final int GE=27;
public static final int T__76=76;
public static final int T__80=80;
public static final int T__81=81;
public static final int T__82=82;
public static final int T__83=83;
public static final int SLASH=23;
public static final int SNAME=34;
public static final int COLON=18;
public static final int GT=25;
public static final int DIGIT=32;
public static final int LSQUARE=16;
public static final int T__88=88;
public static final int T__89=89;
public static final int T__84=84;
public static final int T__104=104;
public static final int POINT=19;
public static final int T__85=85;
public static final int T__103=103;
public static final int T__86=86;
public static final int T__87=87;
public static final int T__105=105;
// delegates
// delegators
public ACG_ANTLR3Parser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public ACG_ANTLR3Parser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return ACG_ANTLR3Parser.tokenNames; }
public String getGrammarFileName() { return "ACG_ANTLR3.g"; }
public org.eclipse.m2m.atl.dsls.tcs.injector.TCSRuntime ei = null;
// public void reportError(RecognitionException ex) {
// ei.reportError((Exception)ex);
// }
// public void emitErrorMessage(String s) {
// ei.reportError(s);
// }
public void displayRecognitionError(String[] tokenNames, RecognitionException e) {
ei.reportError((Exception)e);
}
//TODO: what about warnings?
// public void reportWarning(String s) {
// ei.reportWarning(s);
// }
public static void main(String[] args) throws Exception {
CharStream input = new ANTLRFileStream(args[0]);
ACG_ANTLR3Lexer lex = new
ACG_ANTLR3Lexer(input);
CommonTokenStream tokens = new CommonTokenStream(lex);
tokens.discardTokenType(WS);
tokens.discardTokenType(COMMENT);
tokens.discardTokenType(NL);
ACG_ANTLR3Parser parser = new
ACG_ANTLR3Parser(tokens);
parser.main();
}
// $ANTLR start "main"
// ACG_ANTLR3.g:60:1: main returns [Object ret2] : ( (ret= aCG ) EOF ) ;
public final Object main() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:61:2: ( ( (ret= aCG ) EOF ) )
// ACG_ANTLR3.g:61:4: ( (ret= aCG ) EOF )
{
// ACG_ANTLR3.g:61:4: ( (ret= aCG ) EOF )
// ACG_ANTLR3.g:61:5: (ret= aCG ) EOF
{
// ACG_ANTLR3.g:61:5: (ret= aCG )
// ACG_ANTLR3.g:61:6: ret= aCG
{
pushFollow(FOLLOW_aCG_in_main46);
ret=aCG();
state._fsp--;
}
match(input,EOF,FOLLOW_EOF_in_main49);
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "main"
// $ANTLR start "identifier"
// ACG_ANTLR3.g:68:1: identifier returns [Object ret2] : ast= NAME ;
public final Object identifier() throws RecognitionException {
Object ret2 = null;
Token ast=null;
java.lang.Object ret=null;
try {
// ACG_ANTLR3.g:69:2: (ast= NAME )
// ACG_ANTLR3.g:69:4: ast= NAME
{
ast=(Token)match(input,NAME,FOLLOW_NAME_in_identifier82);
ret = ast.getText(); ei.setToken((Object)ast);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "identifier"
// $ANTLR start "identifierOrKeyword"
// ACG_ANTLR3.g:76:1: identifierOrKeyword returns [Object ret2] : (ast= NAME | 'acg' | 'startsWith' | 'function' | 'attribute' | 'asm' | 'name' | 'code' | 'mode' | 'foreach' | 'in' | 'variable' | 'named' | 'operation' | 'context' | 'if' | 'else' | 'let' | 'analyze' | 'report' | 'critic' | 'error' | 'warning' | 'field' | 'param' | 'new' | 'newin' | 'delete' | 'dup' | 'dup_x1' | 'pop' | 'swap' | 'iterate' | 'enditerate' | 'getasm' | 'findme' | 'pusht' | 'pushf' | 'push' | 'pushi' | 'pushd' | 'load' | 'store' | 'call' | 'pcall' | 'supercall' | 'get' | 'set' | 'goto' | 'self' | 'last' | 'then' | 'endif' | 'OclUndefined' | 'Sequence' | 'true' | 'false' | 'not' | 'div' | 'mod' | 'isa' | 'and' | 'or' | 'xor' | 'implies' ) ;
public final Object identifierOrKeyword() throws RecognitionException {
Object ret2 = null;
Token ast=null;
java.lang.Object ret=null;
try {
// ACG_ANTLR3.g:77:2: ( (ast= NAME | 'acg' | 'startsWith' | 'function' | 'attribute' | 'asm' | 'name' | 'code' | 'mode' | 'foreach' | 'in' | 'variable' | 'named' | 'operation' | 'context' | 'if' | 'else' | 'let' | 'analyze' | 'report' | 'critic' | 'error' | 'warning' | 'field' | 'param' | 'new' | 'newin' | 'delete' | 'dup' | 'dup_x1' | 'pop' | 'swap' | 'iterate' | 'enditerate' | 'getasm' | 'findme' | 'pusht' | 'pushf' | 'push' | 'pushi' | 'pushd' | 'load' | 'store' | 'call' | 'pcall' | 'supercall' | 'get' | 'set' | 'goto' | 'self' | 'last' | 'then' | 'endif' | 'OclUndefined' | 'Sequence' | 'true' | 'false' | 'not' | 'div' | 'mod' | 'isa' | 'and' | 'or' | 'xor' | 'implies' ) )
// ACG_ANTLR3.g:77:4: (ast= NAME | 'acg' | 'startsWith' | 'function' | 'attribute' | 'asm' | 'name' | 'code' | 'mode' | 'foreach' | 'in' | 'variable' | 'named' | 'operation' | 'context' | 'if' | 'else' | 'let' | 'analyze' | 'report' | 'critic' | 'error' | 'warning' | 'field' | 'param' | 'new' | 'newin' | 'delete' | 'dup' | 'dup_x1' | 'pop' | 'swap' | 'iterate' | 'enditerate' | 'getasm' | 'findme' | 'pusht' | 'pushf' | 'push' | 'pushi' | 'pushd' | 'load' | 'store' | 'call' | 'pcall' | 'supercall' | 'get' | 'set' | 'goto' | 'self' | 'last' | 'then' | 'endif' | 'OclUndefined' | 'Sequence' | 'true' | 'false' | 'not' | 'div' | 'mod' | 'isa' | 'and' | 'or' | 'xor' | 'implies' )
{
// ACG_ANTLR3.g:77:4: (ast= NAME | 'acg' | 'startsWith' | 'function' | 'attribute' | 'asm' | 'name' | 'code' | 'mode' | 'foreach' | 'in' | 'variable' | 'named' | 'operation' | 'context' | 'if' | 'else' | 'let' | 'analyze' | 'report' | 'critic' | 'error' | 'warning' | 'field' | 'param' | 'new' | 'newin' | 'delete' | 'dup' | 'dup_x1' | 'pop' | 'swap' | 'iterate' | 'enditerate' | 'getasm' | 'findme' | 'pusht' | 'pushf' | 'push' | 'pushi' | 'pushd' | 'load' | 'store' | 'call' | 'pcall' | 'supercall' | 'get' | 'set' | 'goto' | 'self' | 'last' | 'then' | 'endif' | 'OclUndefined' | 'Sequence' | 'true' | 'false' | 'not' | 'div' | 'mod' | 'isa' | 'and' | 'or' | 'xor' | 'implies' )
int alt1=65;
switch ( input.LA(1) ) {
case NAME:
{
alt1=1;
}
break;
case 42:
{
alt1=2;
}
break;
case 43:
{
alt1=3;
}
break;
case 44:
{
alt1=4;
}
break;
case 45:
{
alt1=5;
}
break;
case 46:
{
alt1=6;
}
break;
case 47:
{
alt1=7;
}
break;
case 48:
{
alt1=8;
}
break;
case 49:
{
alt1=9;
}
break;
case 50:
{
alt1=10;
}
break;
case 51:
{
alt1=11;
}
break;
case 52:
{
alt1=12;
}
break;
case 53:
{
alt1=13;
}
break;
case 54:
{
alt1=14;
}
break;
case 55:
{
alt1=15;
}
break;
case 56:
{
alt1=16;
}
break;
case 57:
{
alt1=17;
}
break;
case 58:
{
alt1=18;
}
break;
case 59:
{
alt1=19;
}
break;
case 60:
{
alt1=20;
}
break;
case 61:
{
alt1=21;
}
break;
case 62:
{
alt1=22;
}
break;
case 63:
{
alt1=23;
}
break;
case 64:
{
alt1=24;
}
break;
case 65:
{
alt1=25;
}
break;
case 66:
{
alt1=26;
}
break;
case 67:
{
alt1=27;
}
break;
case 68:
{
alt1=28;
}
break;
case 69:
{
alt1=29;
}
break;
case 70:
{
alt1=30;
}
break;
case 71:
{
alt1=31;
}
break;
case 72:
{
alt1=32;
}
break;
case 73:
{
alt1=33;
}
break;
case 74:
{
alt1=34;
}
break;
case 75:
{
alt1=35;
}
break;
case 76:
{
alt1=36;
}
break;
case 77:
{
alt1=37;
}
break;
case 78:
{
alt1=38;
}
break;
case 79:
{
alt1=39;
}
break;
case 80:
{
alt1=40;
}
break;
case 81:
{
alt1=41;
}
break;
case 82:
{
alt1=42;
}
break;
case 83:
{
alt1=43;
}
break;
case 84:
{
alt1=44;
}
break;
case 85:
{
alt1=45;
}
break;
case 86:
{
alt1=46;
}
break;
case 87:
{
alt1=47;
}
break;
case 88:
{
alt1=48;
}
break;
case 89:
{
alt1=49;
}
break;
case 90:
{
alt1=50;
}
break;
case 91:
{
alt1=51;
}
break;
case 92:
{
alt1=52;
}
break;
case 93:
{
alt1=53;
}
break;
case 94:
{
alt1=54;
}
break;
case 95:
{
alt1=55;
}
break;
case 96:
{
alt1=56;
}
break;
case 97:
{
alt1=57;
}
break;
case 98:
{
alt1=58;
}
break;
case 99:
{
alt1=59;
}
break;
case 100:
{
alt1=60;
}
break;
case 101:
{
alt1=61;
}
break;
case 102:
{
alt1=62;
}
break;
case 103:
{
alt1=63;
}
break;
case 104:
{
alt1=64;
}
break;
case 105:
{
alt1=65;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// ACG_ANTLR3.g:77:5: ast= NAME
{
ast=(Token)match(input,NAME,FOLLOW_NAME_in_identifierOrKeyword117);
ret = ast.getText(); ei.setToken((Object)ast);
}
break;
case 2 :
// ACG_ANTLR3.g:77:64: 'acg'
{
match(input,42,FOLLOW_42_in_identifierOrKeyword122);
ret = "acg";
}
break;
case 3 :
// ACG_ANTLR3.g:77:86: 'startsWith'
{
match(input,43,FOLLOW_43_in_identifierOrKeyword127);
ret = "startsWith";
}
break;
case 4 :
// ACG_ANTLR3.g:77:122: 'function'
{
match(input,44,FOLLOW_44_in_identifierOrKeyword132);
ret = "function";
}
break;
case 5 :
// ACG_ANTLR3.g:77:154: 'attribute'
{
match(input,45,FOLLOW_45_in_identifierOrKeyword137);
ret = "attribute";
}
break;
case 6 :
// ACG_ANTLR3.g:77:188: 'asm'
{
match(input,46,FOLLOW_46_in_identifierOrKeyword142);
ret = "asm";
}
break;
case 7 :
// ACG_ANTLR3.g:77:210: 'name'
{
match(input,47,FOLLOW_47_in_identifierOrKeyword147);
ret = "name";
}
break;
case 8 :
// ACG_ANTLR3.g:77:234: 'code'
{
match(input,48,FOLLOW_48_in_identifierOrKeyword152);
ret = "code";
}
break;
case 9 :
// ACG_ANTLR3.g:77:258: 'mode'
{
match(input,49,FOLLOW_49_in_identifierOrKeyword157);
ret = "mode";
}
break;
case 10 :
// ACG_ANTLR3.g:77:282: 'foreach'
{
match(input,50,FOLLOW_50_in_identifierOrKeyword162);
ret = "foreach";
}
break;
case 11 :
// ACG_ANTLR3.g:77:312: 'in'
{
match(input,51,FOLLOW_51_in_identifierOrKeyword167);
ret = "in";
}
break;
case 12 :
// ACG_ANTLR3.g:77:332: 'variable'
{
match(input,52,FOLLOW_52_in_identifierOrKeyword172);
ret = "variable";
}
break;
case 13 :
// ACG_ANTLR3.g:77:364: 'named'
{
match(input,53,FOLLOW_53_in_identifierOrKeyword177);
ret = "named";
}
break;
case 14 :
// ACG_ANTLR3.g:77:390: 'operation'
{
match(input,54,FOLLOW_54_in_identifierOrKeyword182);
ret = "operation";
}
break;
case 15 :
// ACG_ANTLR3.g:77:424: 'context'
{
match(input,55,FOLLOW_55_in_identifierOrKeyword187);
ret = "context";
}
break;
case 16 :
// ACG_ANTLR3.g:77:454: 'if'
{
match(input,56,FOLLOW_56_in_identifierOrKeyword192);
ret = "if";
}
break;
case 17 :
// ACG_ANTLR3.g:77:474: 'else'
{
match(input,57,FOLLOW_57_in_identifierOrKeyword197);
ret = "else";
}
break;
case 18 :
// ACG_ANTLR3.g:77:498: 'let'
{
match(input,58,FOLLOW_58_in_identifierOrKeyword202);
ret = "let";
}
break;
case 19 :
// ACG_ANTLR3.g:77:520: 'analyze'
{
match(input,59,FOLLOW_59_in_identifierOrKeyword207);
ret = "analyze";
}
break;
case 20 :
// ACG_ANTLR3.g:77:550: 'report'
{
match(input,60,FOLLOW_60_in_identifierOrKeyword212);
ret = "report";
}
break;
case 21 :
// ACG_ANTLR3.g:77:578: 'critic'
{
match(input,61,FOLLOW_61_in_identifierOrKeyword217);
ret = "critic";
}
break;
case 22 :
// ACG_ANTLR3.g:77:606: 'error'
{
match(input,62,FOLLOW_62_in_identifierOrKeyword222);
ret = "error";
}
break;
case 23 :
// ACG_ANTLR3.g:77:632: 'warning'
{
match(input,63,FOLLOW_63_in_identifierOrKeyword227);
ret = "warning";
}
break;
case 24 :
// ACG_ANTLR3.g:77:662: 'field'
{
match(input,64,FOLLOW_64_in_identifierOrKeyword232);
ret = "field";
}
break;
case 25 :
// ACG_ANTLR3.g:77:688: 'param'
{
match(input,65,FOLLOW_65_in_identifierOrKeyword237);
ret = "param";
}
break;
case 26 :
// ACG_ANTLR3.g:77:714: 'new'
{
match(input,66,FOLLOW_66_in_identifierOrKeyword242);
ret = "new";
}
break;
case 27 :
// ACG_ANTLR3.g:77:736: 'newin'
{
match(input,67,FOLLOW_67_in_identifierOrKeyword247);
ret = "newin";
}
break;
case 28 :
// ACG_ANTLR3.g:77:762: 'delete'
{
match(input,68,FOLLOW_68_in_identifierOrKeyword252);
ret = "delete";
}
break;
case 29 :
// ACG_ANTLR3.g:77:790: 'dup'
{
match(input,69,FOLLOW_69_in_identifierOrKeyword257);
ret = "dup";
}
break;
case 30 :
// ACG_ANTLR3.g:77:812: 'dup_x1'
{
match(input,70,FOLLOW_70_in_identifierOrKeyword262);
ret = "dup_x1";
}
break;
case 31 :
// ACG_ANTLR3.g:77:840: 'pop'
{
match(input,71,FOLLOW_71_in_identifierOrKeyword267);
ret = "pop";
}
break;
case 32 :
// ACG_ANTLR3.g:77:862: 'swap'
{
match(input,72,FOLLOW_72_in_identifierOrKeyword272);
ret = "swap";
}
break;
case 33 :
// ACG_ANTLR3.g:77:886: 'iterate'
{
match(input,73,FOLLOW_73_in_identifierOrKeyword277);
ret = "iterate";
}
break;
case 34 :
// ACG_ANTLR3.g:77:916: 'enditerate'
{
match(input,74,FOLLOW_74_in_identifierOrKeyword282);
ret = "enditerate";
}
break;
case 35 :
// ACG_ANTLR3.g:77:952: 'getasm'
{
match(input,75,FOLLOW_75_in_identifierOrKeyword287);
ret = "getasm";
}
break;
case 36 :
// ACG_ANTLR3.g:77:980: 'findme'
{
match(input,76,FOLLOW_76_in_identifierOrKeyword292);
ret = "findme";
}
break;
case 37 :
// ACG_ANTLR3.g:77:1008: 'pusht'
{
match(input,77,FOLLOW_77_in_identifierOrKeyword297);
ret = "pusht";
}
break;
case 38 :
// ACG_ANTLR3.g:77:1034: 'pushf'
{
match(input,78,FOLLOW_78_in_identifierOrKeyword302);
ret = "pushf";
}
break;
case 39 :
// ACG_ANTLR3.g:77:1060: 'push'
{
match(input,79,FOLLOW_79_in_identifierOrKeyword307);
ret = "push";
}
break;
case 40 :
// ACG_ANTLR3.g:77:1084: 'pushi'
{
match(input,80,FOLLOW_80_in_identifierOrKeyword312);
ret = "pushi";
}
break;
case 41 :
// ACG_ANTLR3.g:77:1110: 'pushd'
{
match(input,81,FOLLOW_81_in_identifierOrKeyword317);
ret = "pushd";
}
break;
case 42 :
// ACG_ANTLR3.g:77:1136: 'load'
{
match(input,82,FOLLOW_82_in_identifierOrKeyword322);
ret = "load";
}
break;
case 43 :
// ACG_ANTLR3.g:77:1160: 'store'
{
match(input,83,FOLLOW_83_in_identifierOrKeyword327);
ret = "store";
}
break;
case 44 :
// ACG_ANTLR3.g:77:1186: 'call'
{
match(input,84,FOLLOW_84_in_identifierOrKeyword332);
ret = "call";
}
break;
case 45 :
// ACG_ANTLR3.g:77:1210: 'pcall'
{
match(input,85,FOLLOW_85_in_identifierOrKeyword337);
ret = "pcall";
}
break;
case 46 :
// ACG_ANTLR3.g:77:1236: 'supercall'
{
match(input,86,FOLLOW_86_in_identifierOrKeyword342);
ret = "supercall";
}
break;
case 47 :
// ACG_ANTLR3.g:77:1270: 'get'
{
match(input,87,FOLLOW_87_in_identifierOrKeyword347);
ret = "get";
}
break;
case 48 :
// ACG_ANTLR3.g:77:1292: 'set'
{
match(input,88,FOLLOW_88_in_identifierOrKeyword352);
ret = "set";
}
break;
case 49 :
// ACG_ANTLR3.g:77:1314: 'goto'
{
match(input,89,FOLLOW_89_in_identifierOrKeyword357);
ret = "goto";
}
break;
case 50 :
// ACG_ANTLR3.g:77:1338: 'self'
{
match(input,90,FOLLOW_90_in_identifierOrKeyword362);
ret = "self";
}
break;
case 51 :
// ACG_ANTLR3.g:77:1362: 'last'
{
match(input,91,FOLLOW_91_in_identifierOrKeyword367);
ret = "last";
}
break;
case 52 :
// ACG_ANTLR3.g:77:1386: 'then'
{
match(input,92,FOLLOW_92_in_identifierOrKeyword372);
ret = "then";
}
break;
case 53 :
// ACG_ANTLR3.g:77:1410: 'endif'
{
match(input,93,FOLLOW_93_in_identifierOrKeyword377);
ret = "endif";
}
break;
case 54 :
// ACG_ANTLR3.g:77:1436: 'OclUndefined'
{
match(input,94,FOLLOW_94_in_identifierOrKeyword382);
ret = "OclUndefined";
}
break;
case 55 :
// ACG_ANTLR3.g:77:1476: 'Sequence'
{
match(input,95,FOLLOW_95_in_identifierOrKeyword387);
ret = "Sequence";
}
break;
case 56 :
// ACG_ANTLR3.g:77:1508: 'true'
{
match(input,96,FOLLOW_96_in_identifierOrKeyword392);
ret = "true";
}
break;
case 57 :
// ACG_ANTLR3.g:77:1532: 'false'
{
match(input,97,FOLLOW_97_in_identifierOrKeyword397);
ret = "false";
}
break;
case 58 :
// ACG_ANTLR3.g:77:1558: 'not'
{
match(input,98,FOLLOW_98_in_identifierOrKeyword402);
ret = "not";
}
break;
case 59 :
// ACG_ANTLR3.g:77:1580: 'div'
{
match(input,99,FOLLOW_99_in_identifierOrKeyword407);
ret = "div";
}
break;
case 60 :
// ACG_ANTLR3.g:77:1602: 'mod'
{
match(input,100,FOLLOW_100_in_identifierOrKeyword412);
ret = "mod";
}
break;
case 61 :
// ACG_ANTLR3.g:77:1624: 'isa'
{
match(input,101,FOLLOW_101_in_identifierOrKeyword417);
ret = "isa";
}
break;
case 62 :
// ACG_ANTLR3.g:77:1646: 'and'
{
match(input,102,FOLLOW_102_in_identifierOrKeyword422);
ret = "and";
}
break;
case 63 :
// ACG_ANTLR3.g:77:1668: 'or'
{
match(input,103,FOLLOW_103_in_identifierOrKeyword427);
ret = "or";
}
break;
case 64 :
// ACG_ANTLR3.g:77:1688: 'xor'
{
match(input,104,FOLLOW_104_in_identifierOrKeyword432);
ret = "xor";
}
break;
case 65 :
// ACG_ANTLR3.g:77:1710: 'implies'
{
match(input,105,FOLLOW_105_in_identifierOrKeyword437);
ret = "implies";
}
break;
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "identifierOrKeyword"
// $ANTLR start "stringSymbol"
// ACG_ANTLR3.g:84:1: stringSymbol returns [Object ret2] : ast= STRING ;
public final Object stringSymbol() throws RecognitionException {
Object ret2 = null;
Token ast=null;
java.lang.Object ret=null;
try {
// ACG_ANTLR3.g:85:2: (ast= STRING )
// ACG_ANTLR3.g:85:4: ast= STRING
{
ast=(Token)match(input,STRING,FOLLOW_STRING_in_stringSymbol472);
ret = ei.unescapeString(ast.getText(), 1); ei.setToken((Object)ast);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "stringSymbol"
// $ANTLR start "integerSymbol"
// ACG_ANTLR3.g:92:1: integerSymbol returns [Object ret2] : ast= INT ;
public final Object integerSymbol() throws RecognitionException {
Object ret2 = null;
Token ast=null;
java.lang.Object ret=null;
try {
// ACG_ANTLR3.g:93:2: (ast= INT )
// ACG_ANTLR3.g:93:4: ast= INT
{
ast=(Token)match(input,INT,FOLLOW_INT_in_integerSymbol506);
ret = Integer.valueOf(ast.getText()); ei.setToken((Object)ast);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "integerSymbol"
// $ANTLR start "aCG"
// ACG_ANTLR3.g:100:1: aCG returns [Object ret2] : ( 'acg' temp= identifier 'startsWith' temp= identifier LCURLY ( ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? ) ) RCURLY ) ;
public final Object aCG() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("ACG", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:101:2: ( ( 'acg' temp= identifier 'startsWith' temp= identifier LCURLY ( ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:101:4: ( 'acg' temp= identifier 'startsWith' temp= identifier LCURLY ( ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:101:4: ( 'acg' temp= identifier 'startsWith' temp= identifier LCURLY ( ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:101:5: 'acg' temp= identifier 'startsWith' temp= identifier LCURLY ( ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? ) ) RCURLY
{
match(input,42,FOLLOW_42_in_aCG539);
pushFollow(FOLLOW_identifier_in_aCG543);
temp=identifier();
state._fsp--;
ei.set(ret, "metamodel", temp);
match(input,43,FOLLOW_43_in_aCG547);
pushFollow(FOLLOW_identifier_in_aCG551);
temp=identifier();
state._fsp--;
ei.set(ret, "startsWith", temp);
match(input,LCURLY,FOLLOW_LCURLY_in_aCG555);
// ACG_ANTLR3.g:101:132: ( ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? ) )
// ACG_ANTLR3.g:101:133: ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? )
{
// ACG_ANTLR3.g:101:133: ( ( (temp= aCGElement ( (temp= aCGElement ) )* ) )? )
// ACG_ANTLR3.g:101:134: ( (temp= aCGElement ( (temp= aCGElement ) )* ) )?
{
// ACG_ANTLR3.g:101:134: ( (temp= aCGElement ( (temp= aCGElement ) )* ) )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==NAME||(LA3_0>=44 && LA3_0<=46)||LA3_0==48) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// ACG_ANTLR3.g:101:135: (temp= aCGElement ( (temp= aCGElement ) )* )
{
// ACG_ANTLR3.g:101:135: (temp= aCGElement ( (temp= aCGElement ) )* )
// ACG_ANTLR3.g:101:136: temp= aCGElement ( (temp= aCGElement ) )*
{
pushFollow(FOLLOW_aCGElement_in_aCG563);
temp=aCGElement();
state._fsp--;
ei.set(ret, "elements", temp);
// ACG_ANTLR3.g:101:185: ( (temp= aCGElement ) )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==NAME||(LA2_0>=44 && LA2_0<=46)||LA2_0==48) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ACG_ANTLR3.g:101:186: (temp= aCGElement )
{
// ACG_ANTLR3.g:101:186: (temp= aCGElement )
// ACG_ANTLR3.g:101:187: temp= aCGElement
{
pushFollow(FOLLOW_aCGElement_in_aCG571);
temp=aCGElement();
state._fsp--;
ei.set(ret, "elements", temp);
}
}
break;
default :
break loop2;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_aCG583);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "aCG"
// $ANTLR start "aCGElement"
// ACG_ANTLR3.g:111:1: aCGElement returns [Object ret2] : ( (ret= function | ret= attribute | ret= node ) ) ;
public final Object aCGElement() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:112:2: ( ( (ret= function | ret= attribute | ret= node ) ) )
// ACG_ANTLR3.g:112:4: ( (ret= function | ret= attribute | ret= node ) )
{
// ACG_ANTLR3.g:112:4: ( (ret= function | ret= attribute | ret= node ) )
// ACG_ANTLR3.g:112:5: (ret= function | ret= attribute | ret= node )
{
// ACG_ANTLR3.g:112:5: (ret= function | ret= attribute | ret= node )
int alt4=3;
switch ( input.LA(1) ) {
case 44:
{
alt4=1;
}
break;
case 45:
{
alt4=2;
}
break;
case NAME:
case 46:
case 48:
{
alt4=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// ACG_ANTLR3.g:112:6: ret= function
{
pushFollow(FOLLOW_function_in_aCGElement618);
ret=function();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:112:20: ret= attribute
{
pushFollow(FOLLOW_attribute_in_aCGElement623);
ret=attribute();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:112:35: ret= node
{
pushFollow(FOLLOW_node_in_aCGElement628);
ret=node();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "aCGElement"
// $ANTLR start "function"
// ACG_ANTLR3.g:120:1: function returns [Object ret2] : ( 'function' temp= identifier COLONCOLON temp= identifier LPAREN ( ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) ) | () ) RPAREN EQ temp= expression SEMI ) ;
public final Object function() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("Function", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:121:2: ( ( 'function' temp= identifier COLONCOLON temp= identifier LPAREN ( ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) ) | () ) RPAREN EQ temp= expression SEMI ) )
// ACG_ANTLR3.g:121:4: ( 'function' temp= identifier COLONCOLON temp= identifier LPAREN ( ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) ) | () ) RPAREN EQ temp= expression SEMI )
{
// ACG_ANTLR3.g:121:4: ( 'function' temp= identifier COLONCOLON temp= identifier LPAREN ( ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) ) | () ) RPAREN EQ temp= expression SEMI )
// ACG_ANTLR3.g:121:5: 'function' temp= identifier COLONCOLON temp= identifier LPAREN ( ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) ) | () ) RPAREN EQ temp= expression SEMI
{
match(input,44,FOLLOW_44_in_function661);
pushFollow(FOLLOW_identifier_in_function665);
temp=identifier();
state._fsp--;
ei.set(ret, "context", temp);
match(input,COLONCOLON,FOLLOW_COLONCOLON_in_function669);
pushFollow(FOLLOW_identifier_in_function673);
temp=identifier();
state._fsp--;
ei.set(ret, "name", temp);
match(input,LPAREN,FOLLOW_LPAREN_in_function677);
// ACG_ANTLR3.g:121:127: ( ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) ) | () )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==NAME) ) {
alt6=1;
}
else if ( (LA6_0==RPAREN) ) {
alt6=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// ACG_ANTLR3.g:121:128: ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) )
{
// ACG_ANTLR3.g:121:128: ( ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) ) )
// ACG_ANTLR3.g:121:129: ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) )
{
// ACG_ANTLR3.g:121:129: ( (temp= parameter ( ( ( COMA ) temp= parameter ) )* ) )
// ACG_ANTLR3.g:121:130: (temp= parameter ( ( ( COMA ) temp= parameter ) )* )
{
// ACG_ANTLR3.g:121:130: (temp= parameter ( ( ( COMA ) temp= parameter ) )* )
// ACG_ANTLR3.g:121:131: temp= parameter ( ( ( COMA ) temp= parameter ) )*
{
pushFollow(FOLLOW_parameter_in_function685);
temp=parameter();
state._fsp--;
ei.set(ret, "parameters", temp);
// ACG_ANTLR3.g:121:181: ( ( ( COMA ) temp= parameter ) )*
loop5:
do {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==COMA) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// ACG_ANTLR3.g:121:182: ( ( COMA ) temp= parameter )
{
// ACG_ANTLR3.g:121:182: ( ( COMA ) temp= parameter )
// ACG_ANTLR3.g:121:183: ( COMA ) temp= parameter
{
// ACG_ANTLR3.g:121:183: ( COMA )
// ACG_ANTLR3.g:121:184: COMA
{
match(input,COMA,FOLLOW_COMA_in_function692);
}
pushFollow(FOLLOW_parameter_in_function697);
temp=parameter();
state._fsp--;
ei.set(ret, "parameters", temp);
}
}
break;
default :
break loop5;
}
} while (true);
}
}
}
}
break;
case 2 :
// ACG_ANTLR3.g:121:250: ()
{
// ACG_ANTLR3.g:121:250: ()
// ACG_ANTLR3.g:121:251:
{
}
}
break;
}
match(input,RPAREN,FOLLOW_RPAREN_in_function716);
match(input,EQ,FOLLOW_EQ_in_function718);
pushFollow(FOLLOW_expression_in_function722);
temp=expression();
state._fsp--;
ei.set(ret, "body", temp);
match(input,SEMI,FOLLOW_SEMI_in_function726);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "function"
// $ANTLR start "attribute"
// ACG_ANTLR3.g:131:1: attribute returns [Object ret2] : ( 'attribute' temp= identifier COLONCOLON temp= identifier EQ temp= expression SEMI ) ;
public final Object attribute() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("Attribute", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:132:2: ( ( 'attribute' temp= identifier COLONCOLON temp= identifier EQ temp= expression SEMI ) )
// ACG_ANTLR3.g:132:4: ( 'attribute' temp= identifier COLONCOLON temp= identifier EQ temp= expression SEMI )
{
// ACG_ANTLR3.g:132:4: ( 'attribute' temp= identifier COLONCOLON temp= identifier EQ temp= expression SEMI )
// ACG_ANTLR3.g:132:5: 'attribute' temp= identifier COLONCOLON temp= identifier EQ temp= expression SEMI
{
match(input,45,FOLLOW_45_in_attribute758);
pushFollow(FOLLOW_identifier_in_attribute762);
temp=identifier();
state._fsp--;
ei.set(ret, "context", temp);
match(input,COLONCOLON,FOLLOW_COLONCOLON_in_attribute766);
pushFollow(FOLLOW_identifier_in_attribute770);
temp=identifier();
state._fsp--;
ei.set(ret, "name", temp);
match(input,EQ,FOLLOW_EQ_in_attribute774);
pushFollow(FOLLOW_expression_in_attribute778);
temp=expression();
state._fsp--;
ei.set(ret, "body", temp);
match(input,SEMI,FOLLOW_SEMI_in_attribute782);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "attribute"
// $ANTLR start "parameter"
// ACG_ANTLR3.g:142:1: parameter returns [Object ret2] : (temp= identifier ) ;
public final Object parameter() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("Parameter", false, true) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:143:2: ( (temp= identifier ) )
// ACG_ANTLR3.g:143:4: (temp= identifier )
{
// ACG_ANTLR3.g:143:4: (temp= identifier )
// ACG_ANTLR3.g:143:5: temp= identifier
{
pushFollow(FOLLOW_identifier_in_parameter816);
temp=identifier();
state._fsp--;
ei.set(ret, "name", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "parameter"
// $ANTLR start "node"
// ACG_ANTLR3.g:153:1: node returns [Object ret2] : ( (ret= aSMNode | ret= codeNode | ret= simpleNode ) ) ;
public final Object node() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:154:2: ( ( (ret= aSMNode | ret= codeNode | ret= simpleNode ) ) )
// ACG_ANTLR3.g:154:4: ( (ret= aSMNode | ret= codeNode | ret= simpleNode ) )
{
// ACG_ANTLR3.g:154:4: ( (ret= aSMNode | ret= codeNode | ret= simpleNode ) )
// ACG_ANTLR3.g:154:5: (ret= aSMNode | ret= codeNode | ret= simpleNode )
{
// ACG_ANTLR3.g:154:5: (ret= aSMNode | ret= codeNode | ret= simpleNode )
int alt7=3;
switch ( input.LA(1) ) {
case 46:
{
alt7=1;
}
break;
case 48:
{
alt7=2;
}
break;
case NAME:
{
alt7=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
// ACG_ANTLR3.g:154:6: ret= aSMNode
{
pushFollow(FOLLOW_aSMNode_in_node853);
ret=aSMNode();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:154:19: ret= codeNode
{
pushFollow(FOLLOW_codeNode_in_node858);
ret=codeNode();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:154:33: ret= simpleNode
{
pushFollow(FOLLOW_simpleNode_in_node863);
ret=simpleNode();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "node"
// $ANTLR start "aSMNode"
// ACG_ANTLR3.g:162:1: aSMNode returns [Object ret2] : ( 'asm' temp= identifier 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) ;
public final Object aSMNode() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("ASMNode", true, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:163:2: ( ( 'asm' temp= identifier 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:163:4: ( 'asm' temp= identifier 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:163:4: ( 'asm' temp= identifier 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:163:5: 'asm' temp= identifier 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,46,FOLLOW_46_in_aSMNode896);
pushFollow(FOLLOW_identifier_in_aSMNode900);
temp=identifier();
state._fsp--;
ei.set(ret, "element", temp);
match(input,47,FOLLOW_47_in_aSMNode904);
pushFollow(FOLLOW_expression_in_aSMNode908);
temp=expression();
state._fsp--;
ei.set(ret, "name", temp);
match(input,LCURLY,FOLLOW_LCURLY_in_aSMNode912);
// ACG_ANTLR3.g:163:118: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:163:119: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:163:119: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:163:120: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:163:120: ( (temp= statement ( (temp= statement ) )* ) )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==NAME||LA9_0==LSQUARE||LA9_0==50||LA9_0==52||LA9_0==54||LA9_0==56||(LA9_0>=58 && LA9_0<=60)||(LA9_0>=64 && LA9_0<=89)) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// ACG_ANTLR3.g:163:121: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:163:121: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:163:122: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_aSMNode920);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:163:172: ( (temp= statement ) )*
loop8:
do {
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==NAME||LA8_0==LSQUARE||LA8_0==50||LA8_0==52||LA8_0==54||LA8_0==56||(LA8_0>=58 && LA8_0<=60)||(LA8_0>=64 && LA8_0<=89)) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// ACG_ANTLR3.g:163:173: (temp= statement )
{
// ACG_ANTLR3.g:163:173: (temp= statement )
// ACG_ANTLR3.g:163:174: temp= statement
{
pushFollow(FOLLOW_statement_in_aSMNode928);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop8;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_aSMNode940);
}
ei.leaveContext(true);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "aSMNode"
// $ANTLR start "codeNode"
// ACG_ANTLR3.g:173:1: codeNode returns [Object ret2] : ( 'code' temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) ;
public final Object codeNode() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("CodeNode", true, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:174:2: ( ( 'code' temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:174:4: ( 'code' temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:174:4: ( 'code' temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:174:5: 'code' temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,48,FOLLOW_48_in_codeNode972);
pushFollow(FOLLOW_identifier_in_codeNode976);
temp=identifier();
state._fsp--;
ei.set(ret, "element", temp);
// ACG_ANTLR3.g:174:60: ( ( 'mode' temp= identifier ) | () )
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==49) ) {
alt10=1;
}
else if ( (LA10_0==LCURLY||LA10_0==PIPE) ) {
alt10=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 10, 0, input);
throw nvae;
}
switch (alt10) {
case 1 :
// ACG_ANTLR3.g:174:61: ( 'mode' temp= identifier )
{
// ACG_ANTLR3.g:174:61: ( 'mode' temp= identifier )
// ACG_ANTLR3.g:174:62: 'mode' temp= identifier
{
match(input,49,FOLLOW_49_in_codeNode982);
pushFollow(FOLLOW_identifier_in_codeNode986);
temp=identifier();
state._fsp--;
ei.set(ret, "mode", temp);
}
}
break;
case 2 :
// ACG_ANTLR3.g:174:119: ()
{
// ACG_ANTLR3.g:174:119: ()
// ACG_ANTLR3.g:174:120:
{
}
}
break;
}
// ACG_ANTLR3.g:174:126: ( ( PIPE temp= expression ) | () )
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==PIPE) ) {
alt11=1;
}
else if ( (LA11_0==LCURLY) ) {
alt11=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// ACG_ANTLR3.g:174:127: ( PIPE temp= expression )
{
// ACG_ANTLR3.g:174:127: ( PIPE temp= expression )
// ACG_ANTLR3.g:174:128: PIPE temp= expression
{
match(input,PIPE,FOLLOW_PIPE_in_codeNode1002);
pushFollow(FOLLOW_expression_in_codeNode1006);
temp=expression();
state._fsp--;
ei.set(ret, "guard", temp);
}
}
break;
case 2 :
// ACG_ANTLR3.g:174:184: ()
{
// ACG_ANTLR3.g:174:184: ()
// ACG_ANTLR3.g:174:185:
{
}
}
break;
}
match(input,LCURLY,FOLLOW_LCURLY_in_codeNode1020);
// ACG_ANTLR3.g:174:198: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:174:199: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:174:199: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:174:200: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:174:200: ( (temp= statement ( (temp= statement ) )* ) )?
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==NAME||LA13_0==LSQUARE||LA13_0==50||LA13_0==52||LA13_0==54||LA13_0==56||(LA13_0>=58 && LA13_0<=60)||(LA13_0>=64 && LA13_0<=89)) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// ACG_ANTLR3.g:174:201: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:174:201: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:174:202: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_codeNode1028);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:174:252: ( (temp= statement ) )*
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==NAME||LA12_0==LSQUARE||LA12_0==50||LA12_0==52||LA12_0==54||LA12_0==56||(LA12_0>=58 && LA12_0<=60)||(LA12_0>=64 && LA12_0<=89)) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// ACG_ANTLR3.g:174:253: (temp= statement )
{
// ACG_ANTLR3.g:174:253: (temp= statement )
// ACG_ANTLR3.g:174:254: temp= statement
{
pushFollow(FOLLOW_statement_in_codeNode1036);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop12;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_codeNode1048);
}
ei.leaveContext(true);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "codeNode"
// $ANTLR start "simpleNode"
// ACG_ANTLR3.g:184:1: simpleNode returns [Object ret2] : (temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) ;
public final Object simpleNode() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("SimpleNode", true, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:185:2: ( (temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:185:4: (temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:185:4: (temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:185:5: temp= identifier ( ( 'mode' temp= identifier ) | () ) ( ( PIPE temp= expression ) | () ) LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
pushFollow(FOLLOW_identifier_in_simpleNode1082);
temp=identifier();
state._fsp--;
ei.set(ret, "element", temp);
// ACG_ANTLR3.g:185:53: ( ( 'mode' temp= identifier ) | () )
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==49) ) {
alt14=1;
}
else if ( (LA14_0==LCURLY||LA14_0==PIPE) ) {
alt14=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 14, 0, input);
throw nvae;
}
switch (alt14) {
case 1 :
// ACG_ANTLR3.g:185:54: ( 'mode' temp= identifier )
{
// ACG_ANTLR3.g:185:54: ( 'mode' temp= identifier )
// ACG_ANTLR3.g:185:55: 'mode' temp= identifier
{
match(input,49,FOLLOW_49_in_simpleNode1088);
pushFollow(FOLLOW_identifier_in_simpleNode1092);
temp=identifier();
state._fsp--;
ei.set(ret, "mode", temp);
}
}
break;
case 2 :
// ACG_ANTLR3.g:185:112: ()
{
// ACG_ANTLR3.g:185:112: ()
// ACG_ANTLR3.g:185:113:
{
}
}
break;
}
// ACG_ANTLR3.g:185:119: ( ( PIPE temp= expression ) | () )
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==PIPE) ) {
alt15=1;
}
else if ( (LA15_0==LCURLY) ) {
alt15=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 15, 0, input);
throw nvae;
}
switch (alt15) {
case 1 :
// ACG_ANTLR3.g:185:120: ( PIPE temp= expression )
{
// ACG_ANTLR3.g:185:120: ( PIPE temp= expression )
// ACG_ANTLR3.g:185:121: PIPE temp= expression
{
match(input,PIPE,FOLLOW_PIPE_in_simpleNode1108);
pushFollow(FOLLOW_expression_in_simpleNode1112);
temp=expression();
state._fsp--;
ei.set(ret, "guard", temp);
}
}
break;
case 2 :
// ACG_ANTLR3.g:185:177: ()
{
// ACG_ANTLR3.g:185:177: ()
// ACG_ANTLR3.g:185:178:
{
}
}
break;
}
match(input,LCURLY,FOLLOW_LCURLY_in_simpleNode1126);
// ACG_ANTLR3.g:185:191: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:185:192: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:185:192: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:185:193: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:185:193: ( (temp= statement ( (temp= statement ) )* ) )?
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==NAME||LA17_0==LSQUARE||LA17_0==50||LA17_0==52||LA17_0==54||LA17_0==56||(LA17_0>=58 && LA17_0<=60)||(LA17_0>=64 && LA17_0<=89)) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// ACG_ANTLR3.g:185:194: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:185:194: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:185:195: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_simpleNode1134);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:185:245: ( (temp= statement ) )*
loop16:
do {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==NAME||LA16_0==LSQUARE||LA16_0==50||LA16_0==52||LA16_0==54||LA16_0==56||(LA16_0>=58 && LA16_0<=60)||(LA16_0>=64 && LA16_0<=89)) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// ACG_ANTLR3.g:185:246: (temp= statement )
{
// ACG_ANTLR3.g:185:246: (temp= statement )
// ACG_ANTLR3.g:185:247: temp= statement
{
pushFollow(FOLLOW_statement_in_simpleNode1142);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop16;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_simpleNode1154);
}
ei.leaveContext(true);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "simpleNode"
// $ANTLR start "statement"
// ACG_ANTLR3.g:195:1: statement returns [Object ret2] : ( (ret= compoundStat | ret= reportStat | ret= fieldStat | ret= paramStat | ret= emitStat ) ) ;
public final Object statement() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:196:2: ( ( (ret= compoundStat | ret= reportStat | ret= fieldStat | ret= paramStat | ret= emitStat ) ) )
// ACG_ANTLR3.g:196:4: ( (ret= compoundStat | ret= reportStat | ret= fieldStat | ret= paramStat | ret= emitStat ) )
{
// ACG_ANTLR3.g:196:4: ( (ret= compoundStat | ret= reportStat | ret= fieldStat | ret= paramStat | ret= emitStat ) )
// ACG_ANTLR3.g:196:5: (ret= compoundStat | ret= reportStat | ret= fieldStat | ret= paramStat | ret= emitStat )
{
// ACG_ANTLR3.g:196:5: (ret= compoundStat | ret= reportStat | ret= fieldStat | ret= paramStat | ret= emitStat )
int alt18=5;
switch ( input.LA(1) ) {
case LSQUARE:
case 50:
case 52:
case 54:
case 58:
case 59:
{
alt18=1;
}
break;
case 56:
{
int LA18_2 = input.LA(2);
if ( (LA18_2==LPAREN) ) {
alt18=1;
}
else if ( (LA18_2==NAME) ) {
alt18=5;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 18, 2, input);
throw nvae;
}
}
break;
case 60:
{
alt18=2;
}
break;
case 64:
{
alt18=3;
}
break;
case 65:
{
alt18=4;
}
break;
case NAME:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
{
alt18=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 18, 0, input);
throw nvae;
}
switch (alt18) {
case 1 :
// ACG_ANTLR3.g:196:6: ret= compoundStat
{
pushFollow(FOLLOW_compoundStat_in_statement1189);
ret=compoundStat();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:196:24: ret= reportStat
{
pushFollow(FOLLOW_reportStat_in_statement1194);
ret=reportStat();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:196:40: ret= fieldStat
{
pushFollow(FOLLOW_fieldStat_in_statement1199);
ret=fieldStat();
state._fsp--;
}
break;
case 4 :
// ACG_ANTLR3.g:196:55: ret= paramStat
{
pushFollow(FOLLOW_paramStat_in_statement1204);
ret=paramStat();
state._fsp--;
}
break;
case 5 :
// ACG_ANTLR3.g:196:70: ret= emitStat
{
pushFollow(FOLLOW_emitStat_in_statement1209);
ret=emitStat();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "statement"
// $ANTLR start "compoundStat"
// ACG_ANTLR3.g:204:1: compoundStat returns [Object ret2] : ( (ret= forEachStat | ret= onceStat | ret= variableStat | ret= operationStat | ret= conditionalStat | ret= letStat | ret= analyzeStat ) ) ;
public final Object compoundStat() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:205:2: ( ( (ret= forEachStat | ret= onceStat | ret= variableStat | ret= operationStat | ret= conditionalStat | ret= letStat | ret= analyzeStat ) ) )
// ACG_ANTLR3.g:205:4: ( (ret= forEachStat | ret= onceStat | ret= variableStat | ret= operationStat | ret= conditionalStat | ret= letStat | ret= analyzeStat ) )
{
// ACG_ANTLR3.g:205:4: ( (ret= forEachStat | ret= onceStat | ret= variableStat | ret= operationStat | ret= conditionalStat | ret= letStat | ret= analyzeStat ) )
// ACG_ANTLR3.g:205:5: (ret= forEachStat | ret= onceStat | ret= variableStat | ret= operationStat | ret= conditionalStat | ret= letStat | ret= analyzeStat )
{
// ACG_ANTLR3.g:205:5: (ret= forEachStat | ret= onceStat | ret= variableStat | ret= operationStat | ret= conditionalStat | ret= letStat | ret= analyzeStat )
int alt19=7;
switch ( input.LA(1) ) {
case 50:
{
alt19=1;
}
break;
case LSQUARE:
{
alt19=2;
}
break;
case 52:
{
alt19=3;
}
break;
case 54:
{
alt19=4;
}
break;
case 56:
{
alt19=5;
}
break;
case 58:
{
alt19=6;
}
break;
case 59:
{
alt19=7;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// ACG_ANTLR3.g:205:6: ret= forEachStat
{
pushFollow(FOLLOW_forEachStat_in_compoundStat1245);
ret=forEachStat();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:205:23: ret= onceStat
{
pushFollow(FOLLOW_onceStat_in_compoundStat1250);
ret=onceStat();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:205:37: ret= variableStat
{
pushFollow(FOLLOW_variableStat_in_compoundStat1255);
ret=variableStat();
state._fsp--;
}
break;
case 4 :
// ACG_ANTLR3.g:205:55: ret= operationStat
{
pushFollow(FOLLOW_operationStat_in_compoundStat1260);
ret=operationStat();
state._fsp--;
}
break;
case 5 :
// ACG_ANTLR3.g:205:74: ret= conditionalStat
{
pushFollow(FOLLOW_conditionalStat_in_compoundStat1265);
ret=conditionalStat();
state._fsp--;
}
break;
case 6 :
// ACG_ANTLR3.g:205:95: ret= letStat
{
pushFollow(FOLLOW_letStat_in_compoundStat1270);
ret=letStat();
state._fsp--;
}
break;
case 7 :
// ACG_ANTLR3.g:205:108: ret= analyzeStat
{
pushFollow(FOLLOW_analyzeStat_in_compoundStat1275);
ret=analyzeStat();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "compoundStat"
// $ANTLR start "forEachStat"
// ACG_ANTLR3.g:213:1: forEachStat returns [Object ret2] : ( 'foreach' LPAREN temp= variableDecl 'in' temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) ;
public final Object forEachStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("ForEachStat", true, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:214:2: ( ( 'foreach' LPAREN temp= variableDecl 'in' temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:214:4: ( 'foreach' LPAREN temp= variableDecl 'in' temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:214:4: ( 'foreach' LPAREN temp= variableDecl 'in' temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:214:5: 'foreach' LPAREN temp= variableDecl 'in' temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,50,FOLLOW_50_in_forEachStat1308);
match(input,LPAREN,FOLLOW_LPAREN_in_forEachStat1310);
pushFollow(FOLLOW_variableDecl_in_forEachStat1314);
temp=variableDecl();
state._fsp--;
ei.set(ret, "iterator", temp);
match(input,51,FOLLOW_51_in_forEachStat1318);
pushFollow(FOLLOW_expression_in_forEachStat1322);
temp=expression();
state._fsp--;
ei.set(ret, "collection", temp);
match(input,RPAREN,FOLLOW_RPAREN_in_forEachStat1326);
match(input,LCURLY,FOLLOW_LCURLY_in_forEachStat1328);
// ACG_ANTLR3.g:214:143: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:214:144: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:214:144: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:214:145: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:214:145: ( (temp= statement ( (temp= statement ) )* ) )?
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==NAME||LA21_0==LSQUARE||LA21_0==50||LA21_0==52||LA21_0==54||LA21_0==56||(LA21_0>=58 && LA21_0<=60)||(LA21_0>=64 && LA21_0<=89)) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// ACG_ANTLR3.g:214:146: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:214:146: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:214:147: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_forEachStat1336);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:214:197: ( (temp= statement ) )*
loop20:
do {
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==NAME||LA20_0==LSQUARE||LA20_0==50||LA20_0==52||LA20_0==54||LA20_0==56||(LA20_0>=58 && LA20_0<=60)||(LA20_0>=64 && LA20_0<=89)) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// ACG_ANTLR3.g:214:198: (temp= statement )
{
// ACG_ANTLR3.g:214:198: (temp= statement )
// ACG_ANTLR3.g:214:199: temp= statement
{
pushFollow(FOLLOW_statement_in_forEachStat1344);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop20;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_forEachStat1356);
}
ei.leaveContext(true);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "forEachStat"
// $ANTLR start "onceStat"
// ACG_ANTLR3.g:224:1: onceStat returns [Object ret2] : ( LSQUARE ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RSQUARE ) ;
public final Object onceStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("OnceStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:225:2: ( ( LSQUARE ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RSQUARE ) )
// ACG_ANTLR3.g:225:4: ( LSQUARE ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RSQUARE )
{
// ACG_ANTLR3.g:225:4: ( LSQUARE ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RSQUARE )
// ACG_ANTLR3.g:225:5: LSQUARE ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RSQUARE
{
match(input,LSQUARE,FOLLOW_LSQUARE_in_onceStat1388);
// ACG_ANTLR3.g:225:13: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:225:14: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:225:14: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:225:15: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:225:15: ( (temp= statement ( (temp= statement ) )* ) )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==NAME||LA23_0==LSQUARE||LA23_0==50||LA23_0==52||LA23_0==54||LA23_0==56||(LA23_0>=58 && LA23_0<=60)||(LA23_0>=64 && LA23_0<=89)) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// ACG_ANTLR3.g:225:16: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:225:16: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:225:17: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_onceStat1396);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:225:67: ( (temp= statement ) )*
loop22:
do {
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==NAME||LA22_0==LSQUARE||LA22_0==50||LA22_0==52||LA22_0==54||LA22_0==56||(LA22_0>=58 && LA22_0<=60)||(LA22_0>=64 && LA22_0<=89)) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// ACG_ANTLR3.g:225:68: (temp= statement )
{
// ACG_ANTLR3.g:225:68: (temp= statement )
// ACG_ANTLR3.g:225:69: temp= statement
{
pushFollow(FOLLOW_statement_in_onceStat1404);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop22;
}
} while (true);
}
}
break;
}
}
}
match(input,RSQUARE,FOLLOW_RSQUARE_in_onceStat1416);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "onceStat"
// $ANTLR start "variableStat"
// ACG_ANTLR3.g:235:1: variableStat returns [Object ret2] : ( 'variable' temp= expression 'named' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) ;
public final Object variableStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("VariableStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:236:2: ( ( 'variable' temp= expression 'named' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:236:4: ( 'variable' temp= expression 'named' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:236:4: ( 'variable' temp= expression 'named' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:236:5: 'variable' temp= expression 'named' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,52,FOLLOW_52_in_variableStat1448);
pushFollow(FOLLOW_expression_in_variableStat1452);
temp=expression();
state._fsp--;
ei.set(ret, "definition", temp);
match(input,53,FOLLOW_53_in_variableStat1456);
pushFollow(FOLLOW_expression_in_variableStat1460);
temp=expression();
state._fsp--;
ei.set(ret, "name", temp);
match(input,LCURLY,FOLLOW_LCURLY_in_variableStat1464);
// ACG_ANTLR3.g:236:127: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:236:128: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:236:128: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:236:129: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:236:129: ( (temp= statement ( (temp= statement ) )* ) )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==NAME||LA25_0==LSQUARE||LA25_0==50||LA25_0==52||LA25_0==54||LA25_0==56||(LA25_0>=58 && LA25_0<=60)||(LA25_0>=64 && LA25_0<=89)) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// ACG_ANTLR3.g:236:130: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:236:130: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:236:131: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_variableStat1472);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:236:181: ( (temp= statement ) )*
loop24:
do {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==NAME||LA24_0==LSQUARE||LA24_0==50||LA24_0==52||LA24_0==54||LA24_0==56||(LA24_0>=58 && LA24_0<=60)||(LA24_0>=64 && LA24_0<=89)) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// ACG_ANTLR3.g:236:182: (temp= statement )
{
// ACG_ANTLR3.g:236:182: (temp= statement )
// ACG_ANTLR3.g:236:183: temp= statement
{
pushFollow(FOLLOW_statement_in_variableStat1480);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop24;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_variableStat1492);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "variableStat"
// $ANTLR start "operationStat"
// ACG_ANTLR3.g:246:1: operationStat returns [Object ret2] : ( 'operation' 'context' temp= expression 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) ;
public final Object operationStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("OperationStat", true, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:247:2: ( ( 'operation' 'context' temp= expression 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:247:4: ( 'operation' 'context' temp= expression 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:247:4: ( 'operation' 'context' temp= expression 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:247:5: 'operation' 'context' temp= expression 'name' temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,54,FOLLOW_54_in_operationStat1524);
match(input,55,FOLLOW_55_in_operationStat1526);
pushFollow(FOLLOW_expression_in_operationStat1530);
temp=expression();
state._fsp--;
ei.set(ret, "context", temp);
match(input,47,FOLLOW_47_in_operationStat1534);
pushFollow(FOLLOW_expression_in_operationStat1538);
temp=expression();
state._fsp--;
ei.set(ret, "name", temp);
match(input,LCURLY,FOLLOW_LCURLY_in_operationStat1542);
// ACG_ANTLR3.g:247:134: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:247:135: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:247:135: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:247:136: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:247:136: ( (temp= statement ( (temp= statement ) )* ) )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==NAME||LA27_0==LSQUARE||LA27_0==50||LA27_0==52||LA27_0==54||LA27_0==56||(LA27_0>=58 && LA27_0<=60)||(LA27_0>=64 && LA27_0<=89)) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// ACG_ANTLR3.g:247:137: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:247:137: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:247:138: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_operationStat1550);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:247:188: ( (temp= statement ) )*
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==NAME||LA26_0==LSQUARE||LA26_0==50||LA26_0==52||LA26_0==54||LA26_0==56||(LA26_0>=58 && LA26_0<=60)||(LA26_0>=64 && LA26_0<=89)) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// ACG_ANTLR3.g:247:189: (temp= statement )
{
// ACG_ANTLR3.g:247:189: (temp= statement )
// ACG_ANTLR3.g:247:190: temp= statement
{
pushFollow(FOLLOW_statement_in_operationStat1558);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop26;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_operationStat1570);
}
ei.leaveContext(true);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "operationStat"
// $ANTLR start "conditionalStat"
// ACG_ANTLR3.g:257:1: conditionalStat returns [Object ret2] : ( 'if' LPAREN temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ( ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) ) ;
public final Object conditionalStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("ConditionalStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:258:2: ( ( 'if' LPAREN temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ( ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) ) )
// ACG_ANTLR3.g:258:4: ( 'if' LPAREN temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ( ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) )
{
// ACG_ANTLR3.g:258:4: ( 'if' LPAREN temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ( ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) )
// ACG_ANTLR3.g:258:5: 'if' LPAREN temp= expression RPAREN LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ( ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () )
{
match(input,56,FOLLOW_56_in_conditionalStat1602);
match(input,LPAREN,FOLLOW_LPAREN_in_conditionalStat1604);
pushFollow(FOLLOW_expression_in_conditionalStat1608);
temp=expression();
state._fsp--;
ei.set(ret, "condition", temp);
match(input,RPAREN,FOLLOW_RPAREN_in_conditionalStat1612);
match(input,LCURLY,FOLLOW_LCURLY_in_conditionalStat1614);
// ACG_ANTLR3.g:258:81: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:258:82: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:258:82: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:258:83: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:258:83: ( (temp= statement ( (temp= statement ) )* ) )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==NAME||LA29_0==LSQUARE||LA29_0==50||LA29_0==52||LA29_0==54||LA29_0==56||(LA29_0>=58 && LA29_0<=60)||(LA29_0>=64 && LA29_0<=89)) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// ACG_ANTLR3.g:258:84: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:258:84: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:258:85: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_conditionalStat1622);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:258:135: ( (temp= statement ) )*
loop28:
do {
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==NAME||LA28_0==LSQUARE||LA28_0==50||LA28_0==52||LA28_0==54||LA28_0==56||(LA28_0>=58 && LA28_0<=60)||(LA28_0>=64 && LA28_0<=89)) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// ACG_ANTLR3.g:258:136: (temp= statement )
{
// ACG_ANTLR3.g:258:136: (temp= statement )
// ACG_ANTLR3.g:258:137: temp= statement
{
pushFollow(FOLLOW_statement_in_conditionalStat1630);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop28;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_conditionalStat1642);
// ACG_ANTLR3.g:258:202: ( ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () )
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==57) ) {
alt32=1;
}
else if ( (LA32_0==NAME||LA32_0==RCURLY||(LA32_0>=LSQUARE && LA32_0<=RSQUARE)||LA32_0==50||LA32_0==52||LA32_0==54||LA32_0==56||(LA32_0>=58 && LA32_0<=60)||(LA32_0>=64 && LA32_0<=89)) ) {
alt32=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 32, 0, input);
throw nvae;
}
switch (alt32) {
case 1 :
// ACG_ANTLR3.g:258:203: ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:258:203: ( 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:258:204: 'else' LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,57,FOLLOW_57_in_conditionalStat1646);
match(input,LCURLY,FOLLOW_LCURLY_in_conditionalStat1648);
// ACG_ANTLR3.g:258:218: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:258:219: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:258:219: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:258:220: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:258:220: ( (temp= statement ( (temp= statement ) )* ) )?
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==NAME||LA31_0==LSQUARE||LA31_0==50||LA31_0==52||LA31_0==54||LA31_0==56||(LA31_0>=58 && LA31_0<=60)||(LA31_0>=64 && LA31_0<=89)) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// ACG_ANTLR3.g:258:221: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:258:221: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:258:222: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_conditionalStat1656);
temp=statement();
state._fsp--;
ei.set(ret, "elseStatements", temp);
// ACG_ANTLR3.g:258:276: ( (temp= statement ) )*
loop30:
do {
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==NAME||LA30_0==LSQUARE||LA30_0==50||LA30_0==52||LA30_0==54||LA30_0==56||(LA30_0>=58 && LA30_0<=60)||(LA30_0>=64 && LA30_0<=89)) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// ACG_ANTLR3.g:258:277: (temp= statement )
{
// ACG_ANTLR3.g:258:277: (temp= statement )
// ACG_ANTLR3.g:258:278: temp= statement
{
pushFollow(FOLLOW_statement_in_conditionalStat1664);
temp=statement();
state._fsp--;
ei.set(ret, "elseStatements", temp);
}
}
break;
default :
break loop30;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_conditionalStat1676);
}
}
break;
case 2 :
// ACG_ANTLR3.g:258:352: ()
{
// ACG_ANTLR3.g:258:352: ()
// ACG_ANTLR3.g:258:353:
{
}
}
break;
}
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "conditionalStat"
// $ANTLR start "letStat"
// ACG_ANTLR3.g:268:1: letStat returns [Object ret2] : ( 'let' temp= variableDecl EQ temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) ;
public final Object letStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("LetStat", true, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:269:2: ( ( 'let' temp= variableDecl EQ temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) )
// ACG_ANTLR3.g:269:4: ( 'let' temp= variableDecl EQ temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:269:4: ( 'let' temp= variableDecl EQ temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:269:5: 'let' temp= variableDecl EQ temp= expression LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,58,FOLLOW_58_in_letStat1718);
pushFollow(FOLLOW_variableDecl_in_letStat1722);
temp=variableDecl();
state._fsp--;
ei.set(ret, "variable", temp);
match(input,EQ,FOLLOW_EQ_in_letStat1726);
pushFollow(FOLLOW_expression_in_letStat1730);
temp=expression();
state._fsp--;
ei.set(ret, "value", temp);
match(input,LCURLY,FOLLOW_LCURLY_in_letStat1734);
// ACG_ANTLR3.g:269:118: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:269:119: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:269:119: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:269:120: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:269:120: ( (temp= statement ( (temp= statement ) )* ) )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==NAME||LA34_0==LSQUARE||LA34_0==50||LA34_0==52||LA34_0==54||LA34_0==56||(LA34_0>=58 && LA34_0<=60)||(LA34_0>=64 && LA34_0<=89)) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// ACG_ANTLR3.g:269:121: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:269:121: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:269:122: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_letStat1742);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:269:172: ( (temp= statement ) )*
loop33:
do {
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==NAME||LA33_0==LSQUARE||LA33_0==50||LA33_0==52||LA33_0==54||LA33_0==56||(LA33_0>=58 && LA33_0<=60)||(LA33_0>=64 && LA33_0<=89)) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// ACG_ANTLR3.g:269:173: (temp= statement )
{
// ACG_ANTLR3.g:269:173: (temp= statement )
// ACG_ANTLR3.g:269:174: temp= statement
{
pushFollow(FOLLOW_statement_in_letStat1750);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop33;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_letStat1762);
}
ei.leaveContext(true);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "letStat"
// $ANTLR start "analyzeStat"
// ACG_ANTLR3.g:279:1: analyzeStat returns [Object ret2] : ( 'analyze' temp= expression ( ( 'mode' temp= identifier ) | () ) ( ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) ) ;
public final Object analyzeStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("AnalyzeStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:280:2: ( ( 'analyze' temp= expression ( ( 'mode' temp= identifier ) | () ) ( ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) ) )
// ACG_ANTLR3.g:280:4: ( 'analyze' temp= expression ( ( 'mode' temp= identifier ) | () ) ( ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) )
{
// ACG_ANTLR3.g:280:4: ( 'analyze' temp= expression ( ( 'mode' temp= identifier ) | () ) ( ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () ) )
// ACG_ANTLR3.g:280:5: 'analyze' temp= expression ( ( 'mode' temp= identifier ) | () ) ( ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () )
{
match(input,59,FOLLOW_59_in_analyzeStat1794);
pushFollow(FOLLOW_expression_in_analyzeStat1798);
temp=expression();
state._fsp--;
ei.set(ret, "target", temp);
// ACG_ANTLR3.g:280:62: ( ( 'mode' temp= identifier ) | () )
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==49) ) {
alt35=1;
}
else if ( (LA35_0==NAME||(LA35_0>=LCURLY && LA35_0<=RCURLY)||(LA35_0>=LSQUARE && LA35_0<=RSQUARE)||LA35_0==50||LA35_0==52||LA35_0==54||LA35_0==56||(LA35_0>=58 && LA35_0<=60)||(LA35_0>=64 && LA35_0<=89)) ) {
alt35=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
// ACG_ANTLR3.g:280:63: ( 'mode' temp= identifier )
{
// ACG_ANTLR3.g:280:63: ( 'mode' temp= identifier )
// ACG_ANTLR3.g:280:64: 'mode' temp= identifier
{
match(input,49,FOLLOW_49_in_analyzeStat1804);
pushFollow(FOLLOW_identifier_in_analyzeStat1808);
temp=identifier();
state._fsp--;
ei.set(ret, "mode", temp);
}
}
break;
case 2 :
// ACG_ANTLR3.g:280:121: ()
{
// ACG_ANTLR3.g:280:121: ()
// ACG_ANTLR3.g:280:122:
{
}
}
break;
}
// ACG_ANTLR3.g:280:128: ( ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY ) | () )
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==LCURLY) ) {
alt38=1;
}
else if ( (LA38_0==NAME||LA38_0==RCURLY||(LA38_0>=LSQUARE && LA38_0<=RSQUARE)||LA38_0==50||LA38_0==52||LA38_0==54||LA38_0==56||(LA38_0>=58 && LA38_0<=60)||(LA38_0>=64 && LA38_0<=89)) ) {
alt38=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 38, 0, input);
throw nvae;
}
switch (alt38) {
case 1 :
// ACG_ANTLR3.g:280:129: ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
{
// ACG_ANTLR3.g:280:129: ( LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY )
// ACG_ANTLR3.g:280:130: LCURLY ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) ) RCURLY
{
match(input,LCURLY,FOLLOW_LCURLY_in_analyzeStat1824);
// ACG_ANTLR3.g:280:137: ( ( ( (temp= statement ( (temp= statement ) )* ) )? ) )
// ACG_ANTLR3.g:280:138: ( ( (temp= statement ( (temp= statement ) )* ) )? )
{
// ACG_ANTLR3.g:280:138: ( ( (temp= statement ( (temp= statement ) )* ) )? )
// ACG_ANTLR3.g:280:139: ( (temp= statement ( (temp= statement ) )* ) )?
{
// ACG_ANTLR3.g:280:139: ( (temp= statement ( (temp= statement ) )* ) )?
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==NAME||LA37_0==LSQUARE||LA37_0==50||LA37_0==52||LA37_0==54||LA37_0==56||(LA37_0>=58 && LA37_0<=60)||(LA37_0>=64 && LA37_0<=89)) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// ACG_ANTLR3.g:280:140: (temp= statement ( (temp= statement ) )* )
{
// ACG_ANTLR3.g:280:140: (temp= statement ( (temp= statement ) )* )
// ACG_ANTLR3.g:280:141: temp= statement ( (temp= statement ) )*
{
pushFollow(FOLLOW_statement_in_analyzeStat1832);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
// ACG_ANTLR3.g:280:191: ( (temp= statement ) )*
loop36:
do {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==NAME||LA36_0==LSQUARE||LA36_0==50||LA36_0==52||LA36_0==54||LA36_0==56||(LA36_0>=58 && LA36_0<=60)||(LA36_0>=64 && LA36_0<=89)) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// ACG_ANTLR3.g:280:192: (temp= statement )
{
// ACG_ANTLR3.g:280:192: (temp= statement )
// ACG_ANTLR3.g:280:193: temp= statement
{
pushFollow(FOLLOW_statement_in_analyzeStat1840);
temp=statement();
state._fsp--;
ei.set(ret, "statements", temp);
}
}
break;
default :
break loop36;
}
} while (true);
}
}
break;
}
}
}
match(input,RCURLY,FOLLOW_RCURLY_in_analyzeStat1852);
}
}
break;
case 2 :
// ACG_ANTLR3.g:280:263: ()
{
// ACG_ANTLR3.g:280:263: ()
// ACG_ANTLR3.g:280:264:
{
}
}
break;
}
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "analyzeStat"
// $ANTLR start "reportStat"
// ACG_ANTLR3.g:290:1: reportStat returns [Object ret2] : ( 'report' temp= severity temp= expression ) ;
public final Object reportStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("ReportStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:291:2: ( ( 'report' temp= severity temp= expression ) )
// ACG_ANTLR3.g:291:4: ( 'report' temp= severity temp= expression )
{
// ACG_ANTLR3.g:291:4: ( 'report' temp= severity temp= expression )
// ACG_ANTLR3.g:291:5: 'report' temp= severity temp= expression
{
match(input,60,FOLLOW_60_in_reportStat1894);
pushFollow(FOLLOW_severity_in_reportStat1898);
temp=severity();
state._fsp--;
ei.set(ret, "severity", temp);
pushFollow(FOLLOW_expression_in_reportStat1904);
temp=expression();
state._fsp--;
ei.set(ret, "message", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "reportStat"
// $ANTLR start "severity"
// ACG_ANTLR3.g:301:1: severity returns [Object ret2] : ( ( 'critic' ) | ( 'error' ) | ( 'warning' ) ) ;
public final Object severity() throws RecognitionException {
Object ret2 = null;
java.lang.Object ret=null;
try {
// ACG_ANTLR3.g:302:2: ( ( ( 'critic' ) | ( 'error' ) | ( 'warning' ) ) )
// ACG_ANTLR3.g:302:4: ( ( 'critic' ) | ( 'error' ) | ( 'warning' ) )
{
// ACG_ANTLR3.g:302:4: ( ( 'critic' ) | ( 'error' ) | ( 'warning' ) )
int alt39=3;
switch ( input.LA(1) ) {
case 61:
{
alt39=1;
}
break;
case 62:
{
alt39=2;
}
break;
case 63:
{
alt39=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1 :
// ACG_ANTLR3.g:302:5: ( 'critic' )
{
// ACG_ANTLR3.g:302:5: ( 'critic' )
// ACG_ANTLR3.g:302:6: 'critic'
{
match(input,61,FOLLOW_61_in_severity1939);
}
ret = ei.createEnumLiteral("critic");
}
break;
case 2 :
// ACG_ANTLR3.g:302:57: ( 'error' )
{
// ACG_ANTLR3.g:302:57: ( 'error' )
// ACG_ANTLR3.g:302:58: 'error'
{
match(input,62,FOLLOW_62_in_severity1946);
}
ret = ei.createEnumLiteral("error");
}
break;
case 3 :
// ACG_ANTLR3.g:302:107: ( 'warning' )
{
// ACG_ANTLR3.g:302:107: ( 'warning' )
// ACG_ANTLR3.g:302:108: 'warning'
{
match(input,63,FOLLOW_63_in_severity1953);
}
ret = ei.createEnumLiteral("warning");
}
break;
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "severity"
// $ANTLR start "fieldStat"
// ACG_ANTLR3.g:309:1: fieldStat returns [Object ret2] : ( 'field' temp= expression COLON temp= expression ) ;
public final Object fieldStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("FieldStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:310:2: ( ( 'field' temp= expression COLON temp= expression ) )
// ACG_ANTLR3.g:310:4: ( 'field' temp= expression COLON temp= expression )
{
// ACG_ANTLR3.g:310:4: ( 'field' temp= expression COLON temp= expression )
// ACG_ANTLR3.g:310:5: 'field' temp= expression COLON temp= expression
{
match(input,64,FOLLOW_64_in_fieldStat1988);
pushFollow(FOLLOW_expression_in_fieldStat1992);
temp=expression();
state._fsp--;
ei.set(ret, "name", temp);
match(input,COLON,FOLLOW_COLON_in_fieldStat1996);
pushFollow(FOLLOW_expression_in_fieldStat2000);
temp=expression();
state._fsp--;
ei.set(ret, "type", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "fieldStat"
// $ANTLR start "paramStat"
// ACG_ANTLR3.g:320:1: paramStat returns [Object ret2] : ( 'param' temp= expression COLON temp= expression ) ;
public final Object paramStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("ParamStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:321:2: ( ( 'param' temp= expression COLON temp= expression ) )
// ACG_ANTLR3.g:321:4: ( 'param' temp= expression COLON temp= expression )
{
// ACG_ANTLR3.g:321:4: ( 'param' temp= expression COLON temp= expression )
// ACG_ANTLR3.g:321:5: 'param' temp= expression COLON temp= expression
{
match(input,65,FOLLOW_65_in_paramStat2034);
pushFollow(FOLLOW_expression_in_paramStat2038);
temp=expression();
state._fsp--;
ei.set(ret, "name", temp);
match(input,COLON,FOLLOW_COLON_in_paramStat2042);
pushFollow(FOLLOW_expression_in_paramStat2046);
temp=expression();
state._fsp--;
ei.set(ret, "type", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "paramStat"
// $ANTLR start "emitStat"
// ACG_ANTLR3.g:331:1: emitStat returns [Object ret2] : ( (ret= labelStat | ret= newStat | ret= newinStat | ret= deleteStat | ret= dupStat | ret= dupX1Stat | ret= popStat | ret= swapStat | ret= iterateStat | ret= endIterateStat | ret= getAsmStat | ret= findMEStat | ret= pushTStat | ret= pushFStat | ret= emitWithOperandStat | ret= emitWithLabelRefStat ) ) ;
public final Object emitStat() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:332:2: ( ( (ret= labelStat | ret= newStat | ret= newinStat | ret= deleteStat | ret= dupStat | ret= dupX1Stat | ret= popStat | ret= swapStat | ret= iterateStat | ret= endIterateStat | ret= getAsmStat | ret= findMEStat | ret= pushTStat | ret= pushFStat | ret= emitWithOperandStat | ret= emitWithLabelRefStat ) ) )
// ACG_ANTLR3.g:332:4: ( (ret= labelStat | ret= newStat | ret= newinStat | ret= deleteStat | ret= dupStat | ret= dupX1Stat | ret= popStat | ret= swapStat | ret= iterateStat | ret= endIterateStat | ret= getAsmStat | ret= findMEStat | ret= pushTStat | ret= pushFStat | ret= emitWithOperandStat | ret= emitWithLabelRefStat ) )
{
// ACG_ANTLR3.g:332:4: ( (ret= labelStat | ret= newStat | ret= newinStat | ret= deleteStat | ret= dupStat | ret= dupX1Stat | ret= popStat | ret= swapStat | ret= iterateStat | ret= endIterateStat | ret= getAsmStat | ret= findMEStat | ret= pushTStat | ret= pushFStat | ret= emitWithOperandStat | ret= emitWithLabelRefStat ) )
// ACG_ANTLR3.g:332:5: (ret= labelStat | ret= newStat | ret= newinStat | ret= deleteStat | ret= dupStat | ret= dupX1Stat | ret= popStat | ret= swapStat | ret= iterateStat | ret= endIterateStat | ret= getAsmStat | ret= findMEStat | ret= pushTStat | ret= pushFStat | ret= emitWithOperandStat | ret= emitWithLabelRefStat )
{
// ACG_ANTLR3.g:332:5: (ret= labelStat | ret= newStat | ret= newinStat | ret= deleteStat | ret= dupStat | ret= dupX1Stat | ret= popStat | ret= swapStat | ret= iterateStat | ret= endIterateStat | ret= getAsmStat | ret= findMEStat | ret= pushTStat | ret= pushFStat | ret= emitWithOperandStat | ret= emitWithLabelRefStat )
int alt40=16;
switch ( input.LA(1) ) {
case NAME:
{
alt40=1;
}
break;
case 66:
{
alt40=2;
}
break;
case 67:
{
alt40=3;
}
break;
case 68:
{
alt40=4;
}
break;
case 69:
{
alt40=5;
}
break;
case 70:
{
alt40=6;
}
break;
case 71:
{
alt40=7;
}
break;
case 72:
{
alt40=8;
}
break;
case 73:
{
alt40=9;
}
break;
case 74:
{
alt40=10;
}
break;
case 75:
{
alt40=11;
}
break;
case 76:
{
alt40=12;
}
break;
case 77:
{
alt40=13;
}
break;
case 78:
{
alt40=14;
}
break;
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
{
alt40=15;
}
break;
case 56:
case 89:
{
alt40=16;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 40, 0, input);
throw nvae;
}
switch (alt40) {
case 1 :
// ACG_ANTLR3.g:332:6: ret= labelStat
{
pushFollow(FOLLOW_labelStat_in_emitStat2083);
ret=labelStat();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:332:21: ret= newStat
{
pushFollow(FOLLOW_newStat_in_emitStat2088);
ret=newStat();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:332:34: ret= newinStat
{
pushFollow(FOLLOW_newinStat_in_emitStat2093);
ret=newinStat();
state._fsp--;
}
break;
case 4 :
// ACG_ANTLR3.g:332:49: ret= deleteStat
{
pushFollow(FOLLOW_deleteStat_in_emitStat2098);
ret=deleteStat();
state._fsp--;
}
break;
case 5 :
// ACG_ANTLR3.g:332:65: ret= dupStat
{
pushFollow(FOLLOW_dupStat_in_emitStat2103);
ret=dupStat();
state._fsp--;
}
break;
case 6 :
// ACG_ANTLR3.g:332:78: ret= dupX1Stat
{
pushFollow(FOLLOW_dupX1Stat_in_emitStat2108);
ret=dupX1Stat();
state._fsp--;
}
break;
case 7 :
// ACG_ANTLR3.g:332:93: ret= popStat
{
pushFollow(FOLLOW_popStat_in_emitStat2113);
ret=popStat();
state._fsp--;
}
break;
case 8 :
// ACG_ANTLR3.g:332:106: ret= swapStat
{
pushFollow(FOLLOW_swapStat_in_emitStat2118);
ret=swapStat();
state._fsp--;
}
break;
case 9 :
// ACG_ANTLR3.g:332:120: ret= iterateStat
{
pushFollow(FOLLOW_iterateStat_in_emitStat2123);
ret=iterateStat();
state._fsp--;
}
break;
case 10 :
// ACG_ANTLR3.g:332:137: ret= endIterateStat
{
pushFollow(FOLLOW_endIterateStat_in_emitStat2128);
ret=endIterateStat();
state._fsp--;
}
break;
case 11 :
// ACG_ANTLR3.g:332:157: ret= getAsmStat
{
pushFollow(FOLLOW_getAsmStat_in_emitStat2133);
ret=getAsmStat();
state._fsp--;
}
break;
case 12 :
// ACG_ANTLR3.g:332:173: ret= findMEStat
{
pushFollow(FOLLOW_findMEStat_in_emitStat2138);
ret=findMEStat();
state._fsp--;
}
break;
case 13 :
// ACG_ANTLR3.g:332:189: ret= pushTStat
{
pushFollow(FOLLOW_pushTStat_in_emitStat2143);
ret=pushTStat();
state._fsp--;
}
break;
case 14 :
// ACG_ANTLR3.g:332:204: ret= pushFStat
{
pushFollow(FOLLOW_pushFStat_in_emitStat2148);
ret=pushFStat();
state._fsp--;
}
break;
case 15 :
// ACG_ANTLR3.g:332:219: ret= emitWithOperandStat
{
pushFollow(FOLLOW_emitWithOperandStat_in_emitStat2153);
ret=emitWithOperandStat();
state._fsp--;
}
break;
case 16 :
// ACG_ANTLR3.g:332:244: ret= emitWithLabelRefStat
{
pushFollow(FOLLOW_emitWithLabelRefStat_in_emitStat2158);
ret=emitWithLabelRefStat();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "emitStat"
// $ANTLR start "labelStat"
// ACG_ANTLR3.g:340:1: labelStat returns [Object ret2] : (temp= identifier ( ( LPAREN temp= expression RPAREN ) | () ) COLON ) ;
public final Object labelStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("LabelStat", false, true) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:341:2: ( (temp= identifier ( ( LPAREN temp= expression RPAREN ) | () ) COLON ) )
// ACG_ANTLR3.g:341:4: (temp= identifier ( ( LPAREN temp= expression RPAREN ) | () ) COLON )
{
// ACG_ANTLR3.g:341:4: (temp= identifier ( ( LPAREN temp= expression RPAREN ) | () ) COLON )
// ACG_ANTLR3.g:341:5: temp= identifier ( ( LPAREN temp= expression RPAREN ) | () ) COLON
{
pushFollow(FOLLOW_identifier_in_labelStat2193);
temp=identifier();
state._fsp--;
ei.set(ret, "name", temp);
// ACG_ANTLR3.g:341:50: ( ( LPAREN temp= expression RPAREN ) | () )
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==LPAREN) ) {
alt41=1;
}
else if ( (LA41_0==COLON) ) {
alt41=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 41, 0, input);
throw nvae;
}
switch (alt41) {
case 1 :
// ACG_ANTLR3.g:341:51: ( LPAREN temp= expression RPAREN )
{
// ACG_ANTLR3.g:341:51: ( LPAREN temp= expression RPAREN )
// ACG_ANTLR3.g:341:52: LPAREN temp= expression RPAREN
{
match(input,LPAREN,FOLLOW_LPAREN_in_labelStat2199);
pushFollow(FOLLOW_expression_in_labelStat2203);
temp=expression();
state._fsp--;
ei.set(ret, "id", temp);
match(input,RPAREN,FOLLOW_RPAREN_in_labelStat2207);
}
}
break;
case 2 :
// ACG_ANTLR3.g:341:114: ()
{
// ACG_ANTLR3.g:341:114: ()
// ACG_ANTLR3.g:341:115:
{
}
}
break;
}
match(input,COLON,FOLLOW_COLON_in_labelStat2219);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "labelStat"
// $ANTLR start "newStat"
// ACG_ANTLR3.g:351:1: newStat returns [Object ret2] : ( 'new' ) ;
public final Object newStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("NewStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:352:2: ( ( 'new' ) )
// ACG_ANTLR3.g:352:4: ( 'new' )
{
// ACG_ANTLR3.g:352:4: ( 'new' )
// ACG_ANTLR3.g:352:5: 'new'
{
match(input,66,FOLLOW_66_in_newStat2251);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "newStat"
// $ANTLR start "newinStat"
// ACG_ANTLR3.g:362:1: newinStat returns [Object ret2] : ( 'newin' ) ;
public final Object newinStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("NewinStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:363:2: ( ( 'newin' ) )
// ACG_ANTLR3.g:363:4: ( 'newin' )
{
// ACG_ANTLR3.g:363:4: ( 'newin' )
// ACG_ANTLR3.g:363:5: 'newin'
{
match(input,67,FOLLOW_67_in_newinStat2283);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "newinStat"
// $ANTLR start "deleteStat"
// ACG_ANTLR3.g:373:1: deleteStat returns [Object ret2] : ( 'delete' ) ;
public final Object deleteStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("DeleteStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:374:2: ( ( 'delete' ) )
// ACG_ANTLR3.g:374:4: ( 'delete' )
{
// ACG_ANTLR3.g:374:4: ( 'delete' )
// ACG_ANTLR3.g:374:5: 'delete'
{
match(input,68,FOLLOW_68_in_deleteStat2315);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "deleteStat"
// $ANTLR start "dupStat"
// ACG_ANTLR3.g:384:1: dupStat returns [Object ret2] : ( 'dup' ) ;
public final Object dupStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("DupStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:385:2: ( ( 'dup' ) )
// ACG_ANTLR3.g:385:4: ( 'dup' )
{
// ACG_ANTLR3.g:385:4: ( 'dup' )
// ACG_ANTLR3.g:385:5: 'dup'
{
match(input,69,FOLLOW_69_in_dupStat2347);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "dupStat"
// $ANTLR start "dupX1Stat"
// ACG_ANTLR3.g:395:1: dupX1Stat returns [Object ret2] : ( 'dup_x1' ) ;
public final Object dupX1Stat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("DupX1Stat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:396:2: ( ( 'dup_x1' ) )
// ACG_ANTLR3.g:396:4: ( 'dup_x1' )
{
// ACG_ANTLR3.g:396:4: ( 'dup_x1' )
// ACG_ANTLR3.g:396:5: 'dup_x1'
{
match(input,70,FOLLOW_70_in_dupX1Stat2379);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "dupX1Stat"
// $ANTLR start "popStat"
// ACG_ANTLR3.g:406:1: popStat returns [Object ret2] : ( 'pop' ) ;
public final Object popStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("PopStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:407:2: ( ( 'pop' ) )
// ACG_ANTLR3.g:407:4: ( 'pop' )
{
// ACG_ANTLR3.g:407:4: ( 'pop' )
// ACG_ANTLR3.g:407:5: 'pop'
{
match(input,71,FOLLOW_71_in_popStat2411);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "popStat"
// $ANTLR start "swapStat"
// ACG_ANTLR3.g:417:1: swapStat returns [Object ret2] : ( 'swap' ) ;
public final Object swapStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("SwapStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:418:2: ( ( 'swap' ) )
// ACG_ANTLR3.g:418:4: ( 'swap' )
{
// ACG_ANTLR3.g:418:4: ( 'swap' )
// ACG_ANTLR3.g:418:5: 'swap'
{
match(input,72,FOLLOW_72_in_swapStat2443);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "swapStat"
// $ANTLR start "iterateStat"
// ACG_ANTLR3.g:428:1: iterateStat returns [Object ret2] : ( 'iterate' ) ;
public final Object iterateStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("IterateStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:429:2: ( ( 'iterate' ) )
// ACG_ANTLR3.g:429:4: ( 'iterate' )
{
// ACG_ANTLR3.g:429:4: ( 'iterate' )
// ACG_ANTLR3.g:429:5: 'iterate'
{
match(input,73,FOLLOW_73_in_iterateStat2475);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "iterateStat"
// $ANTLR start "endIterateStat"
// ACG_ANTLR3.g:439:1: endIterateStat returns [Object ret2] : ( 'enditerate' ) ;
public final Object endIterateStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("EndIterateStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:440:2: ( ( 'enditerate' ) )
// ACG_ANTLR3.g:440:4: ( 'enditerate' )
{
// ACG_ANTLR3.g:440:4: ( 'enditerate' )
// ACG_ANTLR3.g:440:5: 'enditerate'
{
match(input,74,FOLLOW_74_in_endIterateStat2507);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "endIterateStat"
// $ANTLR start "getAsmStat"
// ACG_ANTLR3.g:450:1: getAsmStat returns [Object ret2] : ( 'getasm' ) ;
public final Object getAsmStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("GetAsmStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:451:2: ( ( 'getasm' ) )
// ACG_ANTLR3.g:451:4: ( 'getasm' )
{
// ACG_ANTLR3.g:451:4: ( 'getasm' )
// ACG_ANTLR3.g:451:5: 'getasm'
{
match(input,75,FOLLOW_75_in_getAsmStat2539);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "getAsmStat"
// $ANTLR start "findMEStat"
// ACG_ANTLR3.g:461:1: findMEStat returns [Object ret2] : ( 'findme' ) ;
public final Object findMEStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("FindMEStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:462:2: ( ( 'findme' ) )
// ACG_ANTLR3.g:462:4: ( 'findme' )
{
// ACG_ANTLR3.g:462:4: ( 'findme' )
// ACG_ANTLR3.g:462:5: 'findme'
{
match(input,76,FOLLOW_76_in_findMEStat2571);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "findMEStat"
// $ANTLR start "pushTStat"
// ACG_ANTLR3.g:472:1: pushTStat returns [Object ret2] : ( 'pusht' ) ;
public final Object pushTStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("PushTStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:473:2: ( ( 'pusht' ) )
// ACG_ANTLR3.g:473:4: ( 'pusht' )
{
// ACG_ANTLR3.g:473:4: ( 'pusht' )
// ACG_ANTLR3.g:473:5: 'pusht'
{
match(input,77,FOLLOW_77_in_pushTStat2603);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "pushTStat"
// $ANTLR start "pushFStat"
// ACG_ANTLR3.g:483:1: pushFStat returns [Object ret2] : ( 'pushf' ) ;
public final Object pushFStat() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("PushFStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:484:2: ( ( 'pushf' ) )
// ACG_ANTLR3.g:484:4: ( 'pushf' )
{
// ACG_ANTLR3.g:484:4: ( 'pushf' )
// ACG_ANTLR3.g:484:5: 'pushf'
{
match(input,78,FOLLOW_78_in_pushFStat2635);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "pushFStat"
// $ANTLR start "emitWithOperandStat"
// ACG_ANTLR3.g:494:1: emitWithOperandStat returns [Object ret2] : ( (ret= pushStat | ret= pushIStat | ret= pushDStat | ret= loadStat | ret= storeStat | ret= callStat | ret= pCallStat | ret= superCallStat | ret= getStat | ret= setStat ) ) ;
public final Object emitWithOperandStat() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:495:2: ( ( (ret= pushStat | ret= pushIStat | ret= pushDStat | ret= loadStat | ret= storeStat | ret= callStat | ret= pCallStat | ret= superCallStat | ret= getStat | ret= setStat ) ) )
// ACG_ANTLR3.g:495:4: ( (ret= pushStat | ret= pushIStat | ret= pushDStat | ret= loadStat | ret= storeStat | ret= callStat | ret= pCallStat | ret= superCallStat | ret= getStat | ret= setStat ) )
{
// ACG_ANTLR3.g:495:4: ( (ret= pushStat | ret= pushIStat | ret= pushDStat | ret= loadStat | ret= storeStat | ret= callStat | ret= pCallStat | ret= superCallStat | ret= getStat | ret= setStat ) )
// ACG_ANTLR3.g:495:5: (ret= pushStat | ret= pushIStat | ret= pushDStat | ret= loadStat | ret= storeStat | ret= callStat | ret= pCallStat | ret= superCallStat | ret= getStat | ret= setStat )
{
// ACG_ANTLR3.g:495:5: (ret= pushStat | ret= pushIStat | ret= pushDStat | ret= loadStat | ret= storeStat | ret= callStat | ret= pCallStat | ret= superCallStat | ret= getStat | ret= setStat )
int alt42=10;
switch ( input.LA(1) ) {
case 79:
{
alt42=1;
}
break;
case 80:
{
alt42=2;
}
break;
case 81:
{
alt42=3;
}
break;
case 82:
{
alt42=4;
}
break;
case 83:
{
alt42=5;
}
break;
case 84:
{
alt42=6;
}
break;
case 85:
{
alt42=7;
}
break;
case 86:
{
alt42=8;
}
break;
case 87:
{
alt42=9;
}
break;
case 88:
{
alt42=10;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 42, 0, input);
throw nvae;
}
switch (alt42) {
case 1 :
// ACG_ANTLR3.g:495:6: ret= pushStat
{
pushFollow(FOLLOW_pushStat_in_emitWithOperandStat2670);
ret=pushStat();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:495:20: ret= pushIStat
{
pushFollow(FOLLOW_pushIStat_in_emitWithOperandStat2675);
ret=pushIStat();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:495:35: ret= pushDStat
{
pushFollow(FOLLOW_pushDStat_in_emitWithOperandStat2680);
ret=pushDStat();
state._fsp--;
}
break;
case 4 :
// ACG_ANTLR3.g:495:50: ret= loadStat
{
pushFollow(FOLLOW_loadStat_in_emitWithOperandStat2685);
ret=loadStat();
state._fsp--;
}
break;
case 5 :
// ACG_ANTLR3.g:495:64: ret= storeStat
{
pushFollow(FOLLOW_storeStat_in_emitWithOperandStat2690);
ret=storeStat();
state._fsp--;
}
break;
case 6 :
// ACG_ANTLR3.g:495:79: ret= callStat
{
pushFollow(FOLLOW_callStat_in_emitWithOperandStat2695);
ret=callStat();
state._fsp--;
}
break;
case 7 :
// ACG_ANTLR3.g:495:93: ret= pCallStat
{
pushFollow(FOLLOW_pCallStat_in_emitWithOperandStat2700);
ret=pCallStat();
state._fsp--;
}
break;
case 8 :
// ACG_ANTLR3.g:495:108: ret= superCallStat
{
pushFollow(FOLLOW_superCallStat_in_emitWithOperandStat2705);
ret=superCallStat();
state._fsp--;
}
break;
case 9 :
// ACG_ANTLR3.g:495:127: ret= getStat
{
pushFollow(FOLLOW_getStat_in_emitWithOperandStat2710);
ret=getStat();
state._fsp--;
}
break;
case 10 :
// ACG_ANTLR3.g:495:140: ret= setStat
{
pushFollow(FOLLOW_setStat_in_emitWithOperandStat2715);
ret=setStat();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "emitWithOperandStat"
// $ANTLR start "pushStat"
// ACG_ANTLR3.g:503:1: pushStat returns [Object ret2] : ( 'push' temp= expression ) ;
public final Object pushStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("PushStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:504:2: ( ( 'push' temp= expression ) )
// ACG_ANTLR3.g:504:4: ( 'push' temp= expression )
{
// ACG_ANTLR3.g:504:4: ( 'push' temp= expression )
// ACG_ANTLR3.g:504:5: 'push' temp= expression
{
match(input,79,FOLLOW_79_in_pushStat2748);
pushFollow(FOLLOW_expression_in_pushStat2752);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "pushStat"
// $ANTLR start "pushIStat"
// ACG_ANTLR3.g:514:1: pushIStat returns [Object ret2] : ( 'pushi' temp= expression ) ;
public final Object pushIStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("PushIStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:515:2: ( ( 'pushi' temp= expression ) )
// ACG_ANTLR3.g:515:4: ( 'pushi' temp= expression )
{
// ACG_ANTLR3.g:515:4: ( 'pushi' temp= expression )
// ACG_ANTLR3.g:515:5: 'pushi' temp= expression
{
match(input,80,FOLLOW_80_in_pushIStat2786);
pushFollow(FOLLOW_expression_in_pushIStat2790);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "pushIStat"
// $ANTLR start "pushDStat"
// ACG_ANTLR3.g:525:1: pushDStat returns [Object ret2] : ( 'pushd' temp= expression ) ;
public final Object pushDStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("PushDStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:526:2: ( ( 'pushd' temp= expression ) )
// ACG_ANTLR3.g:526:4: ( 'pushd' temp= expression )
{
// ACG_ANTLR3.g:526:4: ( 'pushd' temp= expression )
// ACG_ANTLR3.g:526:5: 'pushd' temp= expression
{
match(input,81,FOLLOW_81_in_pushDStat2824);
pushFollow(FOLLOW_expression_in_pushDStat2828);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "pushDStat"
// $ANTLR start "loadStat"
// ACG_ANTLR3.g:536:1: loadStat returns [Object ret2] : ( 'load' temp= expression ) ;
public final Object loadStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("LoadStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:537:2: ( ( 'load' temp= expression ) )
// ACG_ANTLR3.g:537:4: ( 'load' temp= expression )
{
// ACG_ANTLR3.g:537:4: ( 'load' temp= expression )
// ACG_ANTLR3.g:537:5: 'load' temp= expression
{
match(input,82,FOLLOW_82_in_loadStat2862);
pushFollow(FOLLOW_expression_in_loadStat2866);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "loadStat"
// $ANTLR start "storeStat"
// ACG_ANTLR3.g:547:1: storeStat returns [Object ret2] : ( 'store' temp= expression ) ;
public final Object storeStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("StoreStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:548:2: ( ( 'store' temp= expression ) )
// ACG_ANTLR3.g:548:4: ( 'store' temp= expression )
{
// ACG_ANTLR3.g:548:4: ( 'store' temp= expression )
// ACG_ANTLR3.g:548:5: 'store' temp= expression
{
match(input,83,FOLLOW_83_in_storeStat2900);
pushFollow(FOLLOW_expression_in_storeStat2904);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "storeStat"
// $ANTLR start "callStat"
// ACG_ANTLR3.g:558:1: callStat returns [Object ret2] : ( 'call' temp= expression ) ;
public final Object callStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("CallStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:559:2: ( ( 'call' temp= expression ) )
// ACG_ANTLR3.g:559:4: ( 'call' temp= expression )
{
// ACG_ANTLR3.g:559:4: ( 'call' temp= expression )
// ACG_ANTLR3.g:559:5: 'call' temp= expression
{
match(input,84,FOLLOW_84_in_callStat2938);
pushFollow(FOLLOW_expression_in_callStat2942);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "callStat"
// $ANTLR start "pCallStat"
// ACG_ANTLR3.g:569:1: pCallStat returns [Object ret2] : ( 'pcall' temp= expression ) ;
public final Object pCallStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("PCallStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:570:2: ( ( 'pcall' temp= expression ) )
// ACG_ANTLR3.g:570:4: ( 'pcall' temp= expression )
{
// ACG_ANTLR3.g:570:4: ( 'pcall' temp= expression )
// ACG_ANTLR3.g:570:5: 'pcall' temp= expression
{
match(input,85,FOLLOW_85_in_pCallStat2976);
pushFollow(FOLLOW_expression_in_pCallStat2980);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "pCallStat"
// $ANTLR start "superCallStat"
// ACG_ANTLR3.g:580:1: superCallStat returns [Object ret2] : ( 'supercall' temp= expression ) ;
public final Object superCallStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("SuperCallStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:581:2: ( ( 'supercall' temp= expression ) )
// ACG_ANTLR3.g:581:4: ( 'supercall' temp= expression )
{
// ACG_ANTLR3.g:581:4: ( 'supercall' temp= expression )
// ACG_ANTLR3.g:581:5: 'supercall' temp= expression
{
match(input,86,FOLLOW_86_in_superCallStat3014);
pushFollow(FOLLOW_expression_in_superCallStat3018);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "superCallStat"
// $ANTLR start "getStat"
// ACG_ANTLR3.g:591:1: getStat returns [Object ret2] : ( 'get' temp= expression ) ;
public final Object getStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("GetStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:592:2: ( ( 'get' temp= expression ) )
// ACG_ANTLR3.g:592:4: ( 'get' temp= expression )
{
// ACG_ANTLR3.g:592:4: ( 'get' temp= expression )
// ACG_ANTLR3.g:592:5: 'get' temp= expression
{
match(input,87,FOLLOW_87_in_getStat3052);
pushFollow(FOLLOW_expression_in_getStat3056);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "getStat"
// $ANTLR start "setStat"
// ACG_ANTLR3.g:602:1: setStat returns [Object ret2] : ( 'set' temp= expression ) ;
public final Object setStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("SetStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:603:2: ( ( 'set' temp= expression ) )
// ACG_ANTLR3.g:603:4: ( 'set' temp= expression )
{
// ACG_ANTLR3.g:603:4: ( 'set' temp= expression )
// ACG_ANTLR3.g:603:5: 'set' temp= expression
{
match(input,88,FOLLOW_88_in_setStat3090);
pushFollow(FOLLOW_expression_in_setStat3094);
temp=expression();
state._fsp--;
ei.set(ret, "operand", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "setStat"
// $ANTLR start "emitWithLabelRefStat"
// ACG_ANTLR3.g:613:1: emitWithLabelRefStat returns [Object ret2] : ( (ret= gotoStat | ret= ifStat ) ) ;
public final Object emitWithLabelRefStat() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:614:2: ( ( (ret= gotoStat | ret= ifStat ) ) )
// ACG_ANTLR3.g:614:4: ( (ret= gotoStat | ret= ifStat ) )
{
// ACG_ANTLR3.g:614:4: ( (ret= gotoStat | ret= ifStat ) )
// ACG_ANTLR3.g:614:5: (ret= gotoStat | ret= ifStat )
{
// ACG_ANTLR3.g:614:5: (ret= gotoStat | ret= ifStat )
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==89) ) {
alt43=1;
}
else if ( (LA43_0==56) ) {
alt43=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 43, 0, input);
throw nvae;
}
switch (alt43) {
case 1 :
// ACG_ANTLR3.g:614:6: ret= gotoStat
{
pushFollow(FOLLOW_gotoStat_in_emitWithLabelRefStat3131);
ret=gotoStat();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:614:20: ret= ifStat
{
pushFollow(FOLLOW_ifStat_in_emitWithLabelRefStat3136);
ret=ifStat();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "emitWithLabelRefStat"
// $ANTLR start "gotoStat"
// ACG_ANTLR3.g:622:1: gotoStat returns [Object ret2] : ( 'goto' temp= identifier ) ;
public final Object gotoStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("GotoStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:623:2: ( ( 'goto' temp= identifier ) )
// ACG_ANTLR3.g:623:4: ( 'goto' temp= identifier )
{
// ACG_ANTLR3.g:623:4: ( 'goto' temp= identifier )
// ACG_ANTLR3.g:623:5: 'goto' temp= identifier
{
match(input,89,FOLLOW_89_in_gotoStat3169);
pushFollow(FOLLOW_identifier_in_gotoStat3173);
temp=identifier();
state._fsp--;
ei.setRef(ret, "label", "LabelStat", "name", temp, null, "never", null, false, null);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "gotoStat"
// $ANTLR start "ifStat"
// ACG_ANTLR3.g:633:1: ifStat returns [Object ret2] : ( 'if' temp= identifier ) ;
public final Object ifStat() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("IfStat", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:634:2: ( ( 'if' temp= identifier ) )
// ACG_ANTLR3.g:634:4: ( 'if' temp= identifier )
{
// ACG_ANTLR3.g:634:4: ( 'if' temp= identifier )
// ACG_ANTLR3.g:634:5: 'if' temp= identifier
{
match(input,56,FOLLOW_56_in_ifStat3207);
pushFollow(FOLLOW_identifier_in_ifStat3211);
temp=identifier();
state._fsp--;
ei.setRef(ret, "label", "LabelStat", "name", temp, null, "never", null, false, null);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "ifStat"
// $ANTLR start "variableDecl"
// ACG_ANTLR3.g:644:1: variableDecl returns [Object ret2] : (temp= identifier ) ;
public final Object variableDecl() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("VariableDecl", false, true) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:645:2: ( (temp= identifier ) )
// ACG_ANTLR3.g:645:4: (temp= identifier )
{
// ACG_ANTLR3.g:645:4: (temp= identifier )
// ACG_ANTLR3.g:645:5: temp= identifier
{
pushFollow(FOLLOW_identifier_in_variableDecl3247);
temp=identifier();
state._fsp--;
ei.set(ret, "name", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "variableDecl"
// $ANTLR start "expression"
// ACG_ANTLR3.g:655:1: expression returns [Object ret2] : (ret= priority_5 | ret= letExp ) ;
public final Object expression() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:656:2: ( (ret= priority_5 | ret= letExp ) )
// ACG_ANTLR3.g:656:4: (ret= priority_5 | ret= letExp )
{
// ACG_ANTLR3.g:656:4: (ret= priority_5 | ret= letExp )
int alt44=2;
int LA44_0 = input.LA(1);
if ( ((LA44_0>=NAME && LA44_0<=INT)||LA44_0==LPAREN||LA44_0==MINUS||LA44_0==56||(LA44_0>=90 && LA44_0<=91)||(LA44_0>=94 && LA44_0<=98)) ) {
alt44=1;
}
else if ( (LA44_0==58) ) {
alt44=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 44, 0, input);
throw nvae;
}
switch (alt44) {
case 1 :
// ACG_ANTLR3.g:656:5: ret= priority_5
{
pushFollow(FOLLOW_priority_5_in_expression3283);
ret=priority_5();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:656:21: ret= letExp
{
pushFollow(FOLLOW_letExp_in_expression3288);
ret=letExp();
state._fsp--;
}
break;
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "expression"
// $ANTLR start "variableExp"
// ACG_ANTLR3.g:663:1: variableExp returns [Object ret2] : (temp= identifier ) ;
public final Object variableExp() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("VariableExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:664:2: ( (temp= identifier ) )
// ACG_ANTLR3.g:664:4: (temp= identifier )
{
// ACG_ANTLR3.g:664:4: (temp= identifier )
// ACG_ANTLR3.g:664:5: temp= identifier
{
pushFollow(FOLLOW_identifier_in_variableExp3322);
temp=identifier();
state._fsp--;
ei.setRef(ret, "variable", "VariableDecl", "name", temp, null, "never", null, false, null);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "variableExp"
// $ANTLR start "selfExp"
// ACG_ANTLR3.g:674:1: selfExp returns [Object ret2] : ( 'self' ) ;
public final Object selfExp() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("SelfExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:675:2: ( ( 'self' ) )
// ACG_ANTLR3.g:675:4: ( 'self' )
{
// ACG_ANTLR3.g:675:4: ( 'self' )
// ACG_ANTLR3.g:675:5: 'self'
{
match(input,90,FOLLOW_90_in_selfExp3356);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "selfExp"
// $ANTLR start "lastExp"
// ACG_ANTLR3.g:685:1: lastExp returns [Object ret2] : ( 'last' ) ;
public final Object lastExp() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("LastExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:686:2: ( ( 'last' ) )
// ACG_ANTLR3.g:686:4: ( 'last' )
{
// ACG_ANTLR3.g:686:4: ( 'last' )
// ACG_ANTLR3.g:686:5: 'last'
{
match(input,91,FOLLOW_91_in_lastExp3388);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "lastExp"
// $ANTLR start "ifExp"
// ACG_ANTLR3.g:696:1: ifExp returns [Object ret2] : ( 'if' temp= expression 'then' temp= expression 'else' temp= expression 'endif' ) ;
public final Object ifExp() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("IfExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:697:2: ( ( 'if' temp= expression 'then' temp= expression 'else' temp= expression 'endif' ) )
// ACG_ANTLR3.g:697:4: ( 'if' temp= expression 'then' temp= expression 'else' temp= expression 'endif' )
{
// ACG_ANTLR3.g:697:4: ( 'if' temp= expression 'then' temp= expression 'else' temp= expression 'endif' )
// ACG_ANTLR3.g:697:5: 'if' temp= expression 'then' temp= expression 'else' temp= expression 'endif'
{
match(input,56,FOLLOW_56_in_ifExp3420);
pushFollow(FOLLOW_expression_in_ifExp3424);
temp=expression();
state._fsp--;
ei.set(ret, "condition", temp);
match(input,92,FOLLOW_92_in_ifExp3428);
pushFollow(FOLLOW_expression_in_ifExp3432);
temp=expression();
state._fsp--;
ei.set(ret, "thenExp", temp);
match(input,57,FOLLOW_57_in_ifExp3436);
pushFollow(FOLLOW_expression_in_ifExp3440);
temp=expression();
state._fsp--;
ei.set(ret, "elseExp", temp);
match(input,93,FOLLOW_93_in_ifExp3444);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "ifExp"
// $ANTLR start "isAExp"
// ACG_ANTLR3.g:707:1: isAExp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : (temp= identifier ) ;
public final Object isAExp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("IsAExp", false, false) : null;
try {
// ACG_ANTLR3.g:708:2: ( (temp= identifier ) )
// ACG_ANTLR3.g:708:4: (temp= identifier )
{
// ACG_ANTLR3.g:708:4: (temp= identifier )
// ACG_ANTLR3.g:708:5: temp= identifier
{
pushFollow(FOLLOW_identifier_in_isAExp3479);
temp=identifier();
state._fsp--;
ei.set(ret, "type", temp);
}
// discard operator name
ei.set(ret, "source", left);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ei.leaveContext(false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "isAExp"
// $ANTLR start "letExp"
// ACG_ANTLR3.g:720:1: letExp returns [Object ret2] : ( 'let' temp= variableDecl EQ temp= expression 'in' temp= expression ) ;
public final Object letExp() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("LetExp", true, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:721:2: ( ( 'let' temp= variableDecl EQ temp= expression 'in' temp= expression ) )
// ACG_ANTLR3.g:721:4: ( 'let' temp= variableDecl EQ temp= expression 'in' temp= expression )
{
// ACG_ANTLR3.g:721:4: ( 'let' temp= variableDecl EQ temp= expression 'in' temp= expression )
// ACG_ANTLR3.g:721:5: 'let' temp= variableDecl EQ temp= expression 'in' temp= expression
{
match(input,58,FOLLOW_58_in_letExp3513);
pushFollow(FOLLOW_variableDecl_in_letExp3517);
temp=variableDecl();
state._fsp--;
ei.set(ret, "variable", temp);
match(input,EQ,FOLLOW_EQ_in_letExp3521);
pushFollow(FOLLOW_expression_in_letExp3525);
temp=expression();
state._fsp--;
ei.set(ret, "value", temp);
match(input,51,FOLLOW_51_in_letExp3529);
pushFollow(FOLLOW_expression_in_letExp3533);
temp=expression();
state._fsp--;
ei.set(ret, "in", temp);
}
ei.leaveContext(true);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "letExp"
// $ANTLR start "navigationExp"
// ACG_ANTLR3.g:731:1: navigationExp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : (temp= identifierOrKeyword ) ;
public final Object navigationExp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("NavigationExp", false, false) : null;
try {
// ACG_ANTLR3.g:732:2: ( (temp= identifierOrKeyword ) )
// ACG_ANTLR3.g:732:4: (temp= identifierOrKeyword )
{
// ACG_ANTLR3.g:732:4: (temp= identifierOrKeyword )
// ACG_ANTLR3.g:732:5: temp= identifierOrKeyword
{
pushFollow(FOLLOW_identifierOrKeyword_in_navigationExp3570);
temp=identifierOrKeyword();
state._fsp--;
ei.set(ret, "name", temp);
}
// discard operator name
ei.set(ret, "source", left);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ei.leaveContext(false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "navigationExp"
// $ANTLR start "iteratorExp"
// ACG_ANTLR3.g:744:1: iteratorExp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : (temp= identifierOrKeyword LPAREN temp= variableDecl PIPE temp= expression RPAREN ) ;
public final Object iteratorExp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("IteratorExp", true, false) : null;
try {
// ACG_ANTLR3.g:745:2: ( (temp= identifierOrKeyword LPAREN temp= variableDecl PIPE temp= expression RPAREN ) )
// ACG_ANTLR3.g:745:4: (temp= identifierOrKeyword LPAREN temp= variableDecl PIPE temp= expression RPAREN )
{
// ACG_ANTLR3.g:745:4: (temp= identifierOrKeyword LPAREN temp= variableDecl PIPE temp= expression RPAREN )
// ACG_ANTLR3.g:745:5: temp= identifierOrKeyword LPAREN temp= variableDecl PIPE temp= expression RPAREN
{
pushFollow(FOLLOW_identifierOrKeyword_in_iteratorExp3607);
temp=identifierOrKeyword();
state._fsp--;
ei.set(ret, "name", temp);
match(input,LPAREN,FOLLOW_LPAREN_in_iteratorExp3611);
pushFollow(FOLLOW_variableDecl_in_iteratorExp3615);
temp=variableDecl();
state._fsp--;
ei.set(ret, "iterator", temp);
match(input,PIPE,FOLLOW_PIPE_in_iteratorExp3619);
pushFollow(FOLLOW_expression_in_iteratorExp3623);
temp=expression();
state._fsp--;
ei.set(ret, "body", temp);
match(input,RPAREN,FOLLOW_RPAREN_in_iteratorExp3627);
}
// discard operator name
ei.set(ret, "source", left);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ei.leaveContext(true);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "iteratorExp"
// $ANTLR start "operationCallExp"
// ACG_ANTLR3.g:757:1: operationCallExp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : (temp= identifierOrKeyword LPAREN ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RPAREN ) ;
public final Object operationCallExp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("OperationCallExp", false, false) : null;
try {
// ACG_ANTLR3.g:758:2: ( (temp= identifierOrKeyword LPAREN ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RPAREN ) )
// ACG_ANTLR3.g:758:4: (temp= identifierOrKeyword LPAREN ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RPAREN )
{
// ACG_ANTLR3.g:758:4: (temp= identifierOrKeyword LPAREN ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RPAREN )
// ACG_ANTLR3.g:758:5: temp= identifierOrKeyword LPAREN ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RPAREN
{
pushFollow(FOLLOW_identifierOrKeyword_in_operationCallExp3662);
temp=identifierOrKeyword();
state._fsp--;
ei.set(ret, "name", temp);
match(input,LPAREN,FOLLOW_LPAREN_in_operationCallExp3666);
// ACG_ANTLR3.g:758:66: ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )?
int alt46=2;
int LA46_0 = input.LA(1);
if ( ((LA46_0>=NAME && LA46_0<=INT)||LA46_0==LPAREN||LA46_0==MINUS||LA46_0==56||LA46_0==58||(LA46_0>=90 && LA46_0<=91)||(LA46_0>=94 && LA46_0<=98)) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// ACG_ANTLR3.g:758:67: (temp= expression ( ( ( COMA ) temp= expression ) )* )
{
// ACG_ANTLR3.g:758:67: (temp= expression ( ( ( COMA ) temp= expression ) )* )
// ACG_ANTLR3.g:758:68: temp= expression ( ( ( COMA ) temp= expression ) )*
{
pushFollow(FOLLOW_expression_in_operationCallExp3672);
temp=expression();
state._fsp--;
ei.set(ret, "arguments", temp);
// ACG_ANTLR3.g:758:118: ( ( ( COMA ) temp= expression ) )*
loop45:
do {
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==COMA) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// ACG_ANTLR3.g:758:119: ( ( COMA ) temp= expression )
{
// ACG_ANTLR3.g:758:119: ( ( COMA ) temp= expression )
// ACG_ANTLR3.g:758:120: ( COMA ) temp= expression
{
// ACG_ANTLR3.g:758:120: ( COMA )
// ACG_ANTLR3.g:758:121: COMA
{
match(input,COMA,FOLLOW_COMA_in_operationCallExp3679);
}
pushFollow(FOLLOW_expression_in_operationCallExp3684);
temp=expression();
state._fsp--;
ei.set(ret, "arguments", temp);
}
}
break;
default :
break loop45;
}
} while (true);
}
}
break;
}
match(input,RPAREN,FOLLOW_RPAREN_in_operationCallExp3694);
}
// discard operator name
ei.set(ret, "source", left);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ei.leaveContext(false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "operationCallExp"
// $ANTLR start "operatorCallExp"
// ACG_ANTLR3.g:770:1: operatorCallExp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : ;
public final Object operatorCallExp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("OperatorCallExp", false, false) : null;
try {
// ACG_ANTLR3.g:771:2: ()
// ACG_ANTLR3.g:772:9:
{
ei.set(ret, "name", opName);
ei.set(ret, "source", left);
// post actions performed in calling rule (i.e., priority_<n>)
ei.leaveContext(false);
ret2=ret;
}
}
finally {
}
return ret2;
}
// $ANTLR end "operatorCallExp"
// $ANTLR start "literalExp"
// ACG_ANTLR3.g:782:1: literalExp returns [Object ret2] : ( (ret= oclUndefinedExp | ret= collectionExp | ret= booleanExp | ret= integerExp | ret= stringExp ) ) ;
public final Object literalExp() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:783:2: ( ( (ret= oclUndefinedExp | ret= collectionExp | ret= booleanExp | ret= integerExp | ret= stringExp ) ) )
// ACG_ANTLR3.g:783:4: ( (ret= oclUndefinedExp | ret= collectionExp | ret= booleanExp | ret= integerExp | ret= stringExp ) )
{
// ACG_ANTLR3.g:783:4: ( (ret= oclUndefinedExp | ret= collectionExp | ret= booleanExp | ret= integerExp | ret= stringExp ) )
// ACG_ANTLR3.g:783:5: (ret= oclUndefinedExp | ret= collectionExp | ret= booleanExp | ret= integerExp | ret= stringExp )
{
// ACG_ANTLR3.g:783:5: (ret= oclUndefinedExp | ret= collectionExp | ret= booleanExp | ret= integerExp | ret= stringExp )
int alt47=5;
switch ( input.LA(1) ) {
case 94:
{
alt47=1;
}
break;
case 95:
{
alt47=2;
}
break;
case 96:
case 97:
{
alt47=3;
}
break;
case INT:
{
alt47=4;
}
break;
case STRING:
{
alt47=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 47, 0, input);
throw nvae;
}
switch (alt47) {
case 1 :
// ACG_ANTLR3.g:783:6: ret= oclUndefinedExp
{
pushFollow(FOLLOW_oclUndefinedExp_in_literalExp3758);
ret=oclUndefinedExp();
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:783:27: ret= collectionExp
{
pushFollow(FOLLOW_collectionExp_in_literalExp3763);
ret=collectionExp();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:783:46: ret= booleanExp
{
pushFollow(FOLLOW_booleanExp_in_literalExp3768);
ret=booleanExp();
state._fsp--;
}
break;
case 4 :
// ACG_ANTLR3.g:783:62: ret= integerExp
{
pushFollow(FOLLOW_integerExp_in_literalExp3773);
ret=integerExp();
state._fsp--;
}
break;
case 5 :
// ACG_ANTLR3.g:783:78: ret= stringExp
{
pushFollow(FOLLOW_stringExp_in_literalExp3778);
ret=stringExp();
state._fsp--;
}
break;
}
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "literalExp"
// $ANTLR start "oclUndefinedExp"
// ACG_ANTLR3.g:791:1: oclUndefinedExp returns [Object ret2] : ( 'OclUndefined' ) ;
public final Object oclUndefinedExp() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("OclUndefinedExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:792:2: ( ( 'OclUndefined' ) )
// ACG_ANTLR3.g:792:4: ( 'OclUndefined' )
{
// ACG_ANTLR3.g:792:4: ( 'OclUndefined' )
// ACG_ANTLR3.g:792:5: 'OclUndefined'
{
match(input,94,FOLLOW_94_in_oclUndefinedExp3811);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "oclUndefinedExp"
// $ANTLR start "collectionExp"
// ACG_ANTLR3.g:802:1: collectionExp returns [Object ret2] : (ret= sequenceExp ) ;
public final Object collectionExp() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:803:2: ( (ret= sequenceExp ) )
// ACG_ANTLR3.g:803:4: (ret= sequenceExp )
{
// ACG_ANTLR3.g:803:4: (ret= sequenceExp )
// ACG_ANTLR3.g:803:5: ret= sequenceExp
{
pushFollow(FOLLOW_sequenceExp_in_collectionExp3845);
ret=sequenceExp();
state._fsp--;
}
ei.addToContext(ret, false);
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "collectionExp"
// $ANTLR start "sequenceExp"
// ACG_ANTLR3.g:811:1: sequenceExp returns [Object ret2] : ( 'Sequence' LCURLY ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RCURLY ) ;
public final Object sequenceExp() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("SequenceExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:812:2: ( ( 'Sequence' LCURLY ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RCURLY ) )
// ACG_ANTLR3.g:812:4: ( 'Sequence' LCURLY ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RCURLY )
{
// ACG_ANTLR3.g:812:4: ( 'Sequence' LCURLY ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RCURLY )
// ACG_ANTLR3.g:812:5: 'Sequence' LCURLY ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )? RCURLY
{
match(input,95,FOLLOW_95_in_sequenceExp3877);
match(input,LCURLY,FOLLOW_LCURLY_in_sequenceExp3879);
// ACG_ANTLR3.g:812:23: ( (temp= expression ( ( ( COMA ) temp= expression ) )* ) )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( ((LA49_0>=NAME && LA49_0<=INT)||LA49_0==LPAREN||LA49_0==MINUS||LA49_0==56||LA49_0==58||(LA49_0>=90 && LA49_0<=91)||(LA49_0>=94 && LA49_0<=98)) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// ACG_ANTLR3.g:812:24: (temp= expression ( ( ( COMA ) temp= expression ) )* )
{
// ACG_ANTLR3.g:812:24: (temp= expression ( ( ( COMA ) temp= expression ) )* )
// ACG_ANTLR3.g:812:25: temp= expression ( ( ( COMA ) temp= expression ) )*
{
pushFollow(FOLLOW_expression_in_sequenceExp3885);
temp=expression();
state._fsp--;
ei.set(ret, "elements", temp);
// ACG_ANTLR3.g:812:74: ( ( ( COMA ) temp= expression ) )*
loop48:
do {
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==COMA) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// ACG_ANTLR3.g:812:75: ( ( COMA ) temp= expression )
{
// ACG_ANTLR3.g:812:75: ( ( COMA ) temp= expression )
// ACG_ANTLR3.g:812:76: ( COMA ) temp= expression
{
// ACG_ANTLR3.g:812:76: ( COMA )
// ACG_ANTLR3.g:812:77: COMA
{
match(input,COMA,FOLLOW_COMA_in_sequenceExp3892);
}
pushFollow(FOLLOW_expression_in_sequenceExp3897);
temp=expression();
state._fsp--;
ei.set(ret, "elements", temp);
}
}
break;
default :
break loop48;
}
} while (true);
}
}
break;
}
match(input,RCURLY,FOLLOW_RCURLY_in_sequenceExp3907);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "sequenceExp"
// $ANTLR start "booleanExp"
// ACG_ANTLR3.g:822:1: booleanExp returns [Object ret2] : ( ( ( 'true' ) | ( 'false' ) ) ) ;
public final Object booleanExp() throws RecognitionException {
Object ret2 = null;
Object ret=(state.backtracking==0) ? ei.create("BooleanExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:823:2: ( ( ( ( 'true' ) | ( 'false' ) ) ) )
// ACG_ANTLR3.g:823:4: ( ( ( 'true' ) | ( 'false' ) ) )
{
// ACG_ANTLR3.g:823:4: ( ( ( 'true' ) | ( 'false' ) ) )
// ACG_ANTLR3.g:823:5: ( ( 'true' ) | ( 'false' ) )
{
// ACG_ANTLR3.g:823:5: ( ( 'true' ) | ( 'false' ) )
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==96) ) {
alt50=1;
}
else if ( (LA50_0==97) ) {
alt50=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 50, 0, input);
throw nvae;
}
switch (alt50) {
case 1 :
// ACG_ANTLR3.g:823:6: ( 'true' )
{
// ACG_ANTLR3.g:823:6: ( 'true' )
// ACG_ANTLR3.g:823:7: 'true'
{
match(input,96,FOLLOW_96_in_booleanExp3941);
}
ei.set(ret, "value", java.lang.Boolean.TRUE);
}
break;
case 2 :
// ACG_ANTLR3.g:823:64: ( 'false' )
{
// ACG_ANTLR3.g:823:64: ( 'false' )
// ACG_ANTLR3.g:823:65: 'false'
{
match(input,97,FOLLOW_97_in_booleanExp3948);
}
ei.set(ret, "value", java.lang.Boolean.FALSE);
}
break;
}
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "booleanExp"
// $ANTLR start "integerExp"
// ACG_ANTLR3.g:833:1: integerExp returns [Object ret2] : (temp= integerSymbol ) ;
public final Object integerExp() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("IntegerExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:834:2: ( (temp= integerSymbol ) )
// ACG_ANTLR3.g:834:4: (temp= integerSymbol )
{
// ACG_ANTLR3.g:834:4: (temp= integerSymbol )
// ACG_ANTLR3.g:834:5: temp= integerSymbol
{
pushFollow(FOLLOW_integerSymbol_in_integerExp3986);
temp=integerSymbol();
state._fsp--;
ei.set(ret, "value", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "integerExp"
// $ANTLR start "stringExp"
// ACG_ANTLR3.g:844:1: stringExp returns [Object ret2] : (temp= stringSymbol ) ;
public final Object stringExp() throws RecognitionException {
Object ret2 = null;
Object temp = null;
Object ret=(state.backtracking==0) ? ei.create("StringExp", false, false) : null;org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:845:2: ( (temp= stringSymbol ) )
// ACG_ANTLR3.g:845:4: (temp= stringSymbol )
{
// ACG_ANTLR3.g:845:4: (temp= stringSymbol )
// ACG_ANTLR3.g:845:5: temp= stringSymbol
{
pushFollow(FOLLOW_stringSymbol_in_stringExp4022);
temp=stringSymbol();
state._fsp--;
ei.set(ret, "value", temp);
}
ei.leaveContext(false);
if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "stringExp"
// $ANTLR start "priority_0"
// ACG_ANTLR3.g:855:1: priority_0 returns [Object ret2] : (ret= primary_expression ( ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) ) )* ) ;
public final Object priority_0() throws RecognitionException {
Object ret2 = null;
Object ret = null;
java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:856:2: ( (ret= primary_expression ( ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) ) )* ) )
// ACG_ANTLR3.g:856:4: (ret= primary_expression ( ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) ) )* )
{
// ACG_ANTLR3.g:856:4: (ret= primary_expression ( ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) ) )* )
// ACG_ANTLR3.g:856:5: ret= primary_expression ( ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) ) )*
{
pushFollow(FOLLOW_primary_expression_in_priority_04058);
ret=primary_expression();
state._fsp--;
// ACG_ANTLR3.g:856:28: ( ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) ) )*
loop53:
do {
int alt53=2;
int LA53_0 = input.LA(1);
if ( ((LA53_0>=POINT && LA53_0<=RARROW)) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// ACG_ANTLR3.g:856:29: ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) )
{
// ACG_ANTLR3.g:856:29: ( ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) ) | ( RARROW ret= iteratorExp[opName, ret, firstToken] ) )
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==POINT) ) {
alt52=1;
}
else if ( (LA52_0==RARROW) ) {
alt52=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 52, 0, input);
throw nvae;
}
switch (alt52) {
case 1 :
// ACG_ANTLR3.g:856:30: ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) )
{
// ACG_ANTLR3.g:856:30: ( POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] ) )
// ACG_ANTLR3.g:856:31: POINT (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] )
{
match(input,POINT,FOLLOW_POINT_in_priority_04063);
opName = ".";
// ACG_ANTLR3.g:856:53: (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] )
int alt51=2;
alt51 = dfa51.predict(input);
switch (alt51) {
case 1 :
// ACG_ANTLR3.g:856:54: ret= navigationExp[opName, ret, firstToken]
{
pushFollow(FOLLOW_navigationExp_in_priority_04070);
ret=navigationExp(opName, ret, firstToken);
state._fsp--;
}
break;
case 2 :
// ACG_ANTLR3.g:856:99: ret= operationCallExp[opName, ret, firstToken]
{
pushFollow(FOLLOW_operationCallExp_in_priority_04077);
ret=operationCallExp(opName, ret, firstToken);
state._fsp--;
}
break;
}
}
}
break;
case 2 :
// ACG_ANTLR3.g:856:149: ( RARROW ret= iteratorExp[opName, ret, firstToken] )
{
// ACG_ANTLR3.g:856:149: ( RARROW ret= iteratorExp[opName, ret, firstToken] )
// ACG_ANTLR3.g:856:150: RARROW ret= iteratorExp[opName, ret, firstToken]
{
match(input,RARROW,FOLLOW_RARROW_in_priority_04085);
opName = "->";
pushFollow(FOLLOW_iteratorExp_in_priority_04091);
ret=iteratorExp(opName, ret, firstToken);
state._fsp--;
}
}
break;
}
}
break;
default :
break loop53;
}
} while (true);
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "priority_0"
// $ANTLR start "priority_1"
// ACG_ANTLR3.g:863:1: priority_1 returns [Object ret2] : ( ( 'not' (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | ( MINUS (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | (ret= priority_0 ) ) ;
public final Object priority_1() throws RecognitionException {
Object ret2 = null;
Object ret = null;
Object right = null;
java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:864:2: ( ( ( 'not' (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | ( MINUS (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | (ret= priority_0 ) ) )
// ACG_ANTLR3.g:864:4: ( ( 'not' (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | ( MINUS (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | (ret= priority_0 ) )
{
// ACG_ANTLR3.g:864:4: ( ( 'not' (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | ( MINUS (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) ) | (ret= priority_0 ) )
int alt54=3;
switch ( input.LA(1) ) {
case 98:
{
alt54=1;
}
break;
case MINUS:
{
alt54=2;
}
break;
case NAME:
case STRING:
case INT:
case LPAREN:
case 56:
case 90:
case 91:
case 94:
case 95:
case 96:
case 97:
{
alt54=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 54, 0, input);
throw nvae;
}
switch (alt54) {
case 1 :
// ACG_ANTLR3.g:864:5: ( 'not' (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) )
{
// ACG_ANTLR3.g:864:5: ( 'not' (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) )
// ACG_ANTLR3.g:864:6: 'not' (ret= operatorCallExp[opName, right, firstToken] right= priority_0 )
{
match(input,98,FOLLOW_98_in_priority_14130);
opName = "not";
// ACG_ANTLR3.g:864:30: (ret= operatorCallExp[opName, right, firstToken] right= priority_0 )
// ACG_ANTLR3.g:864:31: ret= operatorCallExp[opName, right, firstToken] right= priority_0
{
pushFollow(FOLLOW_operatorCallExp_in_priority_14137);
ret=operatorCallExp(opName, right, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_0_in_priority_14142);
right=priority_0();
state._fsp--;
ei.set(ret, "source", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 2 :
// ACG_ANTLR3.g:865:71: ( MINUS (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) )
{
// ACG_ANTLR3.g:865:71: ( MINUS (ret= operatorCallExp[opName, right, firstToken] right= priority_0 ) )
// ACG_ANTLR3.g:865:72: MINUS (ret= operatorCallExp[opName, right, firstToken] right= priority_0 )
{
match(input,MINUS,FOLLOW_MINUS_in_priority_14150);
opName = "-";
// ACG_ANTLR3.g:865:94: (ret= operatorCallExp[opName, right, firstToken] right= priority_0 )
// ACG_ANTLR3.g:865:95: ret= operatorCallExp[opName, right, firstToken] right= priority_0
{
pushFollow(FOLLOW_operatorCallExp_in_priority_14157);
ret=operatorCallExp(opName, right, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_0_in_priority_14162);
right=priority_0();
state._fsp--;
ei.set(ret, "source", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 3 :
// ACG_ANTLR3.g:866:71: (ret= priority_0 )
{
// ACG_ANTLR3.g:866:71: (ret= priority_0 )
// ACG_ANTLR3.g:866:72: ret= priority_0
{
pushFollow(FOLLOW_priority_0_in_priority_14172);
ret=priority_0();
state._fsp--;
}
}
break;
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "priority_1"
// $ANTLR start "priority_2"
// ACG_ANTLR3.g:873:1: priority_2 returns [Object ret2] : (ret= priority_1 ( ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) ) )* ) ;
public final Object priority_2() throws RecognitionException {
Object ret2 = null;
Object ret = null;
Object right = null;
java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:874:2: ( (ret= priority_1 ( ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) ) )* ) )
// ACG_ANTLR3.g:874:4: (ret= priority_1 ( ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) ) )* )
{
// ACG_ANTLR3.g:874:4: (ret= priority_1 ( ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) ) )* )
// ACG_ANTLR3.g:874:5: ret= priority_1 ( ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) ) )*
{
pushFollow(FOLLOW_priority_1_in_priority_24207);
ret=priority_1();
state._fsp--;
// ACG_ANTLR3.g:874:20: ( ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) ) )*
loop56:
do {
int alt56=2;
int LA56_0 = input.LA(1);
if ( ((LA56_0>=STAR && LA56_0<=SLASH)||(LA56_0>=99 && LA56_0<=100)) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// ACG_ANTLR3.g:874:21: ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) )
{
// ACG_ANTLR3.g:874:21: ( ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) | ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) ) )
int alt55=4;
switch ( input.LA(1) ) {
case STAR:
{
alt55=1;
}
break;
case SLASH:
{
alt55=2;
}
break;
case 99:
{
alt55=3;
}
break;
case 100:
{
alt55=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 55, 0, input);
throw nvae;
}
switch (alt55) {
case 1 :
// ACG_ANTLR3.g:874:22: ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
{
// ACG_ANTLR3.g:874:22: ( STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
// ACG_ANTLR3.g:874:23: STAR (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
{
match(input,STAR,FOLLOW_STAR_in_priority_24212);
opName = "*";
// ACG_ANTLR3.g:874:44: (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
// ACG_ANTLR3.g:874:45: ret= operatorCallExp[opName, ret, firstToken] right= priority_1
{
pushFollow(FOLLOW_operatorCallExp_in_priority_24219);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_1_in_priority_24224);
right=priority_1();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 2 :
// ACG_ANTLR3.g:875:71: ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
{
// ACG_ANTLR3.g:875:71: ( SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
// ACG_ANTLR3.g:875:72: SLASH (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
{
match(input,SLASH,FOLLOW_SLASH_in_priority_24232);
opName = "/";
// ACG_ANTLR3.g:875:94: (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
// ACG_ANTLR3.g:875:95: ret= operatorCallExp[opName, ret, firstToken] right= priority_1
{
pushFollow(FOLLOW_operatorCallExp_in_priority_24239);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_1_in_priority_24244);
right=priority_1();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 3 :
// ACG_ANTLR3.g:876:71: ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
{
// ACG_ANTLR3.g:876:71: ( 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
// ACG_ANTLR3.g:876:72: 'div' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
{
match(input,99,FOLLOW_99_in_priority_24252);
opName = "div";
// ACG_ANTLR3.g:876:96: (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
// ACG_ANTLR3.g:876:97: ret= operatorCallExp[opName, ret, firstToken] right= priority_1
{
pushFollow(FOLLOW_operatorCallExp_in_priority_24259);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_1_in_priority_24264);
right=priority_1();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 4 :
// ACG_ANTLR3.g:877:71: ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
{
// ACG_ANTLR3.g:877:71: ( 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 ) )
// ACG_ANTLR3.g:877:72: 'mod' (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
{
match(input,100,FOLLOW_100_in_priority_24272);
opName = "mod";
// ACG_ANTLR3.g:877:96: (ret= operatorCallExp[opName, ret, firstToken] right= priority_1 )
// ACG_ANTLR3.g:877:97: ret= operatorCallExp[opName, ret, firstToken] right= priority_1
{
pushFollow(FOLLOW_operatorCallExp_in_priority_24279);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_1_in_priority_24284);
right=priority_1();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
}
}
break;
default :
break loop56;
}
} while (true);
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "priority_2"
// $ANTLR start "priority_3"
// ACG_ANTLR3.g:885:1: priority_3 returns [Object ret2] : (ret= priority_2 ( ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) ) )* ) ;
public final Object priority_3() throws RecognitionException {
Object ret2 = null;
Object ret = null;
Object right = null;
java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:886:2: ( (ret= priority_2 ( ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) ) )* ) )
// ACG_ANTLR3.g:886:4: (ret= priority_2 ( ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) ) )* )
{
// ACG_ANTLR3.g:886:4: (ret= priority_2 ( ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) ) )* )
// ACG_ANTLR3.g:886:5: ret= priority_2 ( ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) ) )*
{
pushFollow(FOLLOW_priority_2_in_priority_34325);
ret=priority_2();
state._fsp--;
// ACG_ANTLR3.g:886:20: ( ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) ) )*
loop58:
do {
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==MINUS||LA58_0==PLUS) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// ACG_ANTLR3.g:886:21: ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) )
{
// ACG_ANTLR3.g:886:21: ( ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) | ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) ) )
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==PLUS) ) {
alt57=1;
}
else if ( (LA57_0==MINUS) ) {
alt57=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 57, 0, input);
throw nvae;
}
switch (alt57) {
case 1 :
// ACG_ANTLR3.g:886:22: ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) )
{
// ACG_ANTLR3.g:886:22: ( PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) )
// ACG_ANTLR3.g:886:23: PLUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 )
{
match(input,PLUS,FOLLOW_PLUS_in_priority_34330);
opName = "+";
// ACG_ANTLR3.g:886:44: (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 )
// ACG_ANTLR3.g:886:45: ret= operatorCallExp[opName, ret, firstToken] right= priority_2
{
pushFollow(FOLLOW_operatorCallExp_in_priority_34337);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_2_in_priority_34342);
right=priority_2();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 2 :
// ACG_ANTLR3.g:887:71: ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) )
{
// ACG_ANTLR3.g:887:71: ( MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 ) )
// ACG_ANTLR3.g:887:72: MINUS (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 )
{
match(input,MINUS,FOLLOW_MINUS_in_priority_34350);
opName = "-";
// ACG_ANTLR3.g:887:94: (ret= operatorCallExp[opName, ret, firstToken] right= priority_2 )
// ACG_ANTLR3.g:887:95: ret= operatorCallExp[opName, ret, firstToken] right= priority_2
{
pushFollow(FOLLOW_operatorCallExp_in_priority_34357);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_2_in_priority_34362);
right=priority_2();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
}
}
break;
default :
break loop58;
}
} while (true);
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "priority_3"
// $ANTLR start "priority_4"
// ACG_ANTLR3.g:895:1: priority_4 returns [Object ret2] : (ret= priority_3 ( ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) ) )* ) ;
public final Object priority_4() throws RecognitionException {
Object ret2 = null;
Object ret = null;
Object right = null;
java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:896:2: ( (ret= priority_3 ( ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) ) )* ) )
// ACG_ANTLR3.g:896:4: (ret= priority_3 ( ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) ) )* )
{
// ACG_ANTLR3.g:896:4: (ret= priority_3 ( ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) ) )* )
// ACG_ANTLR3.g:896:5: ret= priority_3 ( ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) ) )*
{
pushFollow(FOLLOW_priority_3_in_priority_44403);
ret=priority_3();
state._fsp--;
// ACG_ANTLR3.g:896:20: ( ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) ) )*
loop60:
do {
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==EQ||(LA60_0>=GT && LA60_0<=NE)||LA60_0==101) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// ACG_ANTLR3.g:896:21: ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) )
{
// ACG_ANTLR3.g:896:21: ( ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) ) | ( 'isa' ret= isAExp[opName, ret, firstToken] ) )
int alt59=7;
switch ( input.LA(1) ) {
case EQ:
{
alt59=1;
}
break;
case GT:
{
alt59=2;
}
break;
case LT:
{
alt59=3;
}
break;
case GE:
{
alt59=4;
}
break;
case LE:
{
alt59=5;
}
break;
case NE:
{
alt59=6;
}
break;
case 101:
{
alt59=7;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 59, 0, input);
throw nvae;
}
switch (alt59) {
case 1 :
// ACG_ANTLR3.g:896:22: ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
{
// ACG_ANTLR3.g:896:22: ( EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
// ACG_ANTLR3.g:896:23: EQ (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
{
match(input,EQ,FOLLOW_EQ_in_priority_44408);
opName = "=";
// ACG_ANTLR3.g:896:42: (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
// ACG_ANTLR3.g:896:43: ret= operatorCallExp[opName, ret, firstToken] right= priority_3
{
pushFollow(FOLLOW_operatorCallExp_in_priority_44415);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_3_in_priority_44420);
right=priority_3();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 2 :
// ACG_ANTLR3.g:897:71: ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
{
// ACG_ANTLR3.g:897:71: ( GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
// ACG_ANTLR3.g:897:72: GT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
{
match(input,GT,FOLLOW_GT_in_priority_44428);
opName = ">";
// ACG_ANTLR3.g:897:91: (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
// ACG_ANTLR3.g:897:92: ret= operatorCallExp[opName, ret, firstToken] right= priority_3
{
pushFollow(FOLLOW_operatorCallExp_in_priority_44435);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_3_in_priority_44440);
right=priority_3();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 3 :
// ACG_ANTLR3.g:898:71: ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
{
// ACG_ANTLR3.g:898:71: ( LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
// ACG_ANTLR3.g:898:72: LT (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
{
match(input,LT,FOLLOW_LT_in_priority_44448);
opName = "<";
// ACG_ANTLR3.g:898:91: (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
// ACG_ANTLR3.g:898:92: ret= operatorCallExp[opName, ret, firstToken] right= priority_3
{
pushFollow(FOLLOW_operatorCallExp_in_priority_44455);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_3_in_priority_44460);
right=priority_3();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 4 :
// ACG_ANTLR3.g:899:71: ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
{
// ACG_ANTLR3.g:899:71: ( GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
// ACG_ANTLR3.g:899:72: GE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
{
match(input,GE,FOLLOW_GE_in_priority_44468);
opName = ">=";
// ACG_ANTLR3.g:899:92: (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
// ACG_ANTLR3.g:899:93: ret= operatorCallExp[opName, ret, firstToken] right= priority_3
{
pushFollow(FOLLOW_operatorCallExp_in_priority_44475);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_3_in_priority_44480);
right=priority_3();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 5 :
// ACG_ANTLR3.g:900:71: ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
{
// ACG_ANTLR3.g:900:71: ( LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
// ACG_ANTLR3.g:900:72: LE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
{
match(input,LE,FOLLOW_LE_in_priority_44488);
opName = "<=";
// ACG_ANTLR3.g:900:92: (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
// ACG_ANTLR3.g:900:93: ret= operatorCallExp[opName, ret, firstToken] right= priority_3
{
pushFollow(FOLLOW_operatorCallExp_in_priority_44495);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_3_in_priority_44500);
right=priority_3();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 6 :
// ACG_ANTLR3.g:901:71: ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
{
// ACG_ANTLR3.g:901:71: ( NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 ) )
// ACG_ANTLR3.g:901:72: NE (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
{
match(input,NE,FOLLOW_NE_in_priority_44508);
opName = "<>";
// ACG_ANTLR3.g:901:92: (ret= operatorCallExp[opName, ret, firstToken] right= priority_3 )
// ACG_ANTLR3.g:901:93: ret= operatorCallExp[opName, ret, firstToken] right= priority_3
{
pushFollow(FOLLOW_operatorCallExp_in_priority_44515);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_3_in_priority_44520);
right=priority_3();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 7 :
// ACG_ANTLR3.g:902:71: ( 'isa' ret= isAExp[opName, ret, firstToken] )
{
// ACG_ANTLR3.g:902:71: ( 'isa' ret= isAExp[opName, ret, firstToken] )
// ACG_ANTLR3.g:902:72: 'isa' ret= isAExp[opName, ret, firstToken]
{
match(input,101,FOLLOW_101_in_priority_44528);
opName = "isa";
pushFollow(FOLLOW_isAExp_in_priority_44534);
ret=isAExp(opName, ret, firstToken);
state._fsp--;
}
}
break;
}
}
break;
default :
break loop60;
}
} while (true);
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "priority_4"
// $ANTLR start "priority_5"
// ACG_ANTLR3.g:909:1: priority_5 returns [Object ret2] : (ret= priority_4 ( ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) ) )* ) ;
public final Object priority_5() throws RecognitionException {
Object ret2 = null;
Object ret = null;
Object right = null;
java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1);
try {
// ACG_ANTLR3.g:910:2: ( (ret= priority_4 ( ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) ) )* ) )
// ACG_ANTLR3.g:910:4: (ret= priority_4 ( ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) ) )* )
{
// ACG_ANTLR3.g:910:4: (ret= priority_4 ( ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) ) )* )
// ACG_ANTLR3.g:910:5: ret= priority_4 ( ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) ) )*
{
pushFollow(FOLLOW_priority_4_in_priority_54574);
ret=priority_4();
state._fsp--;
// ACG_ANTLR3.g:910:20: ( ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) ) )*
loop62:
do {
int alt62=2;
int LA62_0 = input.LA(1);
if ( ((LA62_0>=102 && LA62_0<=105)) ) {
alt62=1;
}
switch (alt62) {
case 1 :
// ACG_ANTLR3.g:910:21: ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) )
{
// ACG_ANTLR3.g:910:21: ( ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) | ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) ) )
int alt61=4;
switch ( input.LA(1) ) {
case 102:
{
alt61=1;
}
break;
case 103:
{
alt61=2;
}
break;
case 104:
{
alt61=3;
}
break;
case 105:
{
alt61=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 61, 0, input);
throw nvae;
}
switch (alt61) {
case 1 :
// ACG_ANTLR3.g:910:22: ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
{
// ACG_ANTLR3.g:910:22: ( 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
// ACG_ANTLR3.g:910:23: 'and' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
{
match(input,102,FOLLOW_102_in_priority_54579);
opName = "and";
// ACG_ANTLR3.g:910:47: (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
// ACG_ANTLR3.g:910:48: ret= operatorCallExp[opName, ret, firstToken] right= priority_4
{
pushFollow(FOLLOW_operatorCallExp_in_priority_54586);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_4_in_priority_54591);
right=priority_4();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 2 :
// ACG_ANTLR3.g:911:71: ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
{
// ACG_ANTLR3.g:911:71: ( 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
// ACG_ANTLR3.g:911:72: 'or' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
{
match(input,103,FOLLOW_103_in_priority_54599);
opName = "or";
// ACG_ANTLR3.g:911:94: (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
// ACG_ANTLR3.g:911:95: ret= operatorCallExp[opName, ret, firstToken] right= priority_4
{
pushFollow(FOLLOW_operatorCallExp_in_priority_54606);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_4_in_priority_54611);
right=priority_4();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 3 :
// ACG_ANTLR3.g:912:71: ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
{
// ACG_ANTLR3.g:912:71: ( 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
// ACG_ANTLR3.g:912:72: 'xor' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
{
match(input,104,FOLLOW_104_in_priority_54619);
opName = "xor";
// ACG_ANTLR3.g:912:96: (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
// ACG_ANTLR3.g:912:97: ret= operatorCallExp[opName, ret, firstToken] right= priority_4
{
pushFollow(FOLLOW_operatorCallExp_in_priority_54626);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_4_in_priority_54631);
right=priority_4();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
case 4 :
// ACG_ANTLR3.g:913:71: ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
{
// ACG_ANTLR3.g:913:71: ( 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 ) )
// ACG_ANTLR3.g:913:72: 'implies' (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
{
match(input,105,FOLLOW_105_in_priority_54639);
opName = "implies";
// ACG_ANTLR3.g:913:104: (ret= operatorCallExp[opName, ret, firstToken] right= priority_4 )
// ACG_ANTLR3.g:913:105: ret= operatorCallExp[opName, ret, firstToken] right= priority_4
{
pushFollow(FOLLOW_operatorCallExp_in_priority_54646);
ret=operatorCallExp(opName, ret, firstToken);
state._fsp--;
pushFollow(FOLLOW_priority_4_in_priority_54651);
right=priority_4();
state._fsp--;
ei.set(ret, "arguments", right);if(input.LT(-1) != null) ei.setLocation(ret, firstToken.getLine() + ":" + (firstToken.getCharPositionInLine() + 1) + "-" + ((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndLine() + ":" + (((org.eclipse.m2m.atl.dsls.tcs.injector.wrappers.antlr3.ANTLR3LocationToken)input.LT(-1)).getEndColumn() + 1));ei.setCommentsBefore(ret, new Object[] {input, firstToken});
ei.setCommentsAfter(ret, new Object[] {input, input.LT(-1)});
}
}
}
break;
}
}
break;
default :
break loop62;
}
} while (true);
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "priority_5"
// $ANTLR start "primary_expression"
// ACG_ANTLR3.g:921:1: primary_expression returns [Object ret2] : ( ( LPAREN ret= expression RPAREN ) | ret= variableExp | ret= selfExp | ret= lastExp | ret= ifExp | ret= literalExp ) ;
public final Object primary_expression() throws RecognitionException {
Object ret2 = null;
Object ret = null;
try {
// ACG_ANTLR3.g:922:2: ( ( ( LPAREN ret= expression RPAREN ) | ret= variableExp | ret= selfExp | ret= lastExp | ret= ifExp | ret= literalExp ) )
// ACG_ANTLR3.g:922:4: ( ( LPAREN ret= expression RPAREN ) | ret= variableExp | ret= selfExp | ret= lastExp | ret= ifExp | ret= literalExp )
{
// ACG_ANTLR3.g:922:4: ( ( LPAREN ret= expression RPAREN ) | ret= variableExp | ret= selfExp | ret= lastExp | ret= ifExp | ret= literalExp )
int alt63=6;
switch ( input.LA(1) ) {
case LPAREN:
{
alt63=1;
}
break;
case NAME:
{
alt63=2;
}
break;
case 90:
{
alt63=3;
}
break;
case 91:
{
alt63=4;
}
break;
case 56:
{
alt63=5;
}
break;
case STRING:
case INT:
case 94:
case 95:
case 96:
case 97:
{
alt63=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 63, 0, input);
throw nvae;
}
switch (alt63) {
case 1 :
// ACG_ANTLR3.g:922:5: ( LPAREN ret= expression RPAREN )
{
// ACG_ANTLR3.g:922:5: ( LPAREN ret= expression RPAREN )
// ACG_ANTLR3.g:922:6: LPAREN ret= expression RPAREN
{
match(input,LPAREN,FOLLOW_LPAREN_in_primary_expression4691);
pushFollow(FOLLOW_expression_in_primary_expression4695);
ret=expression();
state._fsp--;
match(input,RPAREN,FOLLOW_RPAREN_in_primary_expression4697);
}
}
break;
case 2 :
// ACG_ANTLR3.g:922:37: ret= variableExp
{
pushFollow(FOLLOW_variableExp_in_primary_expression4703);
ret=variableExp();
state._fsp--;
}
break;
case 3 :
// ACG_ANTLR3.g:922:54: ret= selfExp
{
pushFollow(FOLLOW_selfExp_in_primary_expression4708);
ret=selfExp();
state._fsp--;
}
break;
case 4 :
// ACG_ANTLR3.g:922:67: ret= lastExp
{
pushFollow(FOLLOW_lastExp_in_primary_expression4713);
ret=lastExp();
state._fsp--;
}
break;
case 5 :
// ACG_ANTLR3.g:922:80: ret= ifExp
{
pushFollow(FOLLOW_ifExp_in_primary_expression4718);
ret=ifExp();
state._fsp--;
}
break;
case 6 :
// ACG_ANTLR3.g:922:91: ret= literalExp
{
pushFollow(FOLLOW_literalExp_in_primary_expression4723);
ret=literalExp();
state._fsp--;
}
break;
}
ret2=ret;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
}
return ret2;
}
// $ANTLR end "primary_expression"
// Delegated rules
protected DFA51 dfa51 = new DFA51(this);
static final String DFA51_eotS =
"\104\uffff";
static final String DFA51_eofS =
"\104\uffff";
static final String DFA51_minS =
"\102\4\2\uffff";
static final String DFA51_maxS =
"\102\151\2\uffff";
static final String DFA51_acceptS =
"\102\uffff\1\2\1\1";
static final String DFA51_specialS =
"\104\uffff}>";
static final String[] DFA51_transitionS = {
"\1\1\45\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
"\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1"+
"\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1"+
"\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1"+
"\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\73\1"+
"\74\1\75\1\76\1\77\1\100\1\101",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"\1\103\2\uffff\2\103\1\uffff\1\102\4\103\1\uffff\16\103\21"+
"\uffff\1\103\1\uffff\6\103\1\uffff\5\103\3\uffff\32\103\2\uffff"+
"\2\103\5\uffff\7\103",
"",
""
};
static final short[] DFA51_eot = DFA.unpackEncodedString(DFA51_eotS);
static final short[] DFA51_eof = DFA.unpackEncodedString(DFA51_eofS);
static final char[] DFA51_min = DFA.unpackEncodedStringToUnsignedChars(DFA51_minS);
static final char[] DFA51_max = DFA.unpackEncodedStringToUnsignedChars(DFA51_maxS);
static final short[] DFA51_accept = DFA.unpackEncodedString(DFA51_acceptS);
static final short[] DFA51_special = DFA.unpackEncodedString(DFA51_specialS);
static final short[][] DFA51_transition;
static {
int numStates = DFA51_transitionS.length;
DFA51_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA51_transition[i] = DFA.unpackEncodedString(DFA51_transitionS[i]);
}
}
class DFA51 extends DFA {
public DFA51(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 51;
this.eot = DFA51_eot;
this.eof = DFA51_eof;
this.min = DFA51_min;
this.max = DFA51_max;
this.accept = DFA51_accept;
this.special = DFA51_special;
this.transition = DFA51_transition;
}
public String getDescription() {
return "856:53: (ret= navigationExp[opName, ret, firstToken] | ret= operationCallExp[opName, ret, firstToken] )";
}
}
public static final BitSet FOLLOW_aCG_in_main46 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_main49 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NAME_in_identifier82 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NAME_in_identifierOrKeyword117 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_42_in_identifierOrKeyword122 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_43_in_identifierOrKeyword127 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_44_in_identifierOrKeyword132 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_45_in_identifierOrKeyword137 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_46_in_identifierOrKeyword142 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_47_in_identifierOrKeyword147 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_48_in_identifierOrKeyword152 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_49_in_identifierOrKeyword157 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_50_in_identifierOrKeyword162 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_51_in_identifierOrKeyword167 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_52_in_identifierOrKeyword172 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_53_in_identifierOrKeyword177 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_54_in_identifierOrKeyword182 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_55_in_identifierOrKeyword187 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_56_in_identifierOrKeyword192 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_57_in_identifierOrKeyword197 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_58_in_identifierOrKeyword202 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_59_in_identifierOrKeyword207 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_identifierOrKeyword212 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_61_in_identifierOrKeyword217 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_62_in_identifierOrKeyword222 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_63_in_identifierOrKeyword227 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_64_in_identifierOrKeyword232 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_65_in_identifierOrKeyword237 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_66_in_identifierOrKeyword242 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_67_in_identifierOrKeyword247 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_68_in_identifierOrKeyword252 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_69_in_identifierOrKeyword257 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_70_in_identifierOrKeyword262 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_71_in_identifierOrKeyword267 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_72_in_identifierOrKeyword272 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_73_in_identifierOrKeyword277 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_74_in_identifierOrKeyword282 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_75_in_identifierOrKeyword287 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_76_in_identifierOrKeyword292 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_77_in_identifierOrKeyword297 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_78_in_identifierOrKeyword302 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_79_in_identifierOrKeyword307 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_80_in_identifierOrKeyword312 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_81_in_identifierOrKeyword317 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_82_in_identifierOrKeyword322 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_83_in_identifierOrKeyword327 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_84_in_identifierOrKeyword332 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_identifierOrKeyword337 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_86_in_identifierOrKeyword342 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_87_in_identifierOrKeyword347 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_88_in_identifierOrKeyword352 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_89_in_identifierOrKeyword357 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_90_in_identifierOrKeyword362 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_91_in_identifierOrKeyword367 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_92_in_identifierOrKeyword372 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_93_in_identifierOrKeyword377 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_94_in_identifierOrKeyword382 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_95_in_identifierOrKeyword387 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_96_in_identifierOrKeyword392 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_97_in_identifierOrKeyword397 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_98_in_identifierOrKeyword402 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_99_in_identifierOrKeyword407 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_100_in_identifierOrKeyword412 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_101_in_identifierOrKeyword417 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_102_in_identifierOrKeyword422 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_103_in_identifierOrKeyword427 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_104_in_identifierOrKeyword432 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_105_in_identifierOrKeyword437 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_in_stringSymbol472 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INT_in_integerSymbol506 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_42_in_aCG539 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_aCG543 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_43_in_aCG547 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_aCG551 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_aCG555 = new BitSet(new long[]{0x0001700000000110L});
public static final BitSet FOLLOW_aCGElement_in_aCG563 = new BitSet(new long[]{0x0001700000000110L});
public static final BitSet FOLLOW_aCGElement_in_aCG571 = new BitSet(new long[]{0x0001700000000110L});
public static final BitSet FOLLOW_RCURLY_in_aCG583 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_function_in_aCGElement618 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attribute_in_aCGElement623 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_node_in_aCGElement628 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_44_in_function661 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_function665 = new BitSet(new long[]{0x0000000000000200L});
public static final BitSet FOLLOW_COLONCOLON_in_function669 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_function673 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_LPAREN_in_function677 = new BitSet(new long[]{0x0000000000001010L});
public static final BitSet FOLLOW_parameter_in_function685 = new BitSet(new long[]{0x0000000000001800L});
public static final BitSet FOLLOW_COMA_in_function692 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_parameter_in_function697 = new BitSet(new long[]{0x0000000000001800L});
public static final BitSet FOLLOW_RPAREN_in_function716 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_EQ_in_function718 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_function722 = new BitSet(new long[]{0x0000000000004000L});
public static final BitSet FOLLOW_SEMI_in_function726 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_45_in_attribute758 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_attribute762 = new BitSet(new long[]{0x0000000000000200L});
public static final BitSet FOLLOW_COLONCOLON_in_attribute766 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_attribute770 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_EQ_in_attribute774 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_attribute778 = new BitSet(new long[]{0x0000000000004000L});
public static final BitSet FOLLOW_SEMI_in_attribute782 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifier_in_parameter816 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_aSMNode_in_node853 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_codeNode_in_node858 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_simpleNode_in_node863 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_46_in_aSMNode896 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_aSMNode900 = new BitSet(new long[]{0x0000800000000000L});
public static final BitSet FOLLOW_47_in_aSMNode904 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_aSMNode908 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_aSMNode912 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_aSMNode920 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_aSMNode928 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_aSMNode940 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_48_in_codeNode972 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_codeNode976 = new BitSet(new long[]{0x0002000000008080L});
public static final BitSet FOLLOW_49_in_codeNode982 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_codeNode986 = new BitSet(new long[]{0x0000000000008080L});
public static final BitSet FOLLOW_PIPE_in_codeNode1002 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_codeNode1006 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_codeNode1020 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_codeNode1028 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_codeNode1036 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_codeNode1048 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifier_in_simpleNode1082 = new BitSet(new long[]{0x0002000000008080L});
public static final BitSet FOLLOW_49_in_simpleNode1088 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_simpleNode1092 = new BitSet(new long[]{0x0000000000008080L});
public static final BitSet FOLLOW_PIPE_in_simpleNode1108 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_simpleNode1112 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_simpleNode1126 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_simpleNode1134 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_simpleNode1142 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_simpleNode1154 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_compoundStat_in_statement1189 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_reportStat_in_statement1194 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fieldStat_in_statement1199 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_paramStat_in_statement1204 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_emitStat_in_statement1209 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_forEachStat_in_compoundStat1245 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_onceStat_in_compoundStat1250 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_variableStat_in_compoundStat1255 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_operationStat_in_compoundStat1260 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_conditionalStat_in_compoundStat1265 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_letStat_in_compoundStat1270 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_analyzeStat_in_compoundStat1275 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_50_in_forEachStat1308 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_LPAREN_in_forEachStat1310 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_variableDecl_in_forEachStat1314 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_51_in_forEachStat1318 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_forEachStat1322 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_RPAREN_in_forEachStat1326 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_forEachStat1328 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_forEachStat1336 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_forEachStat1344 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_forEachStat1356 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LSQUARE_in_onceStat1388 = new BitSet(new long[]{0x1D54000000030010L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_onceStat1396 = new BitSet(new long[]{0x1D54000000030010L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_onceStat1404 = new BitSet(new long[]{0x1D54000000030010L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RSQUARE_in_onceStat1416 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_52_in_variableStat1448 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_variableStat1452 = new BitSet(new long[]{0x0020000000000000L});
public static final BitSet FOLLOW_53_in_variableStat1456 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_variableStat1460 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_variableStat1464 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_variableStat1472 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_variableStat1480 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_variableStat1492 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_54_in_operationStat1524 = new BitSet(new long[]{0x0080000000000000L});
public static final BitSet FOLLOW_55_in_operationStat1526 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_operationStat1530 = new BitSet(new long[]{0x0000800000000000L});
public static final BitSet FOLLOW_47_in_operationStat1534 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_operationStat1538 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_operationStat1542 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_operationStat1550 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_operationStat1558 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_operationStat1570 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_56_in_conditionalStat1602 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_LPAREN_in_conditionalStat1604 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_conditionalStat1608 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_RPAREN_in_conditionalStat1612 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_conditionalStat1614 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_conditionalStat1622 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_conditionalStat1630 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_conditionalStat1642 = new BitSet(new long[]{0x0200000000000002L});
public static final BitSet FOLLOW_57_in_conditionalStat1646 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_conditionalStat1648 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_conditionalStat1656 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_conditionalStat1664 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_conditionalStat1676 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_58_in_letStat1718 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_variableDecl_in_letStat1722 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_EQ_in_letStat1726 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_letStat1730 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_letStat1734 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_letStat1742 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_letStat1750 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_letStat1762 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_59_in_analyzeStat1794 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_analyzeStat1798 = new BitSet(new long[]{0x0002000000000082L});
public static final BitSet FOLLOW_49_in_analyzeStat1804 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_analyzeStat1808 = new BitSet(new long[]{0x0000000000000082L});
public static final BitSet FOLLOW_LCURLY_in_analyzeStat1824 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_analyzeStat1832 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_statement_in_analyzeStat1840 = new BitSet(new long[]{0x1D54000000010110L,0x0000000003FFFFFFL});
public static final BitSet FOLLOW_RCURLY_in_analyzeStat1852 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_reportStat1894 = new BitSet(new long[]{0xE000000000000000L});
public static final BitSet FOLLOW_severity_in_reportStat1898 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_reportStat1904 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_61_in_severity1939 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_62_in_severity1946 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_63_in_severity1953 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_64_in_fieldStat1988 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_fieldStat1992 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_COLON_in_fieldStat1996 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_fieldStat2000 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_65_in_paramStat2034 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_paramStat2038 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_COLON_in_paramStat2042 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_paramStat2046 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_labelStat_in_emitStat2083 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_newStat_in_emitStat2088 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_newinStat_in_emitStat2093 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_deleteStat_in_emitStat2098 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dupStat_in_emitStat2103 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dupX1Stat_in_emitStat2108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_popStat_in_emitStat2113 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_swapStat_in_emitStat2118 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_iterateStat_in_emitStat2123 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_endIterateStat_in_emitStat2128 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_getAsmStat_in_emitStat2133 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_findMEStat_in_emitStat2138 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pushTStat_in_emitStat2143 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pushFStat_in_emitStat2148 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_emitWithOperandStat_in_emitStat2153 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_emitWithLabelRefStat_in_emitStat2158 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifier_in_labelStat2193 = new BitSet(new long[]{0x0000000000040400L});
public static final BitSet FOLLOW_LPAREN_in_labelStat2199 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_labelStat2203 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_RPAREN_in_labelStat2207 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_COLON_in_labelStat2219 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_66_in_newStat2251 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_67_in_newinStat2283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_68_in_deleteStat2315 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_69_in_dupStat2347 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_70_in_dupX1Stat2379 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_71_in_popStat2411 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_72_in_swapStat2443 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_73_in_iterateStat2475 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_74_in_endIterateStat2507 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_75_in_getAsmStat2539 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_76_in_findMEStat2571 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_77_in_pushTStat2603 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_78_in_pushFStat2635 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pushStat_in_emitWithOperandStat2670 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pushIStat_in_emitWithOperandStat2675 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pushDStat_in_emitWithOperandStat2680 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_loadStat_in_emitWithOperandStat2685 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_storeStat_in_emitWithOperandStat2690 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_callStat_in_emitWithOperandStat2695 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pCallStat_in_emitWithOperandStat2700 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_superCallStat_in_emitWithOperandStat2705 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_getStat_in_emitWithOperandStat2710 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_setStat_in_emitWithOperandStat2715 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_79_in_pushStat2748 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_pushStat2752 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_80_in_pushIStat2786 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_pushIStat2790 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_81_in_pushDStat2824 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_pushDStat2828 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_82_in_loadStat2862 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_loadStat2866 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_83_in_storeStat2900 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_storeStat2904 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_84_in_callStat2938 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_callStat2942 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_85_in_pCallStat2976 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_pCallStat2980 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_86_in_superCallStat3014 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_superCallStat3018 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_87_in_getStat3052 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_getStat3056 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_88_in_setStat3090 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_setStat3094 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_gotoStat_in_emitWithLabelRefStat3131 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ifStat_in_emitWithLabelRefStat3136 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_89_in_gotoStat3169 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_gotoStat3173 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_56_in_ifStat3207 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_identifier_in_ifStat3211 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifier_in_variableDecl3247 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_priority_5_in_expression3283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_letExp_in_expression3288 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifier_in_variableExp3322 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_90_in_selfExp3356 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_91_in_lastExp3388 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_56_in_ifExp3420 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_ifExp3424 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
public static final BitSet FOLLOW_92_in_ifExp3428 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_ifExp3432 = new BitSet(new long[]{0x0200000000000000L});
public static final BitSet FOLLOW_57_in_ifExp3436 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_ifExp3440 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
public static final BitSet FOLLOW_93_in_ifExp3444 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifier_in_isAExp3479 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_58_in_letExp3513 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_variableDecl_in_letExp3517 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_EQ_in_letExp3521 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_letExp3525 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_51_in_letExp3529 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_letExp3533 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifierOrKeyword_in_navigationExp3570 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifierOrKeyword_in_iteratorExp3607 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_LPAREN_in_iteratorExp3611 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_variableDecl_in_iteratorExp3615 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_PIPE_in_iteratorExp3619 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_iteratorExp3623 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_RPAREN_in_iteratorExp3627 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_identifierOrKeyword_in_operationCallExp3662 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_LPAREN_in_operationCallExp3666 = new BitSet(new long[]{0x0500000000201470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_operationCallExp3672 = new BitSet(new long[]{0x0000000000001800L});
public static final BitSet FOLLOW_COMA_in_operationCallExp3679 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_operationCallExp3684 = new BitSet(new long[]{0x0000000000001800L});
public static final BitSet FOLLOW_RPAREN_in_operationCallExp3694 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_oclUndefinedExp_in_literalExp3758 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_collectionExp_in_literalExp3763 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_booleanExp_in_literalExp3768 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_integerExp_in_literalExp3773 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_stringExp_in_literalExp3778 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_94_in_oclUndefinedExp3811 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_sequenceExp_in_collectionExp3845 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_95_in_sequenceExp3877 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_LCURLY_in_sequenceExp3879 = new BitSet(new long[]{0x0500000000200570L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_sequenceExp3885 = new BitSet(new long[]{0x0000000000000900L});
public static final BitSet FOLLOW_COMA_in_sequenceExp3892 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_sequenceExp3897 = new BitSet(new long[]{0x0000000000000900L});
public static final BitSet FOLLOW_RCURLY_in_sequenceExp3907 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_96_in_booleanExp3941 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_97_in_booleanExp3948 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_integerSymbol_in_integerExp3986 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_stringSymbol_in_stringExp4022 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_primary_expression_in_priority_04058 = new BitSet(new long[]{0x0000000000180002L});
public static final BitSet FOLLOW_POINT_in_priority_04063 = new BitSet(new long[]{0xFFFFFC0000000010L,0x000003FFFFFFFFFFL});
public static final BitSet FOLLOW_navigationExp_in_priority_04070 = new BitSet(new long[]{0x0000000000180002L});
public static final BitSet FOLLOW_operationCallExp_in_priority_04077 = new BitSet(new long[]{0x0000000000180002L});
public static final BitSet FOLLOW_RARROW_in_priority_04085 = new BitSet(new long[]{0xFFFFFC0000000010L,0x000003FFFFFFFFFFL});
public static final BitSet FOLLOW_iteratorExp_in_priority_04091 = new BitSet(new long[]{0x0000000000180002L});
public static final BitSet FOLLOW_98_in_priority_14130 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_14137 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_0_in_priority_14142 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MINUS_in_priority_14150 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_14157 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_0_in_priority_14162 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_priority_0_in_priority_14172 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_priority_1_in_priority_24207 = new BitSet(new long[]{0x0000000000C00002L,0x0000001800000000L});
public static final BitSet FOLLOW_STAR_in_priority_24212 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_24219 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_1_in_priority_24224 = new BitSet(new long[]{0x0000000000C00002L,0x0000001800000000L});
public static final BitSet FOLLOW_SLASH_in_priority_24232 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_24239 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_1_in_priority_24244 = new BitSet(new long[]{0x0000000000C00002L,0x0000001800000000L});
public static final BitSet FOLLOW_99_in_priority_24252 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_24259 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_1_in_priority_24264 = new BitSet(new long[]{0x0000000000C00002L,0x0000001800000000L});
public static final BitSet FOLLOW_100_in_priority_24272 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_24279 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_1_in_priority_24284 = new BitSet(new long[]{0x0000000000C00002L,0x0000001800000000L});
public static final BitSet FOLLOW_priority_2_in_priority_34325 = new BitSet(new long[]{0x0000000001200002L});
public static final BitSet FOLLOW_PLUS_in_priority_34330 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_34337 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_2_in_priority_34342 = new BitSet(new long[]{0x0000000001200002L});
public static final BitSet FOLLOW_MINUS_in_priority_34350 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_34357 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_2_in_priority_34362 = new BitSet(new long[]{0x0000000001200002L});
public static final BitSet FOLLOW_priority_3_in_priority_44403 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_EQ_in_priority_44408 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_44415 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_3_in_priority_44420 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_GT_in_priority_44428 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_44435 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_3_in_priority_44440 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_LT_in_priority_44448 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_44455 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_3_in_priority_44460 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_GE_in_priority_44468 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_44475 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_3_in_priority_44480 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_LE_in_priority_44488 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_44495 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_3_in_priority_44500 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_NE_in_priority_44508 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_44515 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_3_in_priority_44520 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_101_in_priority_44528 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_isAExp_in_priority_44534 = new BitSet(new long[]{0x000000003E002002L,0x0000002000000000L});
public static final BitSet FOLLOW_priority_4_in_priority_54574 = new BitSet(new long[]{0x0000000000000002L,0x000003C000000000L});
public static final BitSet FOLLOW_102_in_priority_54579 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_54586 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_4_in_priority_54591 = new BitSet(new long[]{0x0000000000000002L,0x000003C000000000L});
public static final BitSet FOLLOW_103_in_priority_54599 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_54606 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_4_in_priority_54611 = new BitSet(new long[]{0x0000000000000002L,0x000003C000000000L});
public static final BitSet FOLLOW_104_in_priority_54619 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_54626 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_4_in_priority_54631 = new BitSet(new long[]{0x0000000000000002L,0x000003C000000000L});
public static final BitSet FOLLOW_105_in_priority_54639 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_operatorCallExp_in_priority_54646 = new BitSet(new long[]{0x0100000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_priority_4_in_priority_54651 = new BitSet(new long[]{0x0000000000000002L,0x000003C000000000L});
public static final BitSet FOLLOW_LPAREN_in_primary_expression4691 = new BitSet(new long[]{0x0500000000200470L,0x00000007CC000000L});
public static final BitSet FOLLOW_expression_in_primary_expression4695 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_RPAREN_in_primary_expression4697 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_variableExp_in_primary_expression4703 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selfExp_in_primary_expression4708 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_lastExp_in_primary_expression4713 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ifExp_in_primary_expression4718 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_literalExp_in_primary_expression4723 = new BitSet(new long[]{0x0000000000000002L});
}