// $ANTLR 3.1.1 /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g 2011-02-28 20:11:34 package generated; import com.sap.furcas.runtime.parser.ANTLR3LocationToken; import com.sap.furcas.runtime.common.interfaces.IModelElementProxy; import com.sap.furcas.runtime.parser.impl.PredicateSemantic; import com.sap.furcas.runtime.parser.impl.SemanticDisambRuleData; import com.sap.furcas.runtime.tcs.RuleNameFinder; import java.text.CharacterIterator; import java.text.StringCharacterIterator; import com.sap.furcas.runtime.parser.impl.ObservableInjectingParser; import org.antlr.runtime.Token; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; public class OclParser extends ObservableInjectingParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "NAME", "STRING", "QNAME", "MULTI_LINE_COMMENT", "INT", "FLOAT", "BOOL", "LPAREN", "RPAREN", "DOT", "ARROW", "EQUALS", "APOSTROPHE", "DCOLON", "LCURL", "COMMA", "RCURL", "DDOT", "COLON", "SEMI", "BAR", "COMMENT", "LBRACKET", "RBRACKET", "STAR", "GT", "GTRQULAS", "LT", "LTEQUALS", "NL", "WS", "DIGIT", "ALPHA", "SNAME", "RANGE_OR_INT", "'if'", "'endif'", "'then'", "'forAll'", "'self'", "'else'", "'Sequence'", "'collect'", "'Set'", "'select'", "'Collection'", "'in'", "'Bag'", "'iterate'", "'OrderedSet'", "'let'" }; public static final int LT=31; public static final int STAR=28; public static final int FLOAT=9; public static final int EQUALS=15; public static final int EOF=-1; public static final int GTRQULAS=30; public static final int LPAREN=11; public static final int LBRACKET=26; public static final int RPAREN=12; public static final int NAME=4; public static final int DCOLON=17; 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 COMMA=19; public static final int DIGIT=35; public static final int NL=33; public static final int APOSTROPHE=16; public static final int RANGE_OR_INT=38; public static final int RBRACKET=27; public static final int DOT=13; public static final int COMMENT=25; public static final int T__50=50; public static final int T__42=42; public static final int T__43=43; public static final int T__40=40; public static final int T__41=41; public static final int T__46=46; public static final int T__47=47; public static final int DDOT=21; public static final int T__44=44; public static final int T__45=45; public static final int T__48=48; public static final int T__49=49; public static final int BOOL=10; public static final int INT=8; public static final int SEMI=23; public static final int MULTI_LINE_COMMENT=7; public static final int ALPHA=36; public static final int COLON=22; public static final int LCURL=18; public static final int WS=34; public static final int QNAME=6; public static final int SNAME=37; public static final int T__39=39; public static final int RCURL=20; public static final int GT=29; public static final int ARROW=14; public static final int LTEQUALS=32; public static final int BAR=24; public static final int STRING=5; // delegates // delegators public OclParser(TokenStream input) { this(input, new RecognizerSharedState()); } public OclParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return OclParser.tokenNames; } public String getGrammarFileName() { return "/Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g"; } private static final String syntaxUUID = "_jXPggENuEeCVWekCgdT-_A"; public String getSyntaxUUID() { return syntaxUUID; } public String unescapeString(String s) { // get rid of the starting and ending delimiters (e.g., '\'', '"') int delimLength = 1; // for delimLength > 0, the following code needs to change if (s.charAt(0) == '\'' && s.charAt(s.length()-delimLength) == '\'' || s.charAt(0) == '\"' && s.charAt(s.length()-delimLength) == '\"') { s = s.substring(delimLength, s.length()-(delimLength * 2 - 1)); } return s; } // $ANTLR start "identifier" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:95: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 { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:96:3: ( (ast= NAME ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:97:3: (ast= NAME ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:97:3: (ast= NAME ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:97:4: ast= NAME { ast=(Token)match(input,NAME,FOLLOW_NAME_in_identifier69); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = unescapeString( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "identifier" // $ANTLR start "identifierOrKeyword" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:105:1: identifierOrKeyword returns [Object ret2] : (ast= NAME | 'if' | 'endif' | 'then' | 'forAll' | 'self' | 'else' | 'Sequence' | 'collect' | 'Set' | 'select' | 'Collection' | 'in' | 'Bag' | 'iterate' | 'OrderedSet' | 'let' ) ; public final Object identifierOrKeyword() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:106:3: ( (ast= NAME | 'if' | 'endif' | 'then' | 'forAll' | 'self' | 'else' | 'Sequence' | 'collect' | 'Set' | 'select' | 'Collection' | 'in' | 'Bag' | 'iterate' | 'OrderedSet' | 'let' ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:107:3: (ast= NAME | 'if' | 'endif' | 'then' | 'forAll' | 'self' | 'else' | 'Sequence' | 'collect' | 'Set' | 'select' | 'Collection' | 'in' | 'Bag' | 'iterate' | 'OrderedSet' | 'let' ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:107:3: (ast= NAME | 'if' | 'endif' | 'then' | 'forAll' | 'self' | 'else' | 'Sequence' | 'collect' | 'Set' | 'select' | 'Collection' | 'in' | 'Bag' | 'iterate' | 'OrderedSet' | 'let' ) int alt1=17; switch ( input.LA(1) ) { case NAME: { alt1=1; } break; case 39: { alt1=2; } break; case 40: { alt1=3; } break; case 41: { alt1=4; } break; case 42: { alt1=5; } break; case 43: { alt1=6; } break; case 44: { alt1=7; } break; case 45: { alt1=8; } break; case 46: { alt1=9; } break; case 47: { alt1=10; } break; case 48: { alt1=11; } break; case 49: { alt1=12; } break; case 50: { alt1=13; } break; case 51: { alt1=14; } break; case 52: { alt1=15; } break; case 53: { alt1=16; } break; case 54: { alt1=17; } break; default: if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 1, 0, input); throw nvae; } switch (alt1) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:107:4: ast= NAME { ast=(Token)match(input,NAME,FOLLOW_NAME_in_identifierOrKeyword100); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = unescapeString( ast.getText()); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:109:5: 'if' { match(input,39,FOLLOW_39_in_identifierOrKeyword108); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "if"; } } break; case 3 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:110:5: 'endif' { match(input,40,FOLLOW_40_in_identifierOrKeyword116); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "endif"; } } break; case 4 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:111:5: 'then' { match(input,41,FOLLOW_41_in_identifierOrKeyword124); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "then"; } } break; case 5 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:112:5: 'forAll' { match(input,42,FOLLOW_42_in_identifierOrKeyword132); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "forAll"; } } break; case 6 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:113:5: 'self' { match(input,43,FOLLOW_43_in_identifierOrKeyword140); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "self"; } } break; case 7 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:114:5: 'else' { match(input,44,FOLLOW_44_in_identifierOrKeyword148); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "else"; } } break; case 8 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:115:5: 'Sequence' { match(input,45,FOLLOW_45_in_identifierOrKeyword156); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "Sequence"; } } break; case 9 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:116:5: 'collect' { match(input,46,FOLLOW_46_in_identifierOrKeyword164); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "collect"; } } break; case 10 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:117:5: 'Set' { match(input,47,FOLLOW_47_in_identifierOrKeyword172); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "Set"; } } break; case 11 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:118:5: 'select' { match(input,48,FOLLOW_48_in_identifierOrKeyword180); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "select"; } } break; case 12 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:119:5: 'Collection' { match(input,49,FOLLOW_49_in_identifierOrKeyword188); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "Collection"; } } break; case 13 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:120:5: 'in' { match(input,50,FOLLOW_50_in_identifierOrKeyword196); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "in"; } } break; case 14 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:121:5: 'Bag' { match(input,51,FOLLOW_51_in_identifierOrKeyword204); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "Bag"; } } break; case 15 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:122:5: 'iterate' { match(input,52,FOLLOW_52_in_identifierOrKeyword212); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "iterate"; } } break; case 16 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:123:5: 'OrderedSet' { match(input,53,FOLLOW_53_in_identifierOrKeyword220); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "OrderedSet"; } } break; case 17 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:124:5: 'let' { match(input,54,FOLLOW_54_in_identifierOrKeyword228); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = "let"; } } break; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "identifierOrKeyword" // $ANTLR start "stringSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:131: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 { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:132:3: ( (ast= STRING ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:133:3: (ast= STRING ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:133:3: (ast= STRING ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:133:4: ast= STRING { ast=(Token)match(input,STRING,FOLLOW_STRING_in_stringSymbol259); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = unescapeString( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "stringSymbol" // $ANTLR start "qualifiedNameSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:141:1: qualifiedNameSymbol returns [Object ret2] : (ast= QNAME ) ; public final Object qualifiedNameSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:142:3: ( (ast= QNAME ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:143:3: (ast= QNAME ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:143:3: (ast= QNAME ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:143:4: ast= QNAME { ast=(Token)match(input,QNAME,FOLLOW_QNAME_in_qualifiedNameSymbol290); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = unescapeString( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "qualifiedNameSymbol" // $ANTLR start "annotationSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:151:1: annotationSymbol returns [Object ret2] : (ast= MULTI_LINE_COMMENT ) ; public final Object annotationSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:152:3: ( (ast= MULTI_LINE_COMMENT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:153:3: (ast= MULTI_LINE_COMMENT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:153:3: (ast= MULTI_LINE_COMMENT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:153:4: ast= MULTI_LINE_COMMENT { ast=(Token)match(input,MULTI_LINE_COMMENT,FOLLOW_MULTI_LINE_COMMENT_in_annotationSymbol321); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = unescapeString( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "annotationSymbol" // $ANTLR start "integerSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:161: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 { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:162:3: ( (ast= INT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:163:3: (ast= INT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:163:3: (ast= INT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:163:4: ast= INT { ast=(Token)match(input,INT,FOLLOW_INT_in_integerSymbol352); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = Integer.valueOf( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "integerSymbol" // $ANTLR start "longSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:171:1: longSymbol returns [Object ret2] : (ast= INT ) ; public final Object longSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:172:3: ( (ast= INT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:173:3: (ast= INT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:173:3: (ast= INT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:173:4: ast= INT { ast=(Token)match(input,INT,FOLLOW_INT_in_longSymbol383); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = Integer.valueOf( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "longSymbol" // $ANTLR start "integerAsString" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:181:1: integerAsString returns [Object ret2] : (ast= INT ) ; public final Object integerAsString() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:182:3: ( (ast= INT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:183:3: (ast= INT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:183:3: (ast= INT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:183:4: ast= INT { ast=(Token)match(input,INT,FOLLOW_INT_in_integerAsString414); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = unescapeString( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "integerAsString" // $ANTLR start "floatAsString" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:191:1: floatAsString returns [Object ret2] : (ast= FLOAT ) ; public final Object floatAsString() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:192:3: ( (ast= FLOAT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:193:3: (ast= FLOAT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:193:3: (ast= FLOAT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:193:4: ast= FLOAT { ast=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_floatAsString445); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = unescapeString( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "floatAsString" // $ANTLR start "booleanSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:201:1: booleanSymbol returns [Object ret2] : (ast= BOOL ) ; public final Object booleanSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:202:3: ( (ast= BOOL ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:203:3: (ast= BOOL ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:203:3: (ast= BOOL ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:203:4: ast= BOOL { ast=(Token)match(input,BOOL,FOLLOW_BOOL_in_booleanSymbol476); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = ast.getText(); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "booleanSymbol" // $ANTLR start "booleanValueSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:211:1: booleanValueSymbol returns [Object ret2] : (ast= BOOL ) ; public final Object booleanValueSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:212:3: ( (ast= BOOL ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:213:3: (ast= BOOL ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:213:3: (ast= BOOL ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:213:4: ast= BOOL { ast=(Token)match(input,BOOL,FOLLOW_BOOL_in_booleanValueSymbol507); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = Boolean.valueOf( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "booleanValueSymbol" // $ANTLR start "floatSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:221:1: floatSymbol returns [Object ret2] : (ast= FLOAT ) ; public final Object floatSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:222:3: ( (ast= FLOAT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:223:3: (ast= FLOAT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:223:3: (ast= FLOAT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:223:4: ast= FLOAT { ast=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_floatSymbol538); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = Double.valueOf( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "floatSymbol" // $ANTLR start "realSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:231:1: realSymbol returns [Object ret2] : (ast= FLOAT ) ; public final Object realSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:232:3: ( (ast= FLOAT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:233:3: (ast= FLOAT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:233:3: (ast= FLOAT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:233:4: ast= FLOAT { ast=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_realSymbol569); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = Double.valueOf( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "realSymbol" // $ANTLR start "doubleSymbol" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:241:1: doubleSymbol returns [Object ret2] : (ast= FLOAT ) ; public final Object doubleSymbol() throws RecognitionException { Object ret2 = null; Token ast=null; java.lang.Object ret=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:242:3: ( (ast= FLOAT ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:243:3: (ast= FLOAT ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:243:3: (ast= FLOAT ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:243:4: ast= FLOAT { ast=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_doubleSymbol600); if (state.failed) return ret2; if ( state.backtracking==0 ) { ret = Double.valueOf( ast.getText()); } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "doubleSymbol" // $ANTLR start "ocl_ecore_oclexpression" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:251:1: ocl_ecore_oclexpression returns [Object ret2] : (ret= ocl_ecore_literalexp | ret= ocl_ecore_ifexp | ret= ocl_ecore_letexp | ret= ocl_ecore_variableexp ) ; public final Object ocl_ecore_oclexpression() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:252:3: ( (ret= ocl_ecore_literalexp | ret= ocl_ecore_ifexp | ret= ocl_ecore_letexp | ret= ocl_ecore_variableexp ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:253:3: (ret= ocl_ecore_literalexp | ret= ocl_ecore_ifexp | ret= ocl_ecore_letexp | ret= ocl_ecore_variableexp ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:253:3: (ret= ocl_ecore_literalexp | ret= ocl_ecore_ifexp | ret= ocl_ecore_letexp | ret= ocl_ecore_variableexp ) int alt2=4; switch ( input.LA(1) ) { case QNAME: case INT: case FLOAT: case BOOL: case APOSTROPHE: case 45: case 47: case 49: case 51: case 53: { alt2=1; } break; case 39: { alt2=2; } break; case 54: { alt2=3; } break; case NAME: case 43: { alt2=4; } break; default: if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 2, 0, input); throw nvae; } switch (alt2) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:253:4: ret= ocl_ecore_literalexp { pushFollow(FOLLOW_ocl_ecore_literalexp_in_ocl_ecore_oclexpression627); ret=ocl_ecore_literalexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:254:5: ret= ocl_ecore_ifexp { pushFollow(FOLLOW_ocl_ecore_ifexp_in_ocl_ecore_oclexpression635); ret=ocl_ecore_ifexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 3 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:255:5: ret= ocl_ecore_letexp { pushFollow(FOLLOW_ocl_ecore_letexp_in_ocl_ecore_oclexpression643); ret=ocl_ecore_letexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 4 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:256:5: ret= ocl_ecore_variableexp { pushFollow(FOLLOW_ocl_ecore_variableexp_in_ocl_ecore_oclexpression651); ret=ocl_ecore_variableexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_oclexpression" // $ANTLR start "main" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:263:1: main returns [Object ret2] : ( (ret= ocl_expressions_oclexpression ) EOF ) ; public final Object main() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:264:3: ( ( (ret= ocl_expressions_oclexpression ) EOF ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:265:3: ( (ret= ocl_expressions_oclexpression ) EOF ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:265:3: ( (ret= ocl_expressions_oclexpression ) EOF ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:265:4: (ret= ocl_expressions_oclexpression ) EOF { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:265:4: (ret= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:265:5: ret= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_main679); ret=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; } match(input,EOF,FOLLOW_EOF_in_main682); if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "main" // $ANTLR start "primary_ocl_expressions_oclexpression" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:272:1: primary_ocl_expressions_oclexpression returns [Object ret2] : (ret= ocl_ecore_oclexpression | ( LPAREN ret= ocl_expressions_oclexpression RPAREN ) ) ; public final Object primary_ocl_expressions_oclexpression() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:273:3: ( (ret= ocl_ecore_oclexpression | ( LPAREN ret= ocl_expressions_oclexpression RPAREN ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:274:3: (ret= ocl_ecore_oclexpression | ( LPAREN ret= ocl_expressions_oclexpression RPAREN ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:274:3: (ret= ocl_ecore_oclexpression | ( LPAREN ret= ocl_expressions_oclexpression RPAREN ) ) int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==NAME||LA3_0==QNAME||(LA3_0>=INT && LA3_0<=BOOL)||LA3_0==APOSTROPHE||LA3_0==39||LA3_0==43||LA3_0==45||LA3_0==47||LA3_0==49||LA3_0==51||(LA3_0>=53 && LA3_0<=54)) ) { alt3=1; } else if ( (LA3_0==LPAREN) ) { alt3=2; } else { if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 3, 0, input); throw nvae; } switch (alt3) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:274:4: ret= ocl_ecore_oclexpression { pushFollow(FOLLOW_ocl_ecore_oclexpression_in_primary_ocl_expressions_oclexpression710); ret=ocl_ecore_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:275:5: ( LPAREN ret= ocl_expressions_oclexpression RPAREN ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:275:5: ( LPAREN ret= ocl_expressions_oclexpression RPAREN ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:275:6: LPAREN ret= ocl_expressions_oclexpression RPAREN { if ( state.backtracking==0 ) { _enterOpdBrackSeq(); } if ( state.backtracking==0 ) { _beforeSeqEl(); } match(input,LPAREN,FOLLOW_LPAREN_in_primary_ocl_expressions_oclexpression719); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl(); } pushFollow(FOLLOW_ocl_expressions_oclexpression_in_primary_ocl_expressions_oclexpression725); ret=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl(); } match(input,RPAREN,FOLLOW_RPAREN_in_primary_ocl_expressions_oclexpression729); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitOpdBrackSeq(); } } break; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "primary_ocl_expressions_oclexpression" // $ANTLR start "oclexpressions_priority_0" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:282:1: oclexpressions_priority_0 returns [Object ret2] : ( (ret= primary_ocl_expressions_oclexpression ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* ) ) ; public final Object oclexpressions_priority_0() throws RecognitionException { Object ret2 = null; Object ret = null; java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1); Object semRef=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:283:3: ( ( (ret= primary_ocl_expressions_oclexpression ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:4: ( (ret= primary_ocl_expressions_oclexpression ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:4: ( (ret= primary_ocl_expressions_oclexpression ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:6: (ret= primary_ocl_expressions_oclexpression ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:6: (ret= primary_ocl_expressions_oclexpression ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:8: ret= primary_ocl_expressions_oclexpression ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* { pushFollow(FOLLOW_primary_ocl_expressions_oclexpression_in_oclexpressions_priority_0767); ret=primary_ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:49: ( ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) | ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) )* loop5: do { int alt5=3; int LA5_0 = input.LA(1); if ( (LA5_0==DOT) ) { int LA5_2 = input.LA(2); if ( (synpred22_Ocl()) ) { alt5=1; } } else if ( (LA5_0==ARROW) ) { int LA5_3 = input.LA(2); if ( (synpred25_Ocl()) ) { alt5=2; } } switch (alt5) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:50: ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) )=> ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:99: ( DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:100: DOT ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) { if ( state.backtracking==0 ) { _enterOpSeq(".", 2, false); } if ( state.backtracking==0 ) { _beforeSeqEl(); } match(input,DOT,FOLLOW_DOT_in_oclexpressions_priority_0790); if (state.failed) return ret2; if ( state.backtracking==0 ) { opName = "."; } if ( state.backtracking==0 ) { _afterSeqEl(); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:181: ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) ) int alt4=2; alt4 = dfa4.predict(input); switch (alt4) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:182: ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:204: (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:205: ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] { pushFollow(FOLLOW_ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp_in_oclexpressions_priority_0805); ret=ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp(opName, ret, firstToken); checkFollows(); state._fsp--; if (state.failed) return ret2; } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:285:3: ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:285:24: (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:285:25: ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] { pushFollow(FOLLOW_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp_in_oclexpressions_priority_0820); ret=ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp(opName, ret, firstToken); checkFollows(); state._fsp--; if (state.failed) return ret2; } } break; } if ( state.backtracking==0 ) { _exitOpSeq(); } } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:3: ( ARROW )=> ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:12: ( ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:13: ARROW ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) { if ( state.backtracking==0 ) { _enterOpSeq("->", 2, false); } if ( state.backtracking==0 ) { _beforeSeqEl(); } match(input,ARROW,FOLLOW_ARROW_in_oclexpressions_priority_0836); if (state.failed) return ret2; if ( state.backtracking==0 ) { opName = "->"; } if ( state.backtracking==0 ) { _afterSeqEl(); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:98: ( (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:99: (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:99: (ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:100: ret= ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[opName, ret, firstToken] { pushFollow(FOLLOW_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp_in_oclexpressions_priority_0844); ret=ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp(opName, ret, firstToken); checkFollows(); state._fsp--; if (state.failed) return ret2; } } if ( state.backtracking==0 ) { _exitOpSeq(); } } } break; default : break loop5; } } while (true); } } if ( state.backtracking==0 ) { this.setLocationAndComment(ret, firstToken); ret2=ret; } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { } return ret2; } // $ANTLR end "oclexpressions_priority_0" // $ANTLR start "oclexpressions_priority_1" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:294:1: oclexpressions_priority_1 returns [Object ret2] : ( (ret= oclexpressions_priority_0 ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* ) ) ; public final Object oclexpressions_priority_1() throws RecognitionException { Object ret2 = null; Object ret = null; java.lang.String opName=null; org.antlr.runtime.Token firstToken=input.LT(1); Object semRef=null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:295:3: ( ( (ret= oclexpressions_priority_0 ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:4: ( (ret= oclexpressions_priority_0 ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:4: ( (ret= oclexpressions_priority_0 ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:6: (ret= oclexpressions_priority_0 ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:6: (ret= oclexpressions_priority_0 ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:8: ret= oclexpressions_priority_0 ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* { pushFollow(FOLLOW_oclexpressions_priority_0_in_oclexpressions_priority_1890); ret=oclexpressions_priority_0(); checkFollows(); state._fsp--; if (state.failed) return ret2; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:37: ( ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) )* loop6: do { int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==EQUALS) ) { int LA6_2 = input.LA(2); if ( (synpred26_Ocl()) ) { alt6=1; } } switch (alt6) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:38: ( EQUALS )=> ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:48: ( EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:49: EQUALS ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) { if ( state.backtracking==0 ) { _enterOpSeq("=", 2, false); } if ( state.backtracking==0 ) { _beforeSeqEl(); } match(input,EQUALS,FOLLOW_EQUALS_in_oclexpressions_priority_1899); if (state.failed) return ret2; if ( state.backtracking==0 ) { opName = "="; } if ( state.backtracking==0 ) { _afterSeqEl(); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:133: ( (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:134: (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:134: (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:135: ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[opName, ret, firstToken] { pushFollow(FOLLOW_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp_in_oclexpressions_priority_1907); ret=ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp(opName, ret, firstToken); checkFollows(); state._fsp--; if (state.failed) return ret2; } } if ( state.backtracking==0 ) { _exitOpSeq(); } } } break; default : break loop6; } } while (true); } } if ( state.backtracking==0 ) { this.setLocationAndComment(ret, firstToken); ret2=ret; } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { } return ret2; } // $ANTLR end "oclexpressions_priority_1" // $ANTLR start "ocl_expressions_oclexpression" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:304:1: ocl_expressions_oclexpression returns [Object ret2] : ret= oclexpressions_priority_1 ; public final Object ocl_expressions_oclexpression() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:305:3: (ret= oclexpressions_priority_1 ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:306:3: ret= oclexpressions_priority_1 { pushFollow(FOLLOW_oclexpressions_priority_1_in_ocl_expressions_oclexpression944); ret=oclexpressions_priority_1(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_oclexpression" // $ANTLR start "ocl_ecore_literalexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:313:1: ocl_ecore_literalexp returns [Object ret2] : (ret= ocl_ecore_primitiveliteralexp | ret= ocl_ecore_enumliteralexp | ret= ocl_ecore_collectionliteralexp ) ; public final Object ocl_ecore_literalexp() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:314:3: ( (ret= ocl_ecore_primitiveliteralexp | ret= ocl_ecore_enumliteralexp | ret= ocl_ecore_collectionliteralexp ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:315:3: (ret= ocl_ecore_primitiveliteralexp | ret= ocl_ecore_enumliteralexp | ret= ocl_ecore_collectionliteralexp ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:315:3: (ret= ocl_ecore_primitiveliteralexp | ret= ocl_ecore_enumliteralexp | ret= ocl_ecore_collectionliteralexp ) int alt7=3; switch ( input.LA(1) ) { case INT: case FLOAT: case BOOL: case APOSTROPHE: { alt7=1; } break; case QNAME: { alt7=2; } break; case 45: case 47: case 49: case 51: case 53: { alt7=3; } break; default: if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 7, 0, input); throw nvae; } switch (alt7) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:315:4: ret= ocl_ecore_primitiveliteralexp { pushFollow(FOLLOW_ocl_ecore_primitiveliteralexp_in_ocl_ecore_literalexp970); ret=ocl_ecore_primitiveliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:316:5: ret= ocl_ecore_enumliteralexp { pushFollow(FOLLOW_ocl_ecore_enumliteralexp_in_ocl_ecore_literalexp978); ret=ocl_ecore_enumliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 3 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:317:5: ret= ocl_ecore_collectionliteralexp { pushFollow(FOLLOW_ocl_ecore_collectionliteralexp_in_ocl_ecore_literalexp986); ret=ocl_ecore_collectionliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_literalexp" // $ANTLR start "ocl_ecore_primitiveliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:324:1: ocl_ecore_primitiveliteralexp returns [Object ret2] : (ret= ocl_ecore_numericliteralexp | ret= ocl_ecore_stringliteralexp | ret= ocl_ecore_booleanliteralexp ) ; public final Object ocl_ecore_primitiveliteralexp() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:325:3: ( (ret= ocl_ecore_numericliteralexp | ret= ocl_ecore_stringliteralexp | ret= ocl_ecore_booleanliteralexp ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:326:3: (ret= ocl_ecore_numericliteralexp | ret= ocl_ecore_stringliteralexp | ret= ocl_ecore_booleanliteralexp ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:326:3: (ret= ocl_ecore_numericliteralexp | ret= ocl_ecore_stringliteralexp | ret= ocl_ecore_booleanliteralexp ) int alt8=3; switch ( input.LA(1) ) { case INT: case FLOAT: { alt8=1; } break; case APOSTROPHE: { alt8=2; } break; case BOOL: { alt8=3; } break; default: if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 8, 0, input); throw nvae; } switch (alt8) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:326:4: ret= ocl_ecore_numericliteralexp { pushFollow(FOLLOW_ocl_ecore_numericliteralexp_in_ocl_ecore_primitiveliteralexp1013); ret=ocl_ecore_numericliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:327:5: ret= ocl_ecore_stringliteralexp { pushFollow(FOLLOW_ocl_ecore_stringliteralexp_in_ocl_ecore_primitiveliteralexp1021); ret=ocl_ecore_stringliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 3 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:328:5: ret= ocl_ecore_booleanliteralexp { pushFollow(FOLLOW_ocl_ecore_booleanliteralexp_in_ocl_ecore_primitiveliteralexp1029); ret=ocl_ecore_booleanliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_primitiveliteralexp" // $ANTLR start "ocl_ecore_numericliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:335:1: ocl_ecore_numericliteralexp returns [Object ret2] : (ret= ocl_ecore_integerliteralexp | ret= ocl_ecore_realliteralexp ) ; public final Object ocl_ecore_numericliteralexp() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:336:3: ( (ret= ocl_ecore_integerliteralexp | ret= ocl_ecore_realliteralexp ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:337:3: (ret= ocl_ecore_integerliteralexp | ret= ocl_ecore_realliteralexp ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:337:3: (ret= ocl_ecore_integerliteralexp | ret= ocl_ecore_realliteralexp ) int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==INT) ) { alt9=1; } else if ( (LA9_0==FLOAT) ) { alt9=2; } else { if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 9, 0, input); throw nvae; } switch (alt9) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:337:4: ret= ocl_ecore_integerliteralexp { pushFollow(FOLLOW_ocl_ecore_integerliteralexp_in_ocl_ecore_numericliteralexp1056); ret=ocl_ecore_integerliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:338:5: ret= ocl_ecore_realliteralexp { pushFollow(FOLLOW_ocl_ecore_realliteralexp_in_ocl_ecore_numericliteralexp1064); ret=ocl_ecore_realliteralexp(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_numericliteralexp" // $ANTLR start "ocl_ecore_integerliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:345:1: ocl_ecore_integerliteralexp returns [Object ret2] : ( (temp= integerSymbol ) ) ; public final Object ocl_ecore_integerliteralexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","IntegerLiteralExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:351:3: ( ( (temp= integerSymbol ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:352:3: ( (temp= integerSymbol ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:352:3: ( (temp= integerSymbol ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:352:4: (temp= integerSymbol ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.19/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:352:128: (temp= integerSymbol ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:352:130: temp= integerSymbol { pushFollow(FOLLOW_integerSymbol_in_ocl_ecore_integerliteralexp1098); temp=integerSymbol(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "integerSymbol", temp); setParent(temp,ret,"integerSymbol"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.19/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:ecore::EClassifier.allInstances()->select(c| if c.ePackage->isEmpty() then false else c.ePackage.name='ecore' and c.name='EIntegerObject' endif)", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_integerliteralexp" // $ANTLR start "ocl_ecore_stringliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:361:1: ocl_ecore_stringliteralexp returns [Object ret2] : ( APOSTROPHE (temp= identifier ) APOSTROPHE ) ; public final Object ocl_ecore_stringliteralexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","StringLiteralExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:367:3: ( ( APOSTROPHE (temp= identifier ) APOSTROPHE ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:368:3: ( APOSTROPHE (temp= identifier ) APOSTROPHE ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:368:3: ( APOSTROPHE (temp= identifier ) APOSTROPHE ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:368:4: APOSTROPHE (temp= identifier ) APOSTROPHE { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.20/@templateSequence/@elements.0"); } match(input,APOSTROPHE,FOLLOW_APOSTROPHE_in_ocl_ecore_stringliteralexp1145); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.20/@templateSequence/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:368:280: (temp= identifier ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:368:282: temp= identifier { pushFollow(FOLLOW_identifier_in_ocl_ecore_stringliteralexp1153); temp=identifier(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "stringSymbol", temp); setParent(temp,ret,"stringSymbol"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.20/@templateSequence/@elements.2"); } match(input,APOSTROPHE,FOLLOW_APOSTROPHE_in_ocl_ecore_stringliteralexp1160); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.20/@templateSequence/@elements.3"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:ecore::EClassifier.allInstances()->select(c| if c.ePackage->isEmpty() then false else c.ePackage.name='ecore' and c.name='EString' endif)", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_stringliteralexp" // $ANTLR start "ocl_ecore_realliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:377:1: ocl_ecore_realliteralexp returns [Object ret2] : ( (temp= realSymbol ) ) ; public final Object ocl_ecore_realliteralexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","RealLiteralExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:383:3: ( ( (temp= realSymbol ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:384:3: ( (temp= realSymbol ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:384:3: ( (temp= realSymbol ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:384:4: (temp= realSymbol ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.21/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:384:128: (temp= realSymbol ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:384:130: temp= realSymbol { pushFollow(FOLLOW_realSymbol_in_ocl_ecore_realliteralexp1208); temp=realSymbol(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "realSymbol", temp); setParent(temp,ret,"realSymbol"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.21/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:ecore::EClassifier.allInstances()->select(c| if c.ePackage->isEmpty() then false else c.ePackage.name='ecore' and c.name='EDoubleObject' endif)", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_realliteralexp" // $ANTLR start "ocl_ecore_booleanliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:393:1: ocl_ecore_booleanliteralexp returns [Object ret2] : ( (temp= booleanValueSymbol ) ) ; public final Object ocl_ecore_booleanliteralexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","BooleanLiteralExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:399:3: ( ( (temp= booleanValueSymbol ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:400:3: ( (temp= booleanValueSymbol ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:400:3: ( (temp= booleanValueSymbol ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:400:4: (temp= booleanValueSymbol ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.22/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:400:128: (temp= booleanValueSymbol ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:400:130: temp= booleanValueSymbol { pushFollow(FOLLOW_booleanValueSymbol_in_ocl_ecore_booleanliteralexp1258); temp=booleanValueSymbol(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "booleanSymbol", temp); setParent(temp,ret,"booleanSymbol"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.22/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:ecore::EClassifier.allInstances()->select(c| if c.ePackage->isEmpty() then false else c.ePackage.name='ecore' and c.name='EBooleanObject' endif)", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_booleanliteralexp" // $ANTLR start "ocl_ecore_enumliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:409:1: ocl_ecore_enumliteralexp returns [Object ret2] : ( (temp= qualifiedNameSymbol ) DCOLON (temp= identifier ) ) ; public final Object ocl_ecore_enumliteralexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","EnumLiteralExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:415:3: ( ( (temp= qualifiedNameSymbol ) DCOLON (temp= identifier ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:416:3: ( (temp= qualifiedNameSymbol ) DCOLON (temp= identifier ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:416:3: ( (temp= qualifiedNameSymbol ) DCOLON (temp= identifier ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:416:4: (temp= qualifiedNameSymbol ) DCOLON (temp= identifier ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.23/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:416:128: (temp= qualifiedNameSymbol ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:416:130: temp= qualifiedNameSymbol { pushFollow(FOLLOW_qualifiedNameSymbol_in_ocl_ecore_enumliteralexp1308); temp=qualifiedNameSymbol(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "eType", null, temp, "ecore::EEnum.allInstances() ->select(name = ?)"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.23/@templateSequence/@elements.1"); } match(input,DCOLON,FOLLOW_DCOLON_in_ocl_ecore_enumliteralexp1315); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.23/@templateSequence/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:416:532: (temp= identifier ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:416:534: temp= identifier { pushFollow(FOLLOW_identifier_in_ocl_ecore_enumliteralexp1323); temp=identifier(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "referredEnumLiteral", null, temp, "self.eType.oclAsType(ecore::EEnum).eLiterals->select(literal = ?)"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_enumliteralexp" // $ANTLR start "ocl_expressions_collectionliteralpart" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:424:1: ocl_expressions_collectionliteralpart returns [Object ret2] : (ret= ocl_expressions_collectionitem | ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_expressions_collectionrange ) ) ; public final Object ocl_expressions_collectionliteralpart() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:425:3: ( (ret= ocl_expressions_collectionitem | ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_expressions_collectionrange ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:426:3: (ret= ocl_expressions_collectionitem | ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_expressions_collectionrange ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:426:3: (ret= ocl_expressions_collectionitem | ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_expressions_collectionrange ) ) int alt10=2; alt10 = dfa10.predict(input); switch (alt10) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:426:4: ret= ocl_expressions_collectionitem { pushFollow(FOLLOW_ocl_expressions_collectionitem_in_ocl_expressions_collectionliteralpart1363); ret=ocl_expressions_collectionitem(); checkFollows(); state._fsp--; if (state.failed) return ret2; } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:427:5: ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_expressions_collectionrange ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:427:44: (ret= ocl_expressions_collectionrange ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:427:45: ret= ocl_expressions_collectionrange { pushFollow(FOLLOW_ocl_expressions_collectionrange_in_ocl_expressions_collectionliteralpart1378); ret=ocl_expressions_collectionrange(); checkFollows(); state._fsp--; if (state.failed) return ret2; } } break; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_collectionliteralpart" // $ANTLR start "ocl_ecore_collectionliteralexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:434:1: ocl_ecore_collectionliteralexp returns [Object ret2] : ( ( ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) | ( 'Set' (temp= ecore_eclassifier_set ) ) | ( 'Collection' (temp= ecore_eclassifier_collection ) ) | ( 'Bag' (temp= ecore_eclassifier_bag ) ) | ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) ) LCURL (temp= ocl_expressions_collectionliteralpart ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* )? RCURL ) ; public final Object ocl_ecore_collectionliteralexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","CollectionLiteralExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, true, false, new String[]{"collectionliteral"}) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:440:3: ( ( ( ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) | ( 'Set' (temp= ecore_eclassifier_set ) ) | ( 'Collection' (temp= ecore_eclassifier_collection ) ) | ( 'Bag' (temp= ecore_eclassifier_bag ) ) | ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) ) LCURL (temp= ocl_expressions_collectionliteralpart ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* )? RCURL ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:3: ( ( ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) | ( 'Set' (temp= ecore_eclassifier_set ) ) | ( 'Collection' (temp= ecore_eclassifier_collection ) ) | ( 'Bag' (temp= ecore_eclassifier_bag ) ) | ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) ) LCURL (temp= ocl_expressions_collectionliteralpart ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* )? RCURL ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:3: ( ( ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) | ( 'Set' (temp= ecore_eclassifier_set ) ) | ( 'Collection' (temp= ecore_eclassifier_collection ) ) | ( 'Bag' (temp= ecore_eclassifier_bag ) ) | ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) ) LCURL (temp= ocl_expressions_collectionliteralpart ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* )? RCURL ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:4: ( ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) | ( 'Set' (temp= ecore_eclassifier_set ) ) | ( 'Collection' (temp= ecore_eclassifier_collection ) ) | ( 'Bag' (temp= ecore_eclassifier_bag ) ) | ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) ) LCURL (temp= ocl_expressions_collectionliteralpart ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* )? RCURL { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:128: ( ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) | ( 'Set' (temp= ecore_eclassifier_set ) ) | ( 'Collection' (temp= ecore_eclassifier_collection ) ) | ( 'Bag' (temp= ecore_eclassifier_bag ) ) | ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) ) int alt11=5; switch ( input.LA(1) ) { case 45: { alt11=1; } break; case 47: { alt11=2; } break; case 49: { alt11=3; } break; case 51: { alt11=4; } break; case 53: { alt11=5; } break; default: if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 11, 0, input); throw nvae; } switch (alt11) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:129: ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) { if ( state.backtracking==0 ) { _enterAlt(0); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:145: ( 'Sequence' (temp= ecore_eclassifier_sequence ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:146: 'Sequence' (temp= ecore_eclassifier_sequence ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.0/@elements.0"); } match(input,45,FOLLOW_45_in_ocl_ecore_collectionliteralexp1414); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.0/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:470: (temp= ecore_eclassifier_sequence ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:441:472: temp= ecore_eclassifier_sequence { pushFollow(FOLLOW_ecore_eclassifier_sequence_in_ocl_ecore_collectionliteralexp1421); temp=ecore_eclassifier_sequence(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "eType", temp); setParent(temp,ret,"eType"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.0/@elements.2"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "kind", org.eclipse.ocl.expressions.CollectionKind.SEQUENCE);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:443:4: ( 'Set' (temp= ecore_eclassifier_set ) ) { if ( state.backtracking==0 ) { _enterAlt(1); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:443:20: ( 'Set' (temp= ecore_eclassifier_set ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:443:21: 'Set' (temp= ecore_eclassifier_set ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.1/@elements.0"); } match(input,47,FOLLOW_47_in_ocl_ecore_collectionliteralexp1440); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.1/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:443:340: (temp= ecore_eclassifier_set ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:443:342: temp= ecore_eclassifier_set { pushFollow(FOLLOW_ecore_eclassifier_set_in_ocl_ecore_collectionliteralexp1447); temp=ecore_eclassifier_set(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "eType", temp); setParent(temp,ret,"eType"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.1/@elements.2"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "kind", org.eclipse.ocl.expressions.CollectionKind.SET);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 3 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:445:4: ( 'Collection' (temp= ecore_eclassifier_collection ) ) { if ( state.backtracking==0 ) { _enterAlt(2); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:445:20: ( 'Collection' (temp= ecore_eclassifier_collection ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:445:21: 'Collection' (temp= ecore_eclassifier_collection ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.2/@elements.0"); } match(input,49,FOLLOW_49_in_ocl_ecore_collectionliteralexp1466); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.2/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:445:347: (temp= ecore_eclassifier_collection ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:445:349: temp= ecore_eclassifier_collection { pushFollow(FOLLOW_ecore_eclassifier_collection_in_ocl_ecore_collectionliteralexp1473); temp=ecore_eclassifier_collection(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "eType", temp); setParent(temp,ret,"eType"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.2/@elements.2"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "kind", org.eclipse.ocl.expressions.CollectionKind.COLLECTION);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 4 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:447:4: ( 'Bag' (temp= ecore_eclassifier_bag ) ) { if ( state.backtracking==0 ) { _enterAlt(3); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:447:20: ( 'Bag' (temp= ecore_eclassifier_bag ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:447:21: 'Bag' (temp= ecore_eclassifier_bag ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.3/@elements.0"); } match(input,51,FOLLOW_51_in_ocl_ecore_collectionliteralexp1492); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.3/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:447:340: (temp= ecore_eclassifier_bag ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:447:342: temp= ecore_eclassifier_bag { pushFollow(FOLLOW_ecore_eclassifier_bag_in_ocl_ecore_collectionliteralexp1499); temp=ecore_eclassifier_bag(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "eType", temp); setParent(temp,ret,"eType"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.3/@elements.2"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "kind", org.eclipse.ocl.expressions.CollectionKind.BAG);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 5 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:449:4: ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) { if ( state.backtracking==0 ) { _enterAlt(4); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:449:20: ( 'OrderedSet' (temp= ecore_eclassifier_orderedset ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:449:21: 'OrderedSet' (temp= ecore_eclassifier_orderedset ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.4/@elements.0"); } match(input,53,FOLLOW_53_in_ocl_ecore_collectionliteralexp1518); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.4/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:449:347: (temp= ecore_eclassifier_orderedset ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:449:349: temp= ecore_eclassifier_orderedset { pushFollow(FOLLOW_ecore_eclassifier_orderedset_in_ocl_ecore_collectionliteralexp1525); temp=ecore_eclassifier_orderedset(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "eType", temp); setParent(temp,ret,"eType"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.0/@sequences.4/@elements.2"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "kind", org.eclipse.ocl.expressions.CollectionKind.ORDERED_SET);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.1"); } match(input,LCURL,FOLLOW_LCURL_in_ocl_ecore_collectionliteralexp1540); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:450:643: (temp= ocl_expressions_collectionliteralpart ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* )? int alt13=2; int LA13_0 = input.LA(1); if ( (LA13_0==NAME||LA13_0==QNAME||(LA13_0>=INT && LA13_0<=LPAREN)||LA13_0==APOSTROPHE||LA13_0==39||LA13_0==43||LA13_0==45||LA13_0==47||LA13_0==49||LA13_0==51||(LA13_0>=53 && LA13_0<=54)) ) { alt13=1; } switch (alt13) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:450:645: temp= ocl_expressions_collectionliteralpart ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* { pushFollow(FOLLOW_ocl_expressions_collectionliteralpart_in_ocl_ecore_collectionliteralexp1548); temp=ocl_expressions_collectionliteralpart(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "part", temp); setParent(temp,ret,"part"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:451:30: ( ( COMMA ) temp= ocl_expressions_collectionliteralpart )* loop12: do { int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==COMMA) ) { alt12=1; } switch (alt12) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:451:31: ( COMMA ) temp= ocl_expressions_collectionliteralpart { if ( state.backtracking==0 ) { _enterSepSeq(); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:451:48: ( COMMA ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:451:49: COMMA { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.2/@propertyArgs.0/@separatorSequence/@elements.0"); } match(input,COMMA,FOLLOW_COMMA_in_ocl_ecore_collectionliteralexp1557); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitSepSeq(); } pushFollow(FOLLOW_ocl_expressions_collectionliteralpart_in_ocl_ecore_collectionliteralexp1565); temp=ocl_expressions_collectionliteralpart(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "part", temp); setParent(temp,ret,"part"); } } break; default : break loop12; } } while (true); } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.3"); } match(input,RCURL,FOLLOW_RCURL_in_ocl_ecore_collectionliteralexp1577); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.25/@templateSequence/@elements.4"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "name", null, null, "OCL:self.eType.name.substring(1, -4+self.eType.name.size()).concat('{...}')", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, true); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_collectionliteralexp" // $ANTLR start "ecore_eclassifier_sequence" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:460:1: ecore_eclassifier_sequence returns [Object ret2] : (ret= ecore_edatatype_sequence ) ; public final Object ecore_eclassifier_sequence() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:461:3: ( (ret= ecore_edatatype_sequence ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:462:3: (ret= ecore_edatatype_sequence ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:462:3: (ret= ecore_edatatype_sequence ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:462:4: ret= ecore_edatatype_sequence { pushFollow(FOLLOW_ecore_edatatype_sequence_in_ecore_eclassifier_sequence1618); ret=ecore_edatatype_sequence(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_eclassifier_sequence" // $ANTLR start "ecore_edatatype_sequence" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:469:1: ecore_edatatype_sequence returns [Object ret2] : (ret= ocl_ecore_collectiontype_sequence ) ; public final Object ecore_edatatype_sequence() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:470:3: ( (ret= ocl_ecore_collectiontype_sequence ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:471:3: (ret= ocl_ecore_collectiontype_sequence ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:471:3: (ret= ocl_ecore_collectiontype_sequence ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:471:4: ret= ocl_ecore_collectiontype_sequence { pushFollow(FOLLOW_ocl_ecore_collectiontype_sequence_in_ecore_edatatype_sequence1645); ret=ocl_ecore_collectiontype_sequence(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_edatatype_sequence" // $ANTLR start "ocl_ecore_collectiontype_sequence" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:478:1: ocl_ecore_collectiontype_sequence returns [Object ret2] : (ret= ocl_ecore_sequencetype_sequence ) ; public final Object ocl_ecore_collectiontype_sequence() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:479:3: ( (ret= ocl_ecore_sequencetype_sequence ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:480:3: (ret= ocl_ecore_sequencetype_sequence ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:480:3: (ret= ocl_ecore_sequencetype_sequence ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:480:4: ret= ocl_ecore_sequencetype_sequence { pushFollow(FOLLOW_ocl_ecore_sequencetype_sequence_in_ocl_ecore_collectiontype_sequence1672); ret=ocl_ecore_sequencetype_sequence(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_collectiontype_sequence" // $ANTLR start "ocl_ecore_sequencetype_sequence" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:487:1: ocl_ecore_sequencetype_sequence returns [Object ret2] : ( collectiontypeelementtype[ret] ) ; public final Object ocl_ecore_sequencetype_sequence() throws RecognitionException { Object ret2 = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","SequenceType"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"sequence"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:493:3: ( ( collectiontypeelementtype[ret] ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:494:3: ( collectiontypeelementtype[ret] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:494:3: ( collectiontypeelementtype[ret] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:494:4: collectiontypeelementtype[ret] { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.29/@templateSequence/@elements.0"); } pushFollow(FOLLOW_collectiontypeelementtype_in_ocl_ecore_sequencetype_sequence1702); collectiontypeelementtype(ret); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.29/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "name", "SequenceType");_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_sequencetype_sequence" // $ANTLR start "ecore_eclassifier_set" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:502:1: ecore_eclassifier_set returns [Object ret2] : (ret= ecore_edatatype_set ) ; public final Object ecore_eclassifier_set() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:503:3: ( (ret= ecore_edatatype_set ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:504:3: (ret= ecore_edatatype_set ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:504:3: (ret= ecore_edatatype_set ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:504:4: ret= ecore_edatatype_set { pushFollow(FOLLOW_ecore_edatatype_set_in_ecore_eclassifier_set1743); ret=ecore_edatatype_set(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_eclassifier_set" // $ANTLR start "ecore_edatatype_set" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:511:1: ecore_edatatype_set returns [Object ret2] : (ret= ocl_ecore_collectiontype_set ) ; public final Object ecore_edatatype_set() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:512:3: ( (ret= ocl_ecore_collectiontype_set ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:513:3: (ret= ocl_ecore_collectiontype_set ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:513:3: (ret= ocl_ecore_collectiontype_set ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:513:4: ret= ocl_ecore_collectiontype_set { pushFollow(FOLLOW_ocl_ecore_collectiontype_set_in_ecore_edatatype_set1770); ret=ocl_ecore_collectiontype_set(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_edatatype_set" // $ANTLR start "ocl_ecore_collectiontype_set" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:520:1: ocl_ecore_collectiontype_set returns [Object ret2] : (ret= ocl_ecore_settype_set ) ; public final Object ocl_ecore_collectiontype_set() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:521:3: ( (ret= ocl_ecore_settype_set ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:522:3: (ret= ocl_ecore_settype_set ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:522:3: (ret= ocl_ecore_settype_set ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:522:4: ret= ocl_ecore_settype_set { pushFollow(FOLLOW_ocl_ecore_settype_set_in_ocl_ecore_collectiontype_set1797); ret=ocl_ecore_settype_set(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_collectiontype_set" // $ANTLR start "ocl_ecore_settype_set" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:529:1: ocl_ecore_settype_set returns [Object ret2] : ( collectiontypeelementtype[ret] ) ; public final Object ocl_ecore_settype_set() throws RecognitionException { Object ret2 = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","SetType"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"set"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:535:3: ( ( collectiontypeelementtype[ret] ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:536:3: ( collectiontypeelementtype[ret] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:536:3: ( collectiontypeelementtype[ret] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:536:4: collectiontypeelementtype[ret] { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.33/@templateSequence/@elements.0"); } pushFollow(FOLLOW_collectiontypeelementtype_in_ocl_ecore_settype_set1827); collectiontypeelementtype(ret); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.33/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "name", "SetType");_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_settype_set" // $ANTLR start "ecore_eclassifier_collection" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:544:1: ecore_eclassifier_collection returns [Object ret2] : (ret= ecore_edatatype_collection ) ; public final Object ecore_eclassifier_collection() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:545:3: ( (ret= ecore_edatatype_collection ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:546:3: (ret= ecore_edatatype_collection ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:546:3: (ret= ecore_edatatype_collection ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:546:4: ret= ecore_edatatype_collection { pushFollow(FOLLOW_ecore_edatatype_collection_in_ecore_eclassifier_collection1868); ret=ecore_edatatype_collection(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_eclassifier_collection" // $ANTLR start "ecore_edatatype_collection" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:553:1: ecore_edatatype_collection returns [Object ret2] : (ret= ocl_ecore_collectiontype_collection ) ; public final Object ecore_edatatype_collection() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:554:3: ( (ret= ocl_ecore_collectiontype_collection ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:555:3: (ret= ocl_ecore_collectiontype_collection ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:555:3: (ret= ocl_ecore_collectiontype_collection ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:555:4: ret= ocl_ecore_collectiontype_collection { pushFollow(FOLLOW_ocl_ecore_collectiontype_collection_in_ecore_edatatype_collection1895); ret=ocl_ecore_collectiontype_collection(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_edatatype_collection" // $ANTLR start "ocl_ecore_collectiontype_collection" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:562:1: ocl_ecore_collectiontype_collection returns [Object ret2] : ( collectiontypeelementtype[ret] ) ; public final Object ocl_ecore_collectiontype_collection() throws RecognitionException { Object ret2 = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","CollectionType"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"collection"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:568:3: ( ( collectiontypeelementtype[ret] ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:569:3: ( collectiontypeelementtype[ret] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:569:3: ( collectiontypeelementtype[ret] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:569:4: collectiontypeelementtype[ret] { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.36/@templateSequence/@elements.0"); } pushFollow(FOLLOW_collectiontypeelementtype_in_ocl_ecore_collectiontype_collection1925); collectiontypeelementtype(ret); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.36/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "name", "CollectionType");_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_collectiontype_collection" // $ANTLR start "ecore_eclassifier_bag" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:577:1: ecore_eclassifier_bag returns [Object ret2] : (ret= ecore_edatatype_bag ) ; public final Object ecore_eclassifier_bag() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:578:3: ( (ret= ecore_edatatype_bag ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:579:3: (ret= ecore_edatatype_bag ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:579:3: (ret= ecore_edatatype_bag ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:579:4: ret= ecore_edatatype_bag { pushFollow(FOLLOW_ecore_edatatype_bag_in_ecore_eclassifier_bag1966); ret=ecore_edatatype_bag(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_eclassifier_bag" // $ANTLR start "ecore_edatatype_bag" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:586:1: ecore_edatatype_bag returns [Object ret2] : (ret= ocl_ecore_collectiontype_bag ) ; public final Object ecore_edatatype_bag() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:587:3: ( (ret= ocl_ecore_collectiontype_bag ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:588:3: (ret= ocl_ecore_collectiontype_bag ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:588:3: (ret= ocl_ecore_collectiontype_bag ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:588:4: ret= ocl_ecore_collectiontype_bag { pushFollow(FOLLOW_ocl_ecore_collectiontype_bag_in_ecore_edatatype_bag1993); ret=ocl_ecore_collectiontype_bag(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_edatatype_bag" // $ANTLR start "ocl_ecore_collectiontype_bag" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:595:1: ocl_ecore_collectiontype_bag returns [Object ret2] : (ret= ocl_ecore_bagtype_bag ) ; public final Object ocl_ecore_collectiontype_bag() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:596:3: ( (ret= ocl_ecore_bagtype_bag ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:597:3: (ret= ocl_ecore_bagtype_bag ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:597:3: (ret= ocl_ecore_bagtype_bag ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:597:4: ret= ocl_ecore_bagtype_bag { pushFollow(FOLLOW_ocl_ecore_bagtype_bag_in_ocl_ecore_collectiontype_bag2020); ret=ocl_ecore_bagtype_bag(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_collectiontype_bag" // $ANTLR start "ocl_ecore_bagtype_bag" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:604:1: ocl_ecore_bagtype_bag returns [Object ret2] : ( collectiontypeelementtype[ret] ) ; public final Object ocl_ecore_bagtype_bag() throws RecognitionException { Object ret2 = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","BagType"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"bag"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:610:3: ( ( collectiontypeelementtype[ret] ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:611:3: ( collectiontypeelementtype[ret] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:611:3: ( collectiontypeelementtype[ret] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:611:4: collectiontypeelementtype[ret] { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.40/@templateSequence/@elements.0"); } pushFollow(FOLLOW_collectiontypeelementtype_in_ocl_ecore_bagtype_bag2050); collectiontypeelementtype(ret); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.40/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "name", "BagType");_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_bagtype_bag" // $ANTLR start "ecore_eclassifier_orderedset" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:619:1: ecore_eclassifier_orderedset returns [Object ret2] : (ret= ecore_edatatype_orderedset ) ; public final Object ecore_eclassifier_orderedset() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:620:3: ( (ret= ecore_edatatype_orderedset ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:621:3: (ret= ecore_edatatype_orderedset ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:621:3: (ret= ecore_edatatype_orderedset ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:621:4: ret= ecore_edatatype_orderedset { pushFollow(FOLLOW_ecore_edatatype_orderedset_in_ecore_eclassifier_orderedset2091); ret=ecore_edatatype_orderedset(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_eclassifier_orderedset" // $ANTLR start "ecore_edatatype_orderedset" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:628:1: ecore_edatatype_orderedset returns [Object ret2] : (ret= ocl_ecore_collectiontype_orderedset ) ; public final Object ecore_edatatype_orderedset() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:629:3: ( (ret= ocl_ecore_collectiontype_orderedset ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:630:3: (ret= ocl_ecore_collectiontype_orderedset ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:630:3: (ret= ocl_ecore_collectiontype_orderedset ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:630:4: ret= ocl_ecore_collectiontype_orderedset { pushFollow(FOLLOW_ocl_ecore_collectiontype_orderedset_in_ecore_edatatype_orderedset2118); ret=ocl_ecore_collectiontype_orderedset(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ecore_edatatype_orderedset" // $ANTLR start "ocl_ecore_collectiontype_orderedset" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:637:1: ocl_ecore_collectiontype_orderedset returns [Object ret2] : (ret= ocl_ecore_orderedsettype_orderedset ) ; public final Object ocl_ecore_collectiontype_orderedset() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:638:3: ( (ret= ocl_ecore_orderedsettype_orderedset ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:639:3: (ret= ocl_ecore_orderedsettype_orderedset ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:639:3: (ret= ocl_ecore_orderedsettype_orderedset ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:639:4: ret= ocl_ecore_orderedsettype_orderedset { pushFollow(FOLLOW_ocl_ecore_orderedsettype_orderedset_in_ocl_ecore_collectiontype_orderedset2145); ret=ocl_ecore_orderedsettype_orderedset(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_ecore_collectiontype_orderedset" // $ANTLR start "ocl_ecore_orderedsettype_orderedset" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:646:1: ocl_ecore_orderedsettype_orderedset returns [Object ret2] : ( collectiontypeelementtype[ret] ) ; public final Object ocl_ecore_orderedsettype_orderedset() throws RecognitionException { Object ret2 = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","OrderedSetType"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"orderedset"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:652:3: ( ( collectiontypeelementtype[ret] ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:653:3: ( collectiontypeelementtype[ret] ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:653:3: ( collectiontypeelementtype[ret] ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:653:4: collectiontypeelementtype[ret] { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.44/@templateSequence/@elements.0"); } pushFollow(FOLLOW_collectiontypeelementtype_in_ocl_ecore_orderedsettype_orderedset2175); collectiontypeelementtype(ret); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.44/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "name", "OrderedSetType");_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_orderedsettype_orderedset" // $ANTLR start "collectiontypeelementtype" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:661:1: collectiontypeelementtype[Object ret] : () ; public final void collectiontypeelementtype(Object ret) throws RecognitionException { try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:662:3: ( () ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:663:3: () { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:663:3: () // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:663:4: { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.45/@functionSequence/@elements.0"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "elementType", null, null, "OCL:#context(collectionliteral).oclAsType(ocl::ecore::CollectionLiteralExp).part.oclAsType(ocl::ecore::CollectionLiteralPart).eType.oclAsType(ecore::EClass)->iterate("+ " t; acc:ecore::EClass=null |"+ " if acc->isEmpty() or acc=t then"+ " t "+ " else "+ " if t.eAllSuperTypes->includes(acc) then"+ " acc "+ " else "+ " if acc.eAllSuperTypes->includes(t) then"+ " t "+ " else "+ " null "+ " endif"+ " endif"+ " endif)", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { } } } finally { } return ; } // $ANTLR end "collectiontypeelementtype" // $ANTLR start "ocl_expressions_collectionitem" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:684:1: ocl_expressions_collectionitem returns [Object ret2] : ( ( ocl_expressions_collectionitem )=> (ret= ocl_ecore_collectionitem ) ) ; public final Object ocl_expressions_collectionitem() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:685:3: ( ( ( ocl_expressions_collectionitem )=> (ret= ocl_ecore_collectionitem ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:686:3: ( ( ocl_expressions_collectionitem )=> (ret= ocl_ecore_collectionitem ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:686:3: ( ( ocl_expressions_collectionitem )=> (ret= ocl_ecore_collectionitem ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:686:4: ( ocl_expressions_collectionitem )=> (ret= ocl_ecore_collectionitem ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:686:38: (ret= ocl_ecore_collectionitem ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:686:39: ret= ocl_ecore_collectionitem { pushFollow(FOLLOW_ocl_ecore_collectionitem_in_ocl_expressions_collectionitem2245); ret=ocl_ecore_collectionitem(); checkFollows(); state._fsp--; if (state.failed) return ret2; } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_collectionitem" // $ANTLR start "ocl_ecore_collectionitem" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:693:1: ocl_ecore_collectionitem returns [Object ret2] : ( (temp= ocl_expressions_oclexpression ) ) ; public final Object ocl_ecore_collectionitem() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","CollectionItem"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:699:3: ( ( (temp= ocl_expressions_oclexpression ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:700:3: ( (temp= ocl_expressions_oclexpression ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:700:3: ( (temp= ocl_expressions_oclexpression ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:700:4: (temp= ocl_expressions_oclexpression ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.47/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:700:128: (temp= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:700:130: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_collectionitem2280); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "item", temp); setParent(temp,ret,"item"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.47/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:self.item.oclAsType(ocl::ecore::OCLExpression).eType", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_collectionitem" // $ANTLR start "ocl_expressions_collectionrange" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:709:1: ocl_expressions_collectionrange returns [Object ret2] : ( ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_ecore_collectionrange ) ) ; public final Object ocl_expressions_collectionrange() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:710:3: ( ( ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_ecore_collectionrange ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:711:3: ( ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_ecore_collectionrange ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:711:3: ( ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_ecore_collectionrange ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:711:4: ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_ecore_collectionrange ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:711:43: (ret= ocl_ecore_collectionrange ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:711:44: ret= ocl_ecore_collectionrange { pushFollow(FOLLOW_ocl_ecore_collectionrange_in_ocl_expressions_collectionrange2330); ret=ocl_ecore_collectionrange(); checkFollows(); state._fsp--; if (state.failed) return ret2; } } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_collectionrange" // $ANTLR start "ocl_ecore_collectionrange" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:718:1: ocl_ecore_collectionrange returns [Object ret2] : ( (temp= ocl_expressions_oclexpression ) DDOT (temp= ocl_expressions_oclexpression ) ) ; public final Object ocl_ecore_collectionrange() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","CollectionRange"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:724:3: ( ( (temp= ocl_expressions_oclexpression ) DDOT (temp= ocl_expressions_oclexpression ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:725:3: ( (temp= ocl_expressions_oclexpression ) DDOT (temp= ocl_expressions_oclexpression ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:725:3: ( (temp= ocl_expressions_oclexpression ) DDOT (temp= ocl_expressions_oclexpression ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:725:4: (temp= ocl_expressions_oclexpression ) DDOT (temp= ocl_expressions_oclexpression ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.49/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:725:128: (temp= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:725:130: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_collectionrange2365); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "first", temp); setParent(temp,ret,"first"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.49/@templateSequence/@elements.1"); } match(input,DDOT,FOLLOW_DDOT_in_ocl_ecore_collectionrange2372); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.49/@templateSequence/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:726:317: (temp= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:726:319: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_collectionrange2380); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "last", temp); setParent(temp,ret,"last"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.49/@templateSequence/@elements.3"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:"+ " let f : ocl::ecore::OCLExpression = self.first.oclAsType(ocl::ecore::OCLExpression) in"+ " let l : ocl::ecore::OCLExpression = self.last.oclAsType(ocl::ecore::OCLExpression) in"+ " if f.eType = l.eType then"+ " f.eType "+ " else "+ " if f.eType.oclAsType(ecore::EClass).eAllSuperTypes->includes(l.eType.oclAsType(ecore::EClass)) then"+ " l.eType "+ " else "+ " if l.eType.oclAsType(ecore::EClass).eAllSuperTypes->includes(f.eType.oclAsType(ecore::EClass)) then "+ " f.eType "+ " else "+ " null "+ " endif "+ " endif "+ " endif", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_collectionrange" // $ANTLR start "ocl_ecore_ifexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:750:1: ocl_ecore_ifexp returns [Object ret2] : ( 'if' (temp= ocl_expressions_oclexpression )? 'then' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'else' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'endif' ) ; public final Object ocl_ecore_ifexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","IfExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:756:3: ( ( 'if' (temp= ocl_expressions_oclexpression )? 'then' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'else' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'endif' ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:757:3: ( 'if' (temp= ocl_expressions_oclexpression )? 'then' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'else' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'endif' ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:757:3: ( 'if' (temp= ocl_expressions_oclexpression )? 'then' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'else' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'endif' ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:757:4: 'if' (temp= ocl_expressions_oclexpression )? 'then' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'else' ( ( (temp= ocl_expressions_oclexpression )? ) ) 'endif' { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.0"); } match(input,39,FOLLOW_39_in_ocl_ecore_ifexp2426); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:757:272: (temp= ocl_expressions_oclexpression )? int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==NAME||LA14_0==QNAME||(LA14_0>=INT && LA14_0<=LPAREN)||LA14_0==APOSTROPHE||LA14_0==39||LA14_0==43||LA14_0==45||LA14_0==47||LA14_0==49||LA14_0==51||(LA14_0>=53 && LA14_0<=54)) ) { alt14=1; } switch (alt14) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:757:274: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_ifexp2433); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "condition", temp); setParent(temp,ret,"condition"); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.2"); } match(input,41,FOLLOW_41_in_ocl_ecore_ifexp2441); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.3"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:758:323: ( ( (temp= ocl_expressions_oclexpression )? ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:758:324: ( (temp= ocl_expressions_oclexpression )? ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:758:324: ( (temp= ocl_expressions_oclexpression )? ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:758:325: (temp= ocl_expressions_oclexpression )? { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.3/@blockSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:758:476: (temp= ocl_expressions_oclexpression )? int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==NAME||LA15_0==QNAME||(LA15_0>=INT && LA15_0<=LPAREN)||LA15_0==APOSTROPHE||LA15_0==39||LA15_0==43||LA15_0==45||LA15_0==47||LA15_0==49||LA15_0==51||(LA15_0>=53 && LA15_0<=54)) ) { alt15=1; } switch (alt15) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:758:478: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_ifexp2451); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "thenExpression", temp); setParent(temp,ret,"thenExpression"); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.4"); } match(input,44,FOLLOW_44_in_ocl_ecore_ifexp2462); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.5"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:759:346: ( ( (temp= ocl_expressions_oclexpression )? ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:759:347: ( (temp= ocl_expressions_oclexpression )? ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:759:347: ( (temp= ocl_expressions_oclexpression )? ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:759:348: (temp= ocl_expressions_oclexpression )? { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.5/@blockSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:759:499: (temp= ocl_expressions_oclexpression )? int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==NAME||LA16_0==QNAME||(LA16_0>=INT && LA16_0<=LPAREN)||LA16_0==APOSTROPHE||LA16_0==39||LA16_0==43||LA16_0==45||LA16_0==47||LA16_0==49||LA16_0==51||(LA16_0>=53 && LA16_0<=54)) ) { alt16=1; } switch (alt16) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:759:501: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_ifexp2472); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "elseExpression", temp); setParent(temp,ret,"elseExpression"); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.6"); } match(input,40,FOLLOW_40_in_ocl_ecore_ifexp2483); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.50/@templateSequence/@elements.7"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:"+ " let te : ocl::ecore::OCLExpression = self.thenExpression.oclAsType(ocl::ecore::OCLExpression) in"+ " let ee : ocl::ecore::OCLExpression = self.elseExpression.oclAsType(ocl::ecore::OCLExpression) in"+ " if te.eType = ee.eType then"+ " te.eType"+ " else"+ " if te.oclAsType(ecore::EClass).eAllSuperTypes->includes(ee.eType.oclAsType(ecore::EClass)) then"+ " ee.eType"+ " else"+ " if ee.eType.oclAsType(ecore::EClass).eAllSuperTypes->includes(te.eType.oclAsType(ecore::EClass)) then"+ " te.eType"+ " else"+ " null"+ " endif"+ " endif"+ " endif", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_ifexp" // $ANTLR start "ocl_ecore_letexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:783:1: ocl_ecore_letexp returns [Object ret2] : ( 'let' (temp= ocl_expressions_variable_let ) 'in' ( ( (temp= ocl_expressions_oclexpression ) ) ) ) ; public final Object ocl_ecore_letexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","LetExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:789:3: ( ( 'let' (temp= ocl_expressions_variable_let ) 'in' ( ( (temp= ocl_expressions_oclexpression ) ) ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:790:3: ( 'let' (temp= ocl_expressions_variable_let ) 'in' ( ( (temp= ocl_expressions_oclexpression ) ) ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:790:3: ( 'let' (temp= ocl_expressions_variable_let ) 'in' ( ( (temp= ocl_expressions_oclexpression ) ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:790:4: 'let' (temp= ocl_expressions_variable_let ) 'in' ( ( (temp= ocl_expressions_oclexpression ) ) ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.51/@templateSequence/@elements.0"); } match(input,54,FOLLOW_54_in_ocl_ecore_letexp2526); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.51/@templateSequence/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:790:273: (temp= ocl_expressions_variable_let ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:790:275: temp= ocl_expressions_variable_let { pushFollow(FOLLOW_ocl_expressions_variable_let_in_ocl_ecore_letexp2533); temp=ocl_expressions_variable_let(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "variable", temp); setParent(temp,ret,"variable"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.51/@templateSequence/@elements.2"); } match(input,50,FOLLOW_50_in_ocl_ecore_letexp2539); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.51/@templateSequence/@elements.3"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:791:318: ( ( (temp= ocl_expressions_oclexpression ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:791:319: ( (temp= ocl_expressions_oclexpression ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:791:319: ( (temp= ocl_expressions_oclexpression ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:791:320: (temp= ocl_expressions_oclexpression ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.51/@templateSequence/@elements.3/@blockSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:791:471: (temp= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:791:473: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_letexp2549); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "in", temp); setParent(temp,ret,"in"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.51/@templateSequence/@elements.4"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:self.\\\"in\\\".oclAsType(ocl::ecore::OCLExpression).eType", true);_exitInjectorAction();_enterInjectorAction();setOclRef(ret, "name", null, null, "OCL:'let '.concat(self.variable.oclAsType(ocl::ecore::Variable).name)", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_letexp" // $ANTLR start "ocl_expressions_variable_let" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:800:1: ocl_expressions_variable_let returns [Object ret2] : (ret= ocl_ecore_variable_let ) ; public final Object ocl_expressions_variable_let() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:801:3: ( (ret= ocl_ecore_variable_let ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:802:3: (ret= ocl_ecore_variable_let ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:802:3: (ret= ocl_ecore_variable_let ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:802:4: ret= ocl_ecore_variable_let { pushFollow(FOLLOW_ocl_ecore_variable_let_in_ocl_expressions_variable_let2595); ret=ocl_ecore_variable_let(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_variable_let" // $ANTLR start "ocl_ecore_variable_let" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:809:1: ocl_ecore_variable_let returns [Object ret2] : ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) EQUALS (temp= ocl_expressions_oclexpression ) ) ; public final Object ocl_ecore_variable_let() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","Variable"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"let"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:815:3: ( ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) EQUALS (temp= ocl_expressions_oclexpression ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:816:3: ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) EQUALS (temp= ocl_expressions_oclexpression ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:816:3: ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) EQUALS (temp= ocl_expressions_oclexpression ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:816:4: (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) EQUALS (temp= ocl_expressions_oclexpression ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.53/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:816:128: (temp= identifier ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:816:130: temp= identifier { pushFollow(FOLLOW_identifier_in_ocl_ecore_variable_let2629); temp=identifier(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "name", temp); setParent(temp,ret,"name"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.53/@templateSequence/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:817:170: ( () | ( COLON (temp= identifier ) ) ) int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0==EQUALS) ) { alt17=1; } else if ( (LA17_0==COLON) ) { alt17=2; } else { if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 17, 0, input); throw nvae; } switch (alt17) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:817:171: () { if ( state.backtracking==0 ) { _enterAlt(0); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:817:187: () // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:817:188: { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.53/@templateSequence/@elements.1/@sequences.0/@elements.0"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:self.initExpression.oclAsType(ocl::ecore::OCLExpression).eType", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:818:4: ( COLON (temp= identifier ) ) { if ( state.backtracking==0 ) { _enterAlt(1); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:818:20: ( COLON (temp= identifier ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:818:21: COLON (temp= identifier ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.53/@templateSequence/@elements.1/@sequences.1/@elements.0"); } match(input,COLON,FOLLOW_COLON_in_ocl_ecore_variable_let2654); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.53/@templateSequence/@elements.1/@sequences.1/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:818:342: (temp= identifier ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:818:344: temp= identifier { pushFollow(FOLLOW_identifier_in_ocl_ecore_variable_let2662); temp=identifier(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "eType", null, temp, "ecore::EClassifier.allInstances()->select(name = ?)"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.53/@templateSequence/@elements.2"); } match(input,EQUALS,FOLLOW_EQUALS_in_ocl_ecore_variable_let2674); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.53/@templateSequence/@elements.3"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:818:774: (temp= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:818:776: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_variable_let2682); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "initExpression", temp); setParent(temp,ret,"initExpression"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_variable_let" // $ANTLR start "ocl_expressions_variable" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:827:1: ocl_expressions_variable returns [Object ret2] : (ret= ocl_ecore_variable ) ; public final Object ocl_expressions_variable() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:828:3: ( (ret= ocl_ecore_variable ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:829:3: (ret= ocl_ecore_variable ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:829:3: (ret= ocl_ecore_variable ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:829:4: ret= ocl_ecore_variable { pushFollow(FOLLOW_ocl_ecore_variable_in_ocl_expressions_variable2722); ret=ocl_ecore_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_variable" // $ANTLR start "ocl_ecore_variable" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:836:1: ocl_ecore_variable returns [Object ret2] : ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) ( ( EQUALS (temp= ocl_expressions_oclexpression ) ) | ) ) ; public final Object ocl_ecore_variable() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","Variable"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:842:3: ( ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) ( ( EQUALS (temp= ocl_expressions_oclexpression ) ) | ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:843:3: ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) ( ( EQUALS (temp= ocl_expressions_oclexpression ) ) | ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:843:3: ( (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) ( ( EQUALS (temp= ocl_expressions_oclexpression ) ) | ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:843:4: (temp= identifier ) ( () | ( COLON (temp= identifier ) ) ) ( ( EQUALS (temp= ocl_expressions_oclexpression ) ) | ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:843:128: (temp= identifier ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:843:130: temp= identifier { pushFollow(FOLLOW_identifier_in_ocl_ecore_variable2756); temp=identifier(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "name", temp); setParent(temp,ret,"name"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:844:170: ( () | ( COLON (temp= identifier ) ) ) int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==EOF||LA18_0==NAME||LA18_0==EQUALS||LA18_0==COMMA||(LA18_0>=SEMI && LA18_0<=BAR)) ) { alt18=1; } else if ( (LA18_0==COLON) ) { alt18=2; } else { if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 18, 0, input); throw nvae; } switch (alt18) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:844:171: () { if ( state.backtracking==0 ) { _enterAlt(0); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:844:187: () // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:844:188: { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.1/@sequences.0/@elements.0"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:#context(propertyCallExp).oclAsType(ocl::ecore::CallExp).source.oclAsType(ocl::ecore::OCLExpression).eType", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:4: ( COLON (temp= identifier ) ) { if ( state.backtracking==0 ) { _enterAlt(1); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:20: ( COLON (temp= identifier ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:21: COLON (temp= identifier ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.1/@sequences.1/@elements.0"); } match(input,COLON,FOLLOW_COLON_in_ocl_ecore_variable2781); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.1/@sequences.1/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:342: (temp= identifier ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:344: temp= identifier { pushFollow(FOLLOW_identifier_in_ocl_ecore_variable2789); temp=identifier(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "eType", null, temp, "ecore::EClassifier.allInstances()->select(name = ?)"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:627: ( ( EQUALS (temp= ocl_expressions_oclexpression ) ) | ) int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==EQUALS) ) { alt19=1; } else if ( (LA19_0==EOF||LA19_0==NAME||LA19_0==COMMA||(LA19_0>=SEMI && LA19_0<=BAR)) ) { alt19=2; } else { if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 19, 0, input); throw nvae; } switch (alt19) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:628: ( EQUALS (temp= ocl_expressions_oclexpression ) ) { if ( state.backtracking==0 ) { _enterAlt(0); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:644: ( EQUALS (temp= ocl_expressions_oclexpression ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:645: EQUALS (temp= ocl_expressions_oclexpression ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.2/@thenSequence/@elements.0"); } match(input,EQUALS,FOLLOW_EQUALS_in_ocl_ecore_variable2807); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.55/@templateSequence/@elements.2/@thenSequence/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:969: (temp= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:845:971: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_variable2815); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "initExpression", temp); setParent(temp,ret,"initExpression"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:846:74: { if ( state.backtracking==0 ) { _enterAlt(1); } if ( state.backtracking==0 ) { _exitAlt(); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_variable" // $ANTLR start "ocl_ecore_variableexp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:855:1: ocl_ecore_variableexp returns [Object ret2] : ( ( ( (temp= ocl_expressions_variable_self ) ) | ( (temp= identifier ) ) ) ) ; public final Object ocl_ecore_variableexp() throws RecognitionException { Object ret2 = null; Object temp = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","VariableExp"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:861:3: ( ( ( ( (temp= ocl_expressions_variable_self ) ) | ( (temp= identifier ) ) ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:3: ( ( ( (temp= ocl_expressions_variable_self ) ) | ( (temp= identifier ) ) ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:3: ( ( ( (temp= ocl_expressions_variable_self ) ) | ( (temp= identifier ) ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:4: ( ( (temp= ocl_expressions_variable_self ) ) | ( (temp= identifier ) ) ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.56/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:128: ( ( (temp= ocl_expressions_variable_self ) ) | ( (temp= identifier ) ) ) int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==43) ) { alt20=1; } else if ( (LA20_0==NAME) ) { alt20=2; } else { if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 20, 0, input); throw nvae; } switch (alt20) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:129: ( (temp= ocl_expressions_variable_self ) ) { if ( state.backtracking==0 ) { _enterAlt(0); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:145: ( (temp= ocl_expressions_variable_self ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:146: (temp= ocl_expressions_variable_self ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.56/@templateSequence/@elements.0/@sequences.0/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:295: (temp= ocl_expressions_variable_self ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:862:297: temp= ocl_expressions_variable_self { pushFollow(FOLLOW_ocl_expressions_variable_self_in_ocl_ecore_variableexp2880); temp=ocl_expressions_variable_self(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "referredVariable", temp); setParent(temp,ret,"referredVariable"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:864:4: ( (temp= identifier ) ) { if ( state.backtracking==0 ) { _enterAlt(1); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:864:20: ( (temp= identifier ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:864:21: (temp= identifier ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.56/@templateSequence/@elements.0/@sequences.1/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:864:170: (temp= identifier ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:864:172: temp= identifier { pushFollow(FOLLOW_identifier_in_ocl_ecore_variableexp2900); temp=identifier(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "referredVariable", null, temp, "ocl::ecore::Variable.allInstances()->select(getName() = ?)"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.56/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:self.referredVariable.oclAsType(ocl::ecore::Variable).eType", true);_exitInjectorAction();_enterInjectorAction();setOclRef(ret, "name", null, null, "OCL:self.referredVariable.oclAsType(ocl::ecore::Variable).name", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_variableexp" // $ANTLR start "ocl_expressions_variable_self" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:872:1: ocl_expressions_variable_self returns [Object ret2] : (ret= ocl_ecore_variable_self ) ; public final Object ocl_expressions_variable_self() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:873:3: ( (ret= ocl_ecore_variable_self ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:874:3: (ret= ocl_ecore_variable_self ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:874:3: (ret= ocl_ecore_variable_self ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:874:4: ret= ocl_ecore_variable_self { pushFollow(FOLLOW_ocl_ecore_variable_self_in_ocl_expressions_variable_self2948); ret=ocl_ecore_variable_self(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_variable_self" // $ANTLR start "ocl_ecore_variable_self" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:881:1: ocl_ecore_variable_self returns [Object ret2] : ( 'self' ) ; public final Object ocl_ecore_variable_self() throws RecognitionException { Object ret2 = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","Variable"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"self"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:887:3: ( ( 'self' ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:888:3: ( 'self' ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:888:3: ( 'self' ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:888:4: 'self' { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.58/@templateSequence/@elements.0"); } match(input,43,FOLLOW_43_in_ocl_ecore_variable_self2978); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.58/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "name", "self");_exitInjectorAction();_enterInjectorAction();setRef(ret, "eType", list("ecore","EClassifier"), null, null, "#context(class)", null, null, false, null, true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_variable_self" // $ANTLR start "ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:896:1: ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : ( ( ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) | ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) ) BAR (temp= ocl_expressions_oclexpression )? RPAREN ) ; public final Object ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException { Object ret2 = null; Object temp = null; List<String> metaType=list("ocl","ecore","IterateExp"); onEnterTemplateRule(metaType); IModelElementProxy ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, true, false, new String[]{"propertyCallExp"}) : null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:901:3: ( ( ( ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) | ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) ) BAR (temp= ocl_expressions_oclexpression )? RPAREN ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:3: ( ( ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) | ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) ) BAR (temp= ocl_expressions_oclexpression )? RPAREN ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:3: ( ( ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) | ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) ) BAR (temp= ocl_expressions_oclexpression )? RPAREN ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:4: ( ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) | ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) ) BAR (temp= ocl_expressions_oclexpression )? RPAREN { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:128: ( ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) | ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) | ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) ) int alt30=4; switch ( input.LA(1) ) { case 52: { alt30=1; } break; case 42: { alt30=2; } break; case 46: { alt30=3; } break; case 48: { alt30=4; } break; default: if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 30, 0, input); throw nvae; } switch (alt30) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:129: ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) { if ( state.backtracking==0 ) { _enterAlt(0); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:145: ( 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:146: 'iterate' LPAREN (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.0/@elements.0"); } match(input,52,FOLLOW_52_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3027); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.0/@elements.1"); } match(input,LPAREN,FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3031); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.0/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:642: (temp= ocl_expressions_variable (temp= ocl_expressions_variable )* )? int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==NAME) ) { alt22=1; } switch (alt22) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:902:644: temp= ocl_expressions_variable (temp= ocl_expressions_variable )* { pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3039); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:903:34: (temp= ocl_expressions_variable )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==NAME) ) { alt21=1; } switch (alt21) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:903:36: temp= ocl_expressions_variable { pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3047); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } } break; default : break loop21; } } while (true); } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.0/@elements.3"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:904:204: ( ( SEMI (temp= ocl_expressions_variable ) ) | ( (temp= ocl_expressions_variable_implicitAccumulator ) ) ) int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==SEMI) ) { alt23=1; } else if ( (LA23_0==EOF||LA23_0==BAR) ) { alt23=2; } else { if (state.backtracking>0) {state.failed=true; return ret2;} NoViableAltException nvae = new NoViableAltException("", 23, 0, input); throw nvae; } switch (alt23) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:904:205: ( SEMI (temp= ocl_expressions_variable ) ) { if ( state.backtracking==0 ) { _enterAlt(0); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:904:221: ( SEMI (temp= ocl_expressions_variable ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:904:222: SEMI (temp= ocl_expressions_variable ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.0/@elements.3/@sequences.0/@elements.0"); } match(input,SEMI,FOLLOW_SEMI_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3064); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.0/@elements.3/@sequences.0/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:904:592: (temp= ocl_expressions_variable ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:904:594: temp= ocl_expressions_variable { pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3072); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "result", temp); setParent(temp,ret,"result"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:906:4: ( (temp= ocl_expressions_variable_implicitAccumulator ) ) { if ( state.backtracking==0 ) { _enterAlt(1); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:906:20: ( (temp= ocl_expressions_variable_implicitAccumulator ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:906:21: (temp= ocl_expressions_variable_implicitAccumulator ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.0/@elements.3/@sequences.1/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:906:195: (temp= ocl_expressions_variable_implicitAccumulator ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:906:197: temp= ocl_expressions_variable_implicitAccumulator { pushFollow(FOLLOW_ocl_expressions_variable_implicitAccumulator_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3092); temp=ocl_expressions_variable_implicitAccumulator(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "result", temp); setParent(temp,ret,"result"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:908:4: ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) { if ( state.backtracking==0 ) { _enterAlt(1); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:908:20: ( 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:908:21: 'forAll' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.1/@elements.0"); } match(input,42,FOLLOW_42_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3113); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.1/@elements.1"); } match(input,LPAREN,FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3117); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.1/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:908:516: (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==NAME) ) { alt25=1; } switch (alt25) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:908:518: temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* { pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3125); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:909:34: ( ( COMMA ) temp= ocl_expressions_variable )* loop24: do { int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==COMMA) ) { alt24=1; } switch (alt24) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:909:35: ( COMMA ) temp= ocl_expressions_variable { if ( state.backtracking==0 ) { _enterSepSeq(); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:909:52: ( COMMA ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:909:53: COMMA { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.1/@elements.2/@propertyArgs.0/@separatorSequence/@elements.0"); } match(input,COMMA,FOLLOW_COMMA_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3134); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitSepSeq(); } pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3142); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } } break; default : break loop24; } } while (true); } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 3 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:911:4: ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) { if ( state.backtracking==0 ) { _enterAlt(2); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:911:20: ( 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:911:21: 'collect' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.2/@elements.0"); } match(input,46,FOLLOW_46_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3163); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.2/@elements.1"); } match(input,LPAREN,FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3167); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.2/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:911:517: (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==NAME) ) { alt27=1; } switch (alt27) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:911:519: temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* { pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3175); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:912:34: ( ( COMMA ) temp= ocl_expressions_variable )* loop26: do { int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0==COMMA) ) { alt26=1; } switch (alt26) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:912:35: ( COMMA ) temp= ocl_expressions_variable { if ( state.backtracking==0 ) { _enterSepSeq(); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:912:52: ( COMMA ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:912:53: COMMA { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.2/@elements.2/@propertyArgs.0/@separatorSequence/@elements.0"); } match(input,COMMA,FOLLOW_COMMA_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3184); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitSepSeq(); } pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3192); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } } break; default : break loop26; } } while (true); } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; case 4 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:914:4: ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) { if ( state.backtracking==0 ) { _enterAlt(3); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:914:20: ( 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:914:21: 'select' LPAREN (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.3/@elements.0"); } match(input,48,FOLLOW_48_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3213); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.3/@elements.1"); } match(input,LPAREN,FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3217); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.3/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:914:516: (temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* )? int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0==NAME) ) { alt29=1; } switch (alt29) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:914:518: temp= ocl_expressions_variable ( ( COMMA ) temp= ocl_expressions_variable )* { pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3225); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:915:34: ( ( COMMA ) temp= ocl_expressions_variable )* loop28: do { int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==COMMA) ) { alt28=1; } switch (alt28) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:915:35: ( COMMA ) temp= ocl_expressions_variable { if ( state.backtracking==0 ) { _enterSepSeq(); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:915:52: ( COMMA ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:915:53: COMMA { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.0/@sequences.3/@elements.2/@propertyArgs.0/@separatorSequence/@elements.0"); } match(input,COMMA,FOLLOW_COMMA_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3234); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitSepSeq(); } pushFollow(FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3242); temp=ocl_expressions_variable(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "iterator", temp); setParent(temp,ret,"iterator"); } } break; default : break loop28; } } while (true); } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { _exitAlt(); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.1"); } match(input,BAR,FOLLOW_BAR_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3259); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:916:356: (temp= ocl_expressions_oclexpression )? int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0==NAME||LA31_0==QNAME||(LA31_0>=INT && LA31_0<=LPAREN)||LA31_0==APOSTROPHE||LA31_0==39||LA31_0==43||LA31_0==45||LA31_0==47||LA31_0==49||LA31_0==51||(LA31_0>=53 && LA31_0<=54)) ) { alt31=1; } switch (alt31) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:916:358: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3267); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "body", temp); setParent(temp,ret,"body"); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.59/@templateSequence/@elements.3"); } match(input,RPAREN,FOLLOW_RPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3276); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { // discarding operator name instead of storing it here setProperty(ret,"source" , left); ret2 = createOrResolve(ret, firstToken); onRuleElementCreationCommited(ret2); leaveContext(); } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp" // $ANTLR start "ocl_expressions_variable_implicitAccumulator" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:928:1: ocl_expressions_variable_implicitAccumulator returns [Object ret2] : (ret= ocl_ecore_variable_implicitAccumulator ) ; public final Object ocl_expressions_variable_implicitAccumulator() throws RecognitionException { Object ret2 = null; Object ret = null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:929:3: ( (ret= ocl_ecore_variable_implicitAccumulator ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:930:3: (ret= ocl_ecore_variable_implicitAccumulator ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:930:3: (ret= ocl_ecore_variable_implicitAccumulator ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:930:4: ret= ocl_ecore_variable_implicitAccumulator { pushFollow(FOLLOW_ocl_ecore_variable_implicitAccumulator_in_ocl_expressions_variable_implicitAccumulator3306); ret=ocl_ecore_variable_implicitAccumulator(); checkFollows(); state._fsp--; if (state.failed) return ret2; } if ( state.backtracking==0 ) { ret2=ret; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return ret2; } // $ANTLR end "ocl_expressions_variable_implicitAccumulator" // $ANTLR start "ocl_ecore_variable_implicitAccumulator" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:937:1: ocl_ecore_variable_implicitAccumulator returns [Object ret2] : () ; public final Object ocl_ecore_variable_implicitAccumulator() throws RecognitionException { Object ret2 = null; IModelElementProxy ret; List<String> metaType=list("ocl","ecore","Variable"); ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, false, false) : null; onEnterTemplateRule(metaType,"implicitAccumulator"); org.antlr.runtime.Token firstToken=input.LT(1); try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:943:3: ( () ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:944:3: () { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:944:3: () // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:944:4: { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.61/@templateSequence/@elements.0"); } if ( state.backtracking==0 ) { _enterInjectorAction();setProperty(ret, "name", "acc");_exitInjectorAction();_enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:#context(propertyCallExp).oclAsType(ocl::ecore::IterateExp).\\\"body\\\".oclAsType(ocl::ecore::OCLExpression).eType", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { ret2 = commitCreation(ret, firstToken, false); } } } catch (Exception e) { handleExceptionInTemplateRule(e, firstToken, ret); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_variable_implicitAccumulator" // $ANTLR start "ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:952:1: ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : ( (temp= identifierOrKeyword ) ) ; public final Object ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException { Object ret2 = null; Object temp = null; List<String> metaType=list("ocl","ecore","PropertyCallExp"); onEnterTemplateRule(metaType); IModelElementProxy ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, true, false, new String[]{"propertyCallExp"}) : null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:957:3: ( ( (temp= identifierOrKeyword ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:958:3: ( (temp= identifierOrKeyword ) ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:958:3: ( (temp= identifierOrKeyword ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:958:4: (temp= identifierOrKeyword ) { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.62/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:958:128: (temp= identifierOrKeyword ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:958:130: temp= identifierOrKeyword { pushFollow(FOLLOW_identifierOrKeyword_in_ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp3381); temp=identifierOrKeyword(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "referredProperty", null, temp, "self.source.oclAsType(ocl::ecore::OCLExpression).eType.oclAsType(ecore::EClass).eAllStructuralFeatures->select(name = ?)"); } } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.62/@templateSequence/@elements.1"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "name", null, null, "OCL:self.referredProperty.oclAsType(ecore::EStructuralFeature).name", true);_exitInjectorAction();_enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:self.referredProperty.oclAsType(ecore::EStructuralFeature).eType", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { // discarding operator name instead of storing it here setProperty(ret,"source" , left); ret2 = createOrResolve(ret, firstToken); onRuleElementCreationCommited(ret2); leaveContext(); } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp" // $ANTLR start "ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:969:1: ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : ( (temp= identifierOrKeyword )? LPAREN (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? RPAREN ) ; public final Object ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException { Object ret2 = null; Object temp = null; List<String> metaType=list("ocl","ecore","OperationCallExp"); onEnterTemplateRule(metaType); IModelElementProxy ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, true, false, new String[]{"propertyCallExp"}) : null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:974:3: ( ( (temp= identifierOrKeyword )? LPAREN (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? RPAREN ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:975:3: ( (temp= identifierOrKeyword )? LPAREN (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? RPAREN ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:975:3: ( (temp= identifierOrKeyword )? LPAREN (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? RPAREN ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:975:4: (temp= identifierOrKeyword )? LPAREN (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? RPAREN { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.63/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:975:128: (temp= identifierOrKeyword )? int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0==NAME||(LA32_0>=39 && LA32_0<=54)) ) { alt32=1; } switch (alt32) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:975:130: temp= identifierOrKeyword { pushFollow(FOLLOW_identifierOrKeyword_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3424); temp=identifierOrKeyword(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "referredOperation", null, temp, "OCL:self.source.oclAsType(ocl::ecore::OCLExpression).eType.oclAsType(ecore::EClass).eAllOperations->select(name = ?)"); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.63/@templateSequence/@elements.1"); } match(input,LPAREN,FOLLOW_LPAREN_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3433); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.63/@templateSequence/@elements.2"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:975:616: (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0==NAME||LA34_0==QNAME||(LA34_0>=INT && LA34_0<=LPAREN)||LA34_0==APOSTROPHE||LA34_0==39||LA34_0==43||LA34_0==45||LA34_0==47||LA34_0==49||LA34_0==51||(LA34_0>=53 && LA34_0<=54)) ) { alt34=1; } switch (alt34) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:975:618: temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3441); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "argument", temp); setParent(temp,ret,"argument"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:976:34: (temp= ocl_expressions_oclexpression )* loop33: do { int alt33=2; int LA33_0 = input.LA(1); if ( (LA33_0==NAME||LA33_0==QNAME||(LA33_0>=INT && LA33_0<=LPAREN)||LA33_0==APOSTROPHE||LA33_0==39||LA33_0==43||LA33_0==45||LA33_0==47||LA33_0==49||LA33_0==51||(LA33_0>=53 && LA33_0<=54)) ) { alt33=1; } switch (alt33) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:976:36: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3449); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "argument", temp); setParent(temp,ret,"argument"); } } break; default : break loop33; } } while (true); } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.63/@templateSequence/@elements.3"); } match(input,RPAREN,FOLLOW_RPAREN_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3461); if (state.failed) return ret2; if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.63/@templateSequence/@elements.4"); } if ( state.backtracking==0 ) { _enterInjectorAction();setOclRef(ret, "name", null, null, "OCL:self.referredOperation.oclAsType(ecore::EOperation).name.concat('(...)')", true);_exitInjectorAction();_enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:let params : OrderedSet(ecore::EParameter) = self.referredOperation.oclAsType(ecore::EOperation).eParameters in"+ " if params->isEmpty() then"+ " null --todo: use OclVoid from StdLib"+ " else"+ " params->at(1).eType"+ " endif ", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { // discarding operator name instead of storing it here setProperty(ret,"source" , left); ret2 = createOrResolve(ret, firstToken); onRuleElementCreationCommited(ret2); leaveContext(); } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp" // $ANTLR start "ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp" // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:993:1: ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp[java.lang.String opName, Object left, org.antlr.runtime.Token firstToken] returns [Object ret2] : ( (temp= identifierOrKeyword )? (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? ) ; public final Object ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp(java.lang.String opName, Object left, org.antlr.runtime.Token firstToken) throws RecognitionException { Object ret2 = null; Object temp = null; List<String> metaType=list("ocl","ecore","OperationCallExp"); onEnterTemplateRule(metaType); IModelElementProxy ret=(getBacktrackingLevel()==0) ? createModelElementProxy(metaType, true, false, new String[]{"propertyCallExp"}) : null; try { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:998:3: ( ( (temp= identifierOrKeyword )? (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:999:3: ( (temp= identifierOrKeyword )? (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:999:3: ( (temp= identifierOrKeyword )? (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:999:4: (temp= identifierOrKeyword )? (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? { if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.64/@templateSequence/@elements.0"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:999:128: (temp= identifierOrKeyword )? int alt35=2; alt35 = dfa35.predict(input); switch (alt35) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:999:130: temp= identifierOrKeyword { pushFollow(FOLLOW_identifierOrKeyword_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp3502); temp=identifierOrKeyword(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setOclRef(ret, "referredOperation", null, temp, "OCL:ecore::EClass.allInstances()->select(c | c.ePackage.name = 'oclstdlib' and "+ " let type : ecore::EClassifier = source.oclAsType(ocl::ecore::OCLExpression).eType in"+ " if type.name = 'EBoolean' then"+ " c.name = 'Boolean_Class'"+ " else"+ " c.name = 'OclVoid_Class'"+ " endif"+ " ).eOperations->select(op | op.oclAsType(ecore::EOperation).name = '=')->select(name = ?)"); } } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.64/@templateSequence/@elements.1"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1006:250: (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )? int alt37=2; alt37 = dfa37.predict(input); switch (alt37) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1006:252: temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp3514); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "argument", temp); setParent(temp,ret,"argument"); } // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1007:34: (temp= ocl_expressions_oclexpression )* loop36: do { int alt36=2; alt36 = dfa36.predict(input); switch (alt36) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1007:36: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp3522); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ret2; if ( state.backtracking==0 ) { setProperty(ret, "argument", temp); setParent(temp,ret,"argument"); } } break; default : break loop36; } } while (true); } break; } if ( state.backtracking==0 ) { _afterSeqEl(); } if ( state.backtracking==0 ) { _beforeSeqEl("platform:/plugin/com.sap.furcas.ocl.editor/mappings/Ocl.tcs#//@templates.64/@templateSequence/@elements.2"); } if ( state.backtracking==0 ) { _enterInjectorAction();setRef(ret, "name", list("ecore","EString"), null, null, "equals", null, null, false, null, true);_exitInjectorAction();_enterInjectorAction();setOclRef(ret, "eType", null, null, "OCL:ecore::EClassifier.allInstances()->select(c | c.ePackage.name ='ecore' and c.name = 'EBoolean')", true);_exitInjectorAction(); } if ( state.backtracking==0 ) { _afterSeqEl(); } } if ( state.backtracking==0 ) { // discarding operator name instead of storing it here setProperty(ret,"source" , left); ret2 = createOrResolve(ret, firstToken); onRuleElementCreationCommited(ret2); leaveContext(); } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { onExitTemplateRule(metaType); } return ret2; } // $ANTLR end "ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp" // $ANTLR start synpred22_Ocl public final void synpred22_Ocl_fragment() throws RecognitionException { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:50: ( DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:51: DOT ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) { match(input,DOT,FOLLOW_DOT_in_synpred22_Ocl770); if (state.failed) return ; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:54: ( ( identifier ~ LPAREN ) | ( identifier LPAREN ) ) int alt38=2; int LA38_0 = input.LA(1); if ( (LA38_0==NAME) ) { int LA38_1 = input.LA(2); if ( (LA38_1==LPAREN) ) { alt38=2; } else if ( ((LA38_1>=NAME && LA38_1<=BOOL)||(LA38_1>=RPAREN && LA38_1<=54)) ) { alt38=1; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 38, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 38, 0, input); throw nvae; } switch (alt38) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:55: ( identifier ~ LPAREN ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:55: ( identifier ~ LPAREN ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:56: identifier ~ LPAREN { pushFollow(FOLLOW_identifier_in_synpred22_Ocl773); identifier(); checkFollows(); state._fsp--; if (state.failed) return ; if ( (input.LA(1)>=NAME && input.LA(1)<=BOOL)||(input.LA(1)>=RPAREN && input.LA(1)<=54) ) { input.consume(); state.errorRecovery=false;state.failed=false; } else { if (state.backtracking>0) {state.failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } } break; case 2 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:76: ( identifier LPAREN ) { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:76: ( identifier LPAREN ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:77: identifier LPAREN { pushFollow(FOLLOW_identifier_in_synpred22_Ocl780); identifier(); checkFollows(); state._fsp--; if (state.failed) return ; match(input,LPAREN,FOLLOW_LPAREN_in_synpred22_Ocl782); if (state.failed) return ; } } break; } } } // $ANTLR end synpred22_Ocl // $ANTLR start synpred23_Ocl public final void synpred23_Ocl_fragment() throws RecognitionException { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:182: ( identifier ~ LPAREN ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:284:183: identifier ~ LPAREN { pushFollow(FOLLOW_identifier_in_synpred23_Ocl796); identifier(); checkFollows(); state._fsp--; if (state.failed) return ; if ( (input.LA(1)>=NAME && input.LA(1)<=BOOL)||(input.LA(1)>=RPAREN && input.LA(1)<=54) ) { input.consume(); state.errorRecovery=false;state.failed=false; } else { if (state.backtracking>0) {state.failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } } // $ANTLR end synpred23_Ocl // $ANTLR start synpred24_Ocl public final void synpred24_Ocl_fragment() throws RecognitionException { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:285:3: ( identifier LPAREN ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:285:4: identifier LPAREN { pushFollow(FOLLOW_identifier_in_synpred24_Ocl812); identifier(); checkFollows(); state._fsp--; if (state.failed) return ; match(input,LPAREN,FOLLOW_LPAREN_in_synpred24_Ocl814); if (state.failed) return ; } } // $ANTLR end synpred24_Ocl // $ANTLR start synpred25_Ocl public final void synpred25_Ocl_fragment() throws RecognitionException { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:3: ( ARROW ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:286:4: ARROW { match(input,ARROW,FOLLOW_ARROW_in_synpred25_Ocl830); if (state.failed) return ; } } // $ANTLR end synpred25_Ocl // $ANTLR start synpred26_Ocl public final void synpred26_Ocl_fragment() throws RecognitionException { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:38: ( EQUALS ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:296:39: EQUALS { match(input,EQUALS,FOLLOW_EQUALS_in_synpred26_Ocl893); if (state.failed) return ; } } // $ANTLR end synpred26_Ocl // $ANTLR start synpred32_Ocl public final void synpred32_Ocl_fragment() throws RecognitionException { Object ret = null; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:426:4: (ret= ocl_expressions_collectionitem ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:426:4: ret= ocl_expressions_collectionitem { pushFollow(FOLLOW_ocl_expressions_collectionitem_in_synpred32_Ocl1363); ret=ocl_expressions_collectionitem(); checkFollows(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred32_Ocl // $ANTLR start synpred33_Ocl public final void synpred33_Ocl_fragment() throws RecognitionException { // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:427:5: ( ocl_expressions_oclexpression COMMA ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:427:6: ocl_expressions_oclexpression COMMA { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_synpred33_Ocl1370); ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ; match(input,COMMA,FOLLOW_COMMA_in_synpred33_Ocl1372); if (state.failed) return ; } } // $ANTLR end synpred33_Ocl // $ANTLR start synpred65_Ocl public final void synpred65_Ocl_fragment() throws RecognitionException { Object temp = null; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:999:130: (temp= identifierOrKeyword ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:999:130: temp= identifierOrKeyword { pushFollow(FOLLOW_identifierOrKeyword_in_synpred65_Ocl3502); temp=identifierOrKeyword(); checkFollows(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred65_Ocl // $ANTLR start synpred66_Ocl public final void synpred66_Ocl_fragment() throws RecognitionException { Object temp = null; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1007:36: (temp= ocl_expressions_oclexpression ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1007:36: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_synpred66_Ocl3522); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred66_Ocl // $ANTLR start synpred67_Ocl public final void synpred67_Ocl_fragment() throws RecognitionException { Object temp = null; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1006:252: (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* ) // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1006:252: temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_synpred67_Ocl3514); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ; // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1007:34: (temp= ocl_expressions_oclexpression )* loop52: do { int alt52=2; int LA52_0 = input.LA(1); if ( (LA52_0==NAME||LA52_0==QNAME||(LA52_0>=INT && LA52_0<=LPAREN)||LA52_0==APOSTROPHE||LA52_0==39||LA52_0==43||LA52_0==45||LA52_0==47||LA52_0==49||LA52_0==51||(LA52_0>=53 && LA52_0<=54)) ) { alt52=1; } switch (alt52) { case 1 : // /Users/thomas/dev/furcas-emf/DSLEngineering/com.sap.furcas.ocl.editor/generated/generated/Ocl.g:1007:36: temp= ocl_expressions_oclexpression { pushFollow(FOLLOW_ocl_expressions_oclexpression_in_synpred67_Ocl3522); temp=ocl_expressions_oclexpression(); checkFollows(); state._fsp--; if (state.failed) return ; } break; default : break loop52; } } while (true); } } // $ANTLR end synpred67_Ocl // Delegated rules public final boolean synpred25_Ocl() { state.backtracking++; int start = input.mark(); try { synpred25_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred67_Ocl() { state.backtracking++; int start = input.mark(); try { synpred67_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred33_Ocl() { state.backtracking++; int start = input.mark(); try { synpred33_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred22_Ocl() { state.backtracking++; int start = input.mark(); try { synpred22_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred65_Ocl() { state.backtracking++; int start = input.mark(); try { synpred65_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred32_Ocl() { state.backtracking++; int start = input.mark(); try { synpred32_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred23_Ocl() { state.backtracking++; int start = input.mark(); try { synpred23_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred24_Ocl() { state.backtracking++; int start = input.mark(); try { synpred24_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred66_Ocl() { state.backtracking++; int start = input.mark(); try { synpred66_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred26_Ocl() { state.backtracking++; int start = input.mark(); try { synpred26_Ocl_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } protected DFA4 dfa4 = new DFA4(this); protected DFA10 dfa10 = new DFA10(this); protected DFA35 dfa35 = new DFA35(this); protected DFA37 dfa37 = new DFA37(this); protected DFA36 dfa36 = new DFA36(this); static final String DFA4_eotS = "\24\uffff"; static final String DFA4_eofS = "\24\uffff"; static final String DFA4_minS = "\1\4\21\0\2\uffff"; static final String DFA4_maxS = "\1\66\21\0\2\uffff"; static final String DFA4_acceptS = "\22\uffff\1\2\1\1"; static final String DFA4_specialS = "\1\0\1\1\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\2\uffff}>"; static final String[] DFA4_transitionS = { "\1\1\6\uffff\1\22\33\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\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "" }; static final short[] DFA4_eot = DFA.unpackEncodedString(DFA4_eotS); static final short[] DFA4_eof = DFA.unpackEncodedString(DFA4_eofS); static final char[] DFA4_min = DFA.unpackEncodedStringToUnsignedChars(DFA4_minS); static final char[] DFA4_max = DFA.unpackEncodedStringToUnsignedChars(DFA4_maxS); static final short[] DFA4_accept = DFA.unpackEncodedString(DFA4_acceptS); static final short[] DFA4_special = DFA.unpackEncodedString(DFA4_specialS); static final short[][] DFA4_transition; static { int numStates = DFA4_transitionS.length; DFA4_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA4_transition[i] = DFA.unpackEncodedString(DFA4_transitionS[i]); } } class DFA4 extends DFA { public DFA4(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 4; this.eot = DFA4_eot; this.eof = DFA4_eof; this.min = DFA4_min; this.max = DFA4_max; this.accept = DFA4_accept; this.special = DFA4_special; this.transition = DFA4_transition; } public String getDescription() { return "284:181: ( ( identifier ~ LPAREN )=> (ret= ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp[opName, ret, firstToken] ) | ( identifier LPAREN )=> (ret= ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp[opName, ret, firstToken] ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA4_0 = input.LA(1); int index4_0 = input.index(); input.rewind(); s = -1; if ( (LA4_0==NAME) ) {s = 1;} else if ( (LA4_0==39) ) {s = 2;} else if ( (LA4_0==40) ) {s = 3;} else if ( (LA4_0==41) ) {s = 4;} else if ( (LA4_0==42) ) {s = 5;} else if ( (LA4_0==43) ) {s = 6;} else if ( (LA4_0==44) ) {s = 7;} else if ( (LA4_0==45) ) {s = 8;} else if ( (LA4_0==46) ) {s = 9;} else if ( (LA4_0==47) ) {s = 10;} else if ( (LA4_0==48) ) {s = 11;} else if ( (LA4_0==49) ) {s = 12;} else if ( (LA4_0==50) ) {s = 13;} else if ( (LA4_0==51) ) {s = 14;} else if ( (LA4_0==52) ) {s = 15;} else if ( (LA4_0==53) ) {s = 16;} else if ( (LA4_0==54) ) {s = 17;} else if ( (LA4_0==LPAREN) && (synpred24_Ocl())) {s = 18;} input.seek(index4_0); if ( s>=0 ) return s; break; case 1 : int LA4_1 = input.LA(1); int index4_1 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_1); if ( s>=0 ) return s; break; case 2 : int LA4_2 = input.LA(1); int index4_2 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_2); if ( s>=0 ) return s; break; case 3 : int LA4_3 = input.LA(1); int index4_3 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_3); if ( s>=0 ) return s; break; case 4 : int LA4_4 = input.LA(1); int index4_4 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_4); if ( s>=0 ) return s; break; case 5 : int LA4_5 = input.LA(1); int index4_5 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_5); if ( s>=0 ) return s; break; case 6 : int LA4_6 = input.LA(1); int index4_6 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_6); if ( s>=0 ) return s; break; case 7 : int LA4_7 = input.LA(1); int index4_7 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_7); if ( s>=0 ) return s; break; case 8 : int LA4_8 = input.LA(1); int index4_8 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_8); if ( s>=0 ) return s; break; case 9 : int LA4_9 = input.LA(1); int index4_9 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_9); if ( s>=0 ) return s; break; case 10 : int LA4_10 = input.LA(1); int index4_10 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_10); if ( s>=0 ) return s; break; case 11 : int LA4_11 = input.LA(1); int index4_11 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_11); if ( s>=0 ) return s; break; case 12 : int LA4_12 = input.LA(1); int index4_12 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_12); if ( s>=0 ) return s; break; case 13 : int LA4_13 = input.LA(1); int index4_13 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_13); if ( s>=0 ) return s; break; case 14 : int LA4_14 = input.LA(1); int index4_14 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_14); if ( s>=0 ) return s; break; case 15 : int LA4_15 = input.LA(1); int index4_15 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_15); if ( s>=0 ) return s; break; case 16 : int LA4_16 = input.LA(1); int index4_16 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_16); if ( s>=0 ) return s; break; case 17 : int LA4_17 = input.LA(1); int index4_17 = input.index(); input.rewind(); s = -1; if ( (synpred23_Ocl()) ) {s = 19;} else if ( (synpred24_Ocl()) ) {s = 18;} input.seek(index4_17); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 4, _s, input); error(nvae); throw nvae; } } static final String DFA10_eotS = "\22\uffff"; static final String DFA10_eofS = "\22\uffff"; static final String DFA10_minS = "\1\4\17\0\2\uffff"; static final String DFA10_maxS = "\1\66\17\0\2\uffff"; static final String DFA10_acceptS = "\20\uffff\1\1\1\2"; static final String DFA10_specialS = "\1\uffff\1\0\1\1\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\2\uffff}>"; static final String[] DFA10_transitionS = { "\1\16\1\uffff\1\5\1\uffff\1\1\1\2\1\4\1\17\4\uffff\1\3\26\uffff"+ "\1\13\3\uffff\1\15\1\uffff\1\6\1\uffff\1\7\1\uffff\1\10\1\uffff"+ "\1\11\1\uffff\1\12\1\14", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "" }; static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS); static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS); static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS); static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS); static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS); static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS); static final short[][] DFA10_transition; static { int numStates = DFA10_transitionS.length; DFA10_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA10_transition[i] = DFA.unpackEncodedString(DFA10_transitionS[i]); } } class DFA10 extends DFA { public DFA10(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 10; this.eot = DFA10_eot; this.eof = DFA10_eof; this.min = DFA10_min; this.max = DFA10_max; this.accept = DFA10_accept; this.special = DFA10_special; this.transition = DFA10_transition; } public String getDescription() { return "426:3: (ret= ocl_expressions_collectionitem | ( ocl_expressions_oclexpression COMMA )=> (ret= ocl_expressions_collectionrange ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA10_1 = input.LA(1); int index10_1 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_1); if ( s>=0 ) return s; break; case 1 : int LA10_2 = input.LA(1); int index10_2 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_2); if ( s>=0 ) return s; break; case 2 : int LA10_3 = input.LA(1); int index10_3 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_3); if ( s>=0 ) return s; break; case 3 : int LA10_4 = input.LA(1); int index10_4 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_4); if ( s>=0 ) return s; break; case 4 : int LA10_5 = input.LA(1); int index10_5 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_5); if ( s>=0 ) return s; break; case 5 : int LA10_6 = input.LA(1); int index10_6 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_6); if ( s>=0 ) return s; break; case 6 : int LA10_7 = input.LA(1); int index10_7 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_7); if ( s>=0 ) return s; break; case 7 : int LA10_8 = input.LA(1); int index10_8 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_8); if ( s>=0 ) return s; break; case 8 : int LA10_9 = input.LA(1); int index10_9 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_9); if ( s>=0 ) return s; break; case 9 : int LA10_10 = input.LA(1); int index10_10 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_10); if ( s>=0 ) return s; break; case 10 : int LA10_11 = input.LA(1); int index10_11 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_11); if ( s>=0 ) return s; break; case 11 : int LA10_12 = input.LA(1); int index10_12 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_12); if ( s>=0 ) return s; break; case 12 : int LA10_13 = input.LA(1); int index10_13 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_13); if ( s>=0 ) return s; break; case 13 : int LA10_14 = input.LA(1); int index10_14 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_14); if ( s>=0 ) return s; break; case 14 : int LA10_15 = input.LA(1); int index10_15 = input.index(); input.rewind(); s = -1; if ( (synpred32_Ocl()) ) {s = 16;} else if ( (synpred33_Ocl()) ) {s = 17;} input.seek(index10_15); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 10, _s, input); error(nvae); throw nvae; } } static final String DFA35_eotS = "\42\uffff"; static final String DFA35_eofS = "\1\22\41\uffff"; static final String DFA35_minS = "\1\4\4\0\1\uffff\3\0\1\uffff\1\0\1\uffff\3\0\1\uffff\2\0\20\uffff"; static final String DFA35_maxS = "\1\66\4\0\1\uffff\3\0\1\uffff\1\0\1\uffff\3\0\1\uffff\2\0\20\uffff"; static final String DFA35_acceptS = "\5\uffff\1\1\14\uffff\1\2\17\uffff"; static final String DFA35_specialS = "\1\uffff\1\0\1\1\1\2\1\3\1\uffff\1\4\1\5\1\6\1\uffff\1\7\1\uffff"+ "\1\10\1\11\1\12\1\uffff\1\13\1\14\20\uffff}>"; static final String[] DFA35_transitionS = { "\1\1\1\uffff\1\22\1\uffff\11\22\2\uffff\3\22\1\uffff\2\22\16"+ "\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\5\1\12\1\5\1\14\1\15\1"+ "\16\1\5\1\20\1\21", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "\1\uffff", "\1\uffff", "\1\uffff", "", "\1\uffff", "", "\1\uffff", "\1\uffff", "\1\uffff", "", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA35_eot = DFA.unpackEncodedString(DFA35_eotS); static final short[] DFA35_eof = DFA.unpackEncodedString(DFA35_eofS); static final char[] DFA35_min = DFA.unpackEncodedStringToUnsignedChars(DFA35_minS); static final char[] DFA35_max = DFA.unpackEncodedStringToUnsignedChars(DFA35_maxS); static final short[] DFA35_accept = DFA.unpackEncodedString(DFA35_acceptS); static final short[] DFA35_special = DFA.unpackEncodedString(DFA35_specialS); static final short[][] DFA35_transition; static { int numStates = DFA35_transitionS.length; DFA35_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA35_transition[i] = DFA.unpackEncodedString(DFA35_transitionS[i]); } } class DFA35 extends DFA { public DFA35(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 35; this.eot = DFA35_eot; this.eof = DFA35_eof; this.min = DFA35_min; this.max = DFA35_max; this.accept = DFA35_accept; this.special = DFA35_special; this.transition = DFA35_transition; } public String getDescription() { return "999:128: (temp= identifierOrKeyword )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA35_1 = input.LA(1); int index35_1 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_1); if ( s>=0 ) return s; break; case 1 : int LA35_2 = input.LA(1); int index35_2 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_2); if ( s>=0 ) return s; break; case 2 : int LA35_3 = input.LA(1); int index35_3 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_3); if ( s>=0 ) return s; break; case 3 : int LA35_4 = input.LA(1); int index35_4 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_4); if ( s>=0 ) return s; break; case 4 : int LA35_6 = input.LA(1); int index35_6 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_6); if ( s>=0 ) return s; break; case 5 : int LA35_7 = input.LA(1); int index35_7 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_7); if ( s>=0 ) return s; break; case 6 : int LA35_8 = input.LA(1); int index35_8 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_8); if ( s>=0 ) return s; break; case 7 : int LA35_10 = input.LA(1); int index35_10 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_10); if ( s>=0 ) return s; break; case 8 : int LA35_12 = input.LA(1); int index35_12 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_12); if ( s>=0 ) return s; break; case 9 : int LA35_13 = input.LA(1); int index35_13 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_13); if ( s>=0 ) return s; break; case 10 : int LA35_14 = input.LA(1); int index35_14 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_14); if ( s>=0 ) return s; break; case 11 : int LA35_16 = input.LA(1); int index35_16 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_16); if ( s>=0 ) return s; break; case 12 : int LA35_17 = input.LA(1); int index35_17 = input.index(); input.rewind(); s = -1; if ( (synpred65_Ocl()) ) {s = 5;} else if ( (true) ) {s = 18;} input.seek(index35_17); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 35, _s, input); error(nvae); throw nvae; } } static final String DFA37_eotS = "\37\uffff"; static final String DFA37_eofS = "\1\20\36\uffff"; static final String DFA37_minS = "\1\4\17\0\17\uffff"; static final String DFA37_maxS = "\1\66\17\0\17\uffff"; static final String DFA37_acceptS = "\20\uffff\1\2\15\uffff\1\1"; static final String DFA37_specialS = "\1\uffff\1\0\1\1\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\17\uffff}>"; static final String[] DFA37_transitionS = { "\1\16\1\uffff\1\5\1\uffff\1\1\1\2\1\4\1\17\4\20\1\3\2\uffff"+ "\3\20\1\uffff\2\20\16\uffff\1\13\2\20\1\uffff\1\15\1\20\1\6"+ "\1\uffff\1\7\1\uffff\1\10\1\20\1\11\1\uffff\1\12\1\14", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA37_eot = DFA.unpackEncodedString(DFA37_eotS); static final short[] DFA37_eof = DFA.unpackEncodedString(DFA37_eofS); static final char[] DFA37_min = DFA.unpackEncodedStringToUnsignedChars(DFA37_minS); static final char[] DFA37_max = DFA.unpackEncodedStringToUnsignedChars(DFA37_maxS); static final short[] DFA37_accept = DFA.unpackEncodedString(DFA37_acceptS); static final short[] DFA37_special = DFA.unpackEncodedString(DFA37_specialS); static final short[][] DFA37_transition; static { int numStates = DFA37_transitionS.length; DFA37_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA37_transition[i] = DFA.unpackEncodedString(DFA37_transitionS[i]); } } class DFA37 extends DFA { public DFA37(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 37; this.eot = DFA37_eot; this.eof = DFA37_eof; this.min = DFA37_min; this.max = DFA37_max; this.accept = DFA37_accept; this.special = DFA37_special; this.transition = DFA37_transition; } public String getDescription() { return "1006:250: (temp= ocl_expressions_oclexpression (temp= ocl_expressions_oclexpression )* )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA37_1 = input.LA(1); int index37_1 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_1); if ( s>=0 ) return s; break; case 1 : int LA37_2 = input.LA(1); int index37_2 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_2); if ( s>=0 ) return s; break; case 2 : int LA37_3 = input.LA(1); int index37_3 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_3); if ( s>=0 ) return s; break; case 3 : int LA37_4 = input.LA(1); int index37_4 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_4); if ( s>=0 ) return s; break; case 4 : int LA37_5 = input.LA(1); int index37_5 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_5); if ( s>=0 ) return s; break; case 5 : int LA37_6 = input.LA(1); int index37_6 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_6); if ( s>=0 ) return s; break; case 6 : int LA37_7 = input.LA(1); int index37_7 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_7); if ( s>=0 ) return s; break; case 7 : int LA37_8 = input.LA(1); int index37_8 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_8); if ( s>=0 ) return s; break; case 8 : int LA37_9 = input.LA(1); int index37_9 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_9); if ( s>=0 ) return s; break; case 9 : int LA37_10 = input.LA(1); int index37_10 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_10); if ( s>=0 ) return s; break; case 10 : int LA37_11 = input.LA(1); int index37_11 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_11); if ( s>=0 ) return s; break; case 11 : int LA37_12 = input.LA(1); int index37_12 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_12); if ( s>=0 ) return s; break; case 12 : int LA37_13 = input.LA(1); int index37_13 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_13); if ( s>=0 ) return s; break; case 13 : int LA37_14 = input.LA(1); int index37_14 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_14); if ( s>=0 ) return s; break; case 14 : int LA37_15 = input.LA(1); int index37_15 = input.index(); input.rewind(); s = -1; if ( (synpred67_Ocl()) ) {s = 30;} else if ( (true) ) {s = 16;} input.seek(index37_15); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 37, _s, input); error(nvae); throw nvae; } } static final String DFA36_eotS = "\37\uffff"; static final String DFA36_eofS = "\1\1\36\uffff"; static final String DFA36_minS = "\1\4\14\uffff\1\0\2\uffff\16\0\1\uffff"; static final String DFA36_maxS = "\1\66\14\uffff\1\0\2\uffff\16\0\1\uffff"; static final String DFA36_acceptS = "\1\uffff\1\2\34\uffff\1\1"; static final String DFA36_specialS = "\15\uffff\1\0\2\uffff\1\1\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\uffff}>"; static final String[] DFA36_transitionS = { "\1\15\1\uffff\1\24\1\uffff\1\20\1\21\1\23\1\35\4\1\1\22\2\uffff"+ "\3\1\1\uffff\2\1\16\uffff\1\32\2\1\1\uffff\1\34\1\1\1\25\1\uffff"+ "\1\26\1\uffff\1\27\1\1\1\30\1\uffff\1\31\1\33", "", "", "", "", "", "", "", "", "", "", "", "", "\1\uffff", "", "", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[] DFA36_eot = DFA.unpackEncodedString(DFA36_eotS); static final short[] DFA36_eof = DFA.unpackEncodedString(DFA36_eofS); static final char[] DFA36_min = DFA.unpackEncodedStringToUnsignedChars(DFA36_minS); static final char[] DFA36_max = DFA.unpackEncodedStringToUnsignedChars(DFA36_maxS); static final short[] DFA36_accept = DFA.unpackEncodedString(DFA36_acceptS); static final short[] DFA36_special = DFA.unpackEncodedString(DFA36_specialS); static final short[][] DFA36_transition; static { int numStates = DFA36_transitionS.length; DFA36_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA36_transition[i] = DFA.unpackEncodedString(DFA36_transitionS[i]); } } class DFA36 extends DFA { public DFA36(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 36; this.eot = DFA36_eot; this.eof = DFA36_eof; this.min = DFA36_min; this.max = DFA36_max; this.accept = DFA36_accept; this.special = DFA36_special; this.transition = DFA36_transition; } public String getDescription() { return "()* loopback of 1007:34: (temp= ocl_expressions_oclexpression )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA36_13 = input.LA(1); int index36_13 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_13); if ( s>=0 ) return s; break; case 1 : int LA36_16 = input.LA(1); int index36_16 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_16); if ( s>=0 ) return s; break; case 2 : int LA36_17 = input.LA(1); int index36_17 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_17); if ( s>=0 ) return s; break; case 3 : int LA36_18 = input.LA(1); int index36_18 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_18); if ( s>=0 ) return s; break; case 4 : int LA36_19 = input.LA(1); int index36_19 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_19); if ( s>=0 ) return s; break; case 5 : int LA36_20 = input.LA(1); int index36_20 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_20); if ( s>=0 ) return s; break; case 6 : int LA36_21 = input.LA(1); int index36_21 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_21); if ( s>=0 ) return s; break; case 7 : int LA36_22 = input.LA(1); int index36_22 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_22); if ( s>=0 ) return s; break; case 8 : int LA36_23 = input.LA(1); int index36_23 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_23); if ( s>=0 ) return s; break; case 9 : int LA36_24 = input.LA(1); int index36_24 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_24); if ( s>=0 ) return s; break; case 10 : int LA36_25 = input.LA(1); int index36_25 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_25); if ( s>=0 ) return s; break; case 11 : int LA36_26 = input.LA(1); int index36_26 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_26); if ( s>=0 ) return s; break; case 12 : int LA36_27 = input.LA(1); int index36_27 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_27); if ( s>=0 ) return s; break; case 13 : int LA36_28 = input.LA(1); int index36_28 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_28); if ( s>=0 ) return s; break; case 14 : int LA36_29 = input.LA(1); int index36_29 = input.index(); input.rewind(); s = -1; if ( (synpred66_Ocl()) ) {s = 30;} else if ( (true) ) {s = 1;} input.seek(index36_29); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 36, _s, input); error(nvae); throw nvae; } } public static final BitSet FOLLOW_NAME_in_identifier69 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NAME_in_identifierOrKeyword100 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_39_in_identifierOrKeyword108 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_40_in_identifierOrKeyword116 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_41_in_identifierOrKeyword124 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_identifierOrKeyword132 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_43_in_identifierOrKeyword140 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_44_in_identifierOrKeyword148 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_45_in_identifierOrKeyword156 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_46_in_identifierOrKeyword164 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_identifierOrKeyword172 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_48_in_identifierOrKeyword180 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_49_in_identifierOrKeyword188 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_50_in_identifierOrKeyword196 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_51_in_identifierOrKeyword204 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_52_in_identifierOrKeyword212 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_53_in_identifierOrKeyword220 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_54_in_identifierOrKeyword228 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_STRING_in_stringSymbol259 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_QNAME_in_qualifiedNameSymbol290 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_MULTI_LINE_COMMENT_in_annotationSymbol321 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_INT_in_integerSymbol352 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_INT_in_longSymbol383 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_INT_in_integerAsString414 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FLOAT_in_floatAsString445 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BOOL_in_booleanSymbol476 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BOOL_in_booleanValueSymbol507 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FLOAT_in_floatSymbol538 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FLOAT_in_realSymbol569 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FLOAT_in_doubleSymbol600 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_literalexp_in_ocl_ecore_oclexpression627 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_ifexp_in_ocl_ecore_oclexpression635 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_letexp_in_ocl_ecore_oclexpression643 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_variableexp_in_ocl_ecore_oclexpression651 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_main679 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_main682 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_oclexpression_in_primary_ocl_expressions_oclexpression710 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_primary_ocl_expressions_oclexpression719 = new BitSet(new long[]{0x006AA88000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_primary_ocl_expressions_oclexpression725 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_RPAREN_in_primary_ocl_expressions_oclexpression729 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_primary_ocl_expressions_oclexpression_in_oclexpressions_priority_0767 = new BitSet(new long[]{0x0000000000006002L}); public static final BitSet FOLLOW_DOT_in_oclexpressions_priority_0790 = new BitSet(new long[]{0x007FFF8000000810L}); public static final BitSet FOLLOW_ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp_in_oclexpressions_priority_0805 = new BitSet(new long[]{0x0000000000006002L}); public static final BitSet FOLLOW_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp_in_oclexpressions_priority_0820 = new BitSet(new long[]{0x0000000000006002L}); public static final BitSet FOLLOW_ARROW_in_oclexpressions_priority_0836 = new BitSet(new long[]{0x0011440000000000L}); public static final BitSet FOLLOW_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp_in_oclexpressions_priority_0844 = new BitSet(new long[]{0x0000000000006002L}); public static final BitSet FOLLOW_oclexpressions_priority_0_in_oclexpressions_priority_1890 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_EQUALS_in_oclexpressions_priority_1899 = new BitSet(new long[]{0x007FFF8000018F50L}); public static final BitSet FOLLOW_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp_in_oclexpressions_priority_1907 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_oclexpressions_priority_1_in_ocl_expressions_oclexpression944 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_primitiveliteralexp_in_ocl_ecore_literalexp970 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_enumliteralexp_in_ocl_ecore_literalexp978 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectionliteralexp_in_ocl_ecore_literalexp986 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_numericliteralexp_in_ocl_ecore_primitiveliteralexp1013 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_stringliteralexp_in_ocl_ecore_primitiveliteralexp1021 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_booleanliteralexp_in_ocl_ecore_primitiveliteralexp1029 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_integerliteralexp_in_ocl_ecore_numericliteralexp1056 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_realliteralexp_in_ocl_ecore_numericliteralexp1064 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_integerSymbol_in_ocl_ecore_integerliteralexp1098 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_APOSTROPHE_in_ocl_ecore_stringliteralexp1145 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_identifier_in_ocl_ecore_stringliteralexp1153 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_APOSTROPHE_in_ocl_ecore_stringliteralexp1160 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_realSymbol_in_ocl_ecore_realliteralexp1208 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_booleanValueSymbol_in_ocl_ecore_booleanliteralexp1258 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_qualifiedNameSymbol_in_ocl_ecore_enumliteralexp1308 = new BitSet(new long[]{0x0000000000020000L}); public static final BitSet FOLLOW_DCOLON_in_ocl_ecore_enumliteralexp1315 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_identifier_in_ocl_ecore_enumliteralexp1323 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_collectionitem_in_ocl_expressions_collectionliteralpart1363 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_collectionrange_in_ocl_expressions_collectionliteralpart1378 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_45_in_ocl_ecore_collectionliteralexp1414 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_ecore_eclassifier_sequence_in_ocl_ecore_collectionliteralexp1421 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_47_in_ocl_ecore_collectionliteralexp1440 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_ecore_eclassifier_set_in_ocl_ecore_collectionliteralexp1447 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_49_in_ocl_ecore_collectionliteralexp1466 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_ecore_eclassifier_collection_in_ocl_ecore_collectionliteralexp1473 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_51_in_ocl_ecore_collectionliteralexp1492 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_ecore_eclassifier_bag_in_ocl_ecore_collectionliteralexp1499 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_53_in_ocl_ecore_collectionliteralexp1518 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_ecore_eclassifier_orderedset_in_ocl_ecore_collectionliteralexp1525 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_LCURL_in_ocl_ecore_collectionliteralexp1540 = new BitSet(new long[]{0x006AA88000110F50L}); public static final BitSet FOLLOW_ocl_expressions_collectionliteralpart_in_ocl_ecore_collectionliteralexp1548 = new BitSet(new long[]{0x0000000000180000L}); public static final BitSet FOLLOW_COMMA_in_ocl_ecore_collectionliteralexp1557 = new BitSet(new long[]{0x006AA88000010F50L}); public static final BitSet FOLLOW_ocl_expressions_collectionliteralpart_in_ocl_ecore_collectionliteralexp1565 = new BitSet(new long[]{0x0000000000180000L}); public static final BitSet FOLLOW_RCURL_in_ocl_ecore_collectionliteralexp1577 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ecore_edatatype_sequence_in_ecore_eclassifier_sequence1618 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectiontype_sequence_in_ecore_edatatype_sequence1645 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_sequencetype_sequence_in_ocl_ecore_collectiontype_sequence1672 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_collectiontypeelementtype_in_ocl_ecore_sequencetype_sequence1702 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ecore_edatatype_set_in_ecore_eclassifier_set1743 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectiontype_set_in_ecore_edatatype_set1770 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_settype_set_in_ocl_ecore_collectiontype_set1797 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_collectiontypeelementtype_in_ocl_ecore_settype_set1827 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ecore_edatatype_collection_in_ecore_eclassifier_collection1868 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectiontype_collection_in_ecore_edatatype_collection1895 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_collectiontypeelementtype_in_ocl_ecore_collectiontype_collection1925 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ecore_edatatype_bag_in_ecore_eclassifier_bag1966 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectiontype_bag_in_ecore_edatatype_bag1993 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_bagtype_bag_in_ocl_ecore_collectiontype_bag2020 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_collectiontypeelementtype_in_ocl_ecore_bagtype_bag2050 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ecore_edatatype_orderedset_in_ecore_eclassifier_orderedset2091 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectiontype_orderedset_in_ecore_edatatype_orderedset2118 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_orderedsettype_orderedset_in_ocl_ecore_collectiontype_orderedset2145 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_collectiontypeelementtype_in_ocl_ecore_orderedsettype_orderedset2175 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectionitem_in_ocl_expressions_collectionitem2245 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_collectionitem2280 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_collectionrange_in_ocl_expressions_collectionrange2330 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_collectionrange2365 = new BitSet(new long[]{0x0000000000200000L}); public static final BitSet FOLLOW_DDOT_in_ocl_ecore_collectionrange2372 = new BitSet(new long[]{0x006AA88000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_collectionrange2380 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_39_in_ocl_ecore_ifexp2426 = new BitSet(new long[]{0x006AAA8000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_ifexp2433 = new BitSet(new long[]{0x0000020000000000L}); public static final BitSet FOLLOW_41_in_ocl_ecore_ifexp2441 = new BitSet(new long[]{0x006AB88000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_ifexp2451 = new BitSet(new long[]{0x0000100000000000L}); public static final BitSet FOLLOW_44_in_ocl_ecore_ifexp2462 = new BitSet(new long[]{0x006AA98000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_ifexp2472 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_40_in_ocl_ecore_ifexp2483 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_54_in_ocl_ecore_letexp2526 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_let_in_ocl_ecore_letexp2533 = new BitSet(new long[]{0x0004000000000000L}); public static final BitSet FOLLOW_50_in_ocl_ecore_letexp2539 = new BitSet(new long[]{0x006AA88000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_letexp2549 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_variable_let_in_ocl_expressions_variable_let2595 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifier_in_ocl_ecore_variable_let2629 = new BitSet(new long[]{0x0000000000408000L}); public static final BitSet FOLLOW_COLON_in_ocl_ecore_variable_let2654 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_identifier_in_ocl_ecore_variable_let2662 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_EQUALS_in_ocl_ecore_variable_let2674 = new BitSet(new long[]{0x006AA88000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_variable_let2682 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_variable_in_ocl_expressions_variable2722 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifier_in_ocl_ecore_variable2756 = new BitSet(new long[]{0x0000000000408002L}); public static final BitSet FOLLOW_COLON_in_ocl_ecore_variable2781 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_identifier_in_ocl_ecore_variable2789 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_EQUALS_in_ocl_ecore_variable2807 = new BitSet(new long[]{0x006AA88000010F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_variable2815 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_variable_self_in_ocl_ecore_variableexp2880 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifier_in_ocl_ecore_variableexp2900 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_variable_self_in_ocl_expressions_variable_self2948 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_43_in_ocl_ecore_variable_self2978 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_52_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3027 = new BitSet(new long[]{0x0000000000000800L}); public static final BitSet FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3031 = new BitSet(new long[]{0x006AA88000810750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3039 = new BitSet(new long[]{0x006AA88000810750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3047 = new BitSet(new long[]{0x006AA88000810750L}); public static final BitSet FOLLOW_SEMI_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3064 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3072 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_ocl_expressions_variable_implicitAccumulator_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3092 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_42_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3113 = new BitSet(new long[]{0x0000000000000800L}); public static final BitSet FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3117 = new BitSet(new long[]{0x006AA88001010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3125 = new BitSet(new long[]{0x0000000001080000L}); public static final BitSet FOLLOW_COMMA_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3134 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3142 = new BitSet(new long[]{0x0000000001080000L}); public static final BitSet FOLLOW_46_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3163 = new BitSet(new long[]{0x0000000000000800L}); public static final BitSet FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3167 = new BitSet(new long[]{0x006AA88001010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3175 = new BitSet(new long[]{0x0000000001080000L}); public static final BitSet FOLLOW_COMMA_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3184 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3192 = new BitSet(new long[]{0x0000000001080000L}); public static final BitSet FOLLOW_48_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3213 = new BitSet(new long[]{0x0000000000000800L}); public static final BitSet FOLLOW_LPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3217 = new BitSet(new long[]{0x006AA88001010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3225 = new BitSet(new long[]{0x0000000001080000L}); public static final BitSet FOLLOW_COMMA_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3234 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_ocl_expressions_variable_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3242 = new BitSet(new long[]{0x0000000001080000L}); public static final BitSet FOLLOW_BAR_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3259 = new BitSet(new long[]{0x006AA88000011F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3267 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_RPAREN_in_ocl_ecore_iterateexp_ocl_ecore_IterateExp_arrowOp3276 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_ecore_variable_implicitAccumulator_in_ocl_expressions_variable_implicitAccumulator3306 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifierOrKeyword_in_ocl_ecore_propertycallexp_ocl_ecore_PropertyCallExp_dotOp3381 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifierOrKeyword_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3424 = new BitSet(new long[]{0x0000000000000800L}); public static final BitSet FOLLOW_LPAREN_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3433 = new BitSet(new long[]{0x006AA88000011F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3441 = new BitSet(new long[]{0x006AA88000011F50L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3449 = new BitSet(new long[]{0x006AA88000011F50L}); public static final BitSet FOLLOW_RPAREN_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_dotOp3461 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifierOrKeyword_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp3502 = new BitSet(new long[]{0x006AA88000010F52L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp3514 = new BitSet(new long[]{0x006AA88000010F52L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_ocl_ecore_operationcallexp_ocl_ecore_OperationCallExp_equalsOp3522 = new BitSet(new long[]{0x006AA88000010F52L}); public static final BitSet FOLLOW_DOT_in_synpred22_Ocl770 = new BitSet(new long[]{0x006AA88000010750L}); public static final BitSet FOLLOW_identifier_in_synpred22_Ocl773 = new BitSet(new long[]{0x007FFFFFFFFFF7F0L}); public static final BitSet FOLLOW_set_in_synpred22_Ocl775 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifier_in_synpred22_Ocl780 = new BitSet(new long[]{0x0000000000000800L}); public static final BitSet FOLLOW_LPAREN_in_synpred22_Ocl782 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifier_in_synpred23_Ocl796 = new BitSet(new long[]{0x007FFFFFFFFFF7F0L}); public static final BitSet FOLLOW_set_in_synpred23_Ocl798 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifier_in_synpred24_Ocl812 = new BitSet(new long[]{0x0000000000000800L}); public static final BitSet FOLLOW_LPAREN_in_synpred24_Ocl814 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ARROW_in_synpred25_Ocl830 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_EQUALS_in_synpred26_Ocl893 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_collectionitem_in_synpred32_Ocl1363 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_synpred33_Ocl1370 = new BitSet(new long[]{0x0000000000080000L}); public static final BitSet FOLLOW_COMMA_in_synpred33_Ocl1372 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifierOrKeyword_in_synpred65_Ocl3502 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_synpred66_Ocl3522 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_synpred67_Ocl3514 = new BitSet(new long[]{0x006AA88000010F52L}); public static final BitSet FOLLOW_ocl_expressions_oclexpression_in_synpred67_Ocl3522 = new BitSet(new long[]{0x006AA88000010F52L}); }