// $ANTLR 3.1.2 C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g 2009-04-06 11:25:09 package jadex.rules.parser.conditions; import jadex.rules.rulesystem.rules.*; import jadex.rules.rulesystem.rules.functions.*; import jadex.rules.rulesystem.*; import jadex.rules.state.*; import jadex.commons.SReflect; import java.lang.reflect.Method; import java.util.List; import java.util.Map; import java.util.HashMap; import org.antlr.runtime.*; import java.util.ArrayList; public class ClipsJadexParser extends Parser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ConstraintOperator", "StringLiteral", "CharacterLiteral", "BooleanLiteral", "FloatingPointLiteral", "HexLiteral", "OctalLiteral", "DecimalLiteral", "Identifiertoken", "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "EscapeSequence", "UnicodeEscape", "OctalEscape", "Letter", "JavaIDDigit", "WS", "COMMENT", "LINE_COMMENT", "'('", "'and'", "')'", "'not'", "'test'", "'<-'", "'='", "'collect'", "'?'", "'$?'", "':'", "'.'", "'['", "']'", "'null'", "'+'", "'-'", "'!='", "'~'", "'>'", "'<'", "'>='", "'<='", "'contains'", "'excludes'", "'=='" }; public static final int T__29=29; public static final int T__28=28; public static final int T__27=27; public static final int T__26=26; public static final int T__25=25; public static final int FloatTypeSuffix=16; public static final int OctalLiteral=10; public static final int CharacterLiteral=6; public static final int Exponent=15; public static final int EOF=-1; public static final int HexDigit=13; public static final int COMMENT=23; 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 HexLiteral=9; 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 T__44=44; public static final int T__45=45; public static final int LINE_COMMENT=24; public static final int IntegerTypeSuffix=14; public static final int T__48=48; public static final int T__49=49; public static final int DecimalLiteral=11; public static final int StringLiteral=5; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; public static final int WS=22; public static final int T__33=33; public static final int T__34=34; public static final int T__35=35; public static final int T__36=36; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int UnicodeEscape=18; public static final int ConstraintOperator=4; public static final int FloatingPointLiteral=8; public static final int JavaIDDigit=21; public static final int Identifiertoken=12; public static final int Letter=20; public static final int OctalEscape=19; public static final int EscapeSequence=17; public static final int BooleanLiteral=7; // delegates // delegators public ClipsJadexParser(TokenStream input) { this(input, new RecognizerSharedState()); } public ClipsJadexParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return ClipsJadexParser.tokenNames; } public String getGrammarFileName() { return "C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g"; } protected List errors; public void displayRecognitionError(String[] tokenNames, RecognitionException e) { if(errors!=null) { String hdr = getErrorHeader(e); String msg = getErrorMessage(e, tokenNames); errors.add(hdr + " " + msg); } else { super.displayRecognitionError(tokenNames, e); } } public void setErrorList(List errors) { this.errors = errors; } public List getErrorList() { return errors; } protected String[] imports; public void setImports(String[] imports) { this.imports = imports; } // $ANTLR start "rhs" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:59:1: rhs[OAVTypeModel tmodel] returns [ICondition condition] : (c= ce[tmodel, vars] )+ EOF ; public final ICondition rhs(OAVTypeModel tmodel) throws RecognitionException { ICondition condition = null; ICondition c = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:60:2: ( (c= ce[tmodel, vars] )+ EOF ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:61:2: (c= ce[tmodel, vars] )+ EOF { List conds = new ArrayList(); Map vars = new HashMap(); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:66:2: (c= ce[tmodel, vars] )+ int cnt1=0; loop1: do { int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==25||(LA1_0>=33 && LA1_0<=34)) ) { alt1=1; } switch (alt1) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:66:3: c= ce[tmodel, vars] { pushFollow(FOLLOW_ce_in_rhs53); c=ce(tmodel, vars); state._fsp--; conds.add(c); } break; default : if ( cnt1 >= 1 ) break loop1; EarlyExitException eee = new EarlyExitException(1, input); throw eee; } cnt1++; } while (true); if(conds.size()>1) condition = new AndCondition(conds); else condition = (ICondition)conds.get(0); match(input,EOF,FOLLOW_EOF_in_rhs68); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return condition; } // $ANTLR end "rhs" // $ANTLR start "ce" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:80:1: ce[OAVTypeModel tmodel, Map vars] returns [ICondition condition] : ({...}?tmp= andce[tmodel, vars] | {...}?tmp= notce[tmodel, vars] | {...}?tmp= testce[tmodel, vars] | tmp= collectce[tmodel, vars] | {...}?tmp= objectce[tmodel, vars] ); public final ICondition ce(OAVTypeModel tmodel, Map vars) throws RecognitionException { ICondition condition = null; ICondition tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:81:2: ({...}?tmp= andce[tmodel, vars] | {...}?tmp= notce[tmodel, vars] | {...}?tmp= testce[tmodel, vars] | tmp= collectce[tmodel, vars] | {...}?tmp= objectce[tmodel, vars] ) int alt2=5; switch ( input.LA(1) ) { case 25: { int LA2_1 = input.LA(2); if ( (("and".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { alt2=1; } else if ( (("not".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { alt2=2; } else if ( (("test".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { alt2=3; } else if ( (!(((("and".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))||("not".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))||(SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))||("test".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input)))))) ) { alt2=4; } else if ( ((SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { alt2=5; } else { NoViableAltException nvae = new NoViableAltException("", 2, 1, input); throw nvae; } } break; case 34: { alt2=4; } break; case 33: { alt2=5; } break; default: NoViableAltException nvae = new NoViableAltException("", 2, 0, input); throw nvae; } switch (alt2) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:81:4: {...}?tmp= andce[tmodel, vars] { if ( !(("and".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "ce", "\"and\".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_andce_in_ce93); tmp=andce(tmodel, vars); state._fsp--; condition = tmp; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:83:4: {...}?tmp= notce[tmodel, vars] { if ( !(("not".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "ce", "\"not\".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_notce_in_ce109); tmp=notce(tmodel, vars); state._fsp--; condition = tmp; } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:85:4: {...}?tmp= testce[tmodel, vars] { if ( !(("test".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "ce", "\"test\".equals(ClipsJadexParser.this.input.LT(2).getText()) && !SConditions.lookaheadObjectCE(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_testce_in_ce125); tmp=testce(tmodel, vars); state._fsp--; condition = tmp; } break; case 4 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:87:4: tmp= collectce[tmodel, vars] { pushFollow(FOLLOW_collectce_in_ce137); tmp=collectce(tmodel, vars); state._fsp--; condition = tmp; } break; case 5 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:88:4: {...}?tmp= objectce[tmodel, vars] { if ( !((SConditions.lookaheadObjectCE(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "ce", "SConditions.lookaheadObjectCE(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_objectce_in_ce151); tmp=objectce(tmodel, vars); state._fsp--; condition = tmp; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return condition; } // $ANTLR end "ce" // $ANTLR start "andce" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:91:1: andce[OAVTypeModel tmodel, Map vars] returns [ICondition condition] : '(' 'and' (c= ce[$tmodel, vars] )+ ')' ; public final ICondition andce(OAVTypeModel tmodel, Map vars) throws RecognitionException { ICondition condition = null; ICondition c = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:92:2: ( '(' 'and' (c= ce[$tmodel, vars] )+ ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:93:2: '(' 'and' (c= ce[$tmodel, vars] )+ ')' { List conds = new ArrayList(); match(input,25,FOLLOW_25_in_andce175); match(input,26,FOLLOW_26_in_andce177); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:96:12: (c= ce[$tmodel, vars] )+ int cnt3=0; loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==25||(LA3_0>=33 && LA3_0<=34)) ) { alt3=1; } switch (alt3) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:96:13: c= ce[$tmodel, vars] { pushFollow(FOLLOW_ce_in_andce182); c=ce(tmodel, vars); state._fsp--; conds.add(c); } break; default : if ( cnt3 >= 1 ) break loop3; EarlyExitException eee = new EarlyExitException(3, input); throw eee; } cnt3++; } while (true); match(input,27,FOLLOW_27_in_andce192); condition = new AndCondition(conds); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return condition; } // $ANTLR end "andce" // $ANTLR start "notce" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:106:1: notce[OAVTypeModel tmodel, Map vars] returns [ICondition condition] : '(' 'not' c= ce[$tmodel, vars] ')' ; public final ICondition notce(OAVTypeModel tmodel, Map vars) throws RecognitionException { ICondition condition = null; ICondition c = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:107:2: ( '(' 'not' c= ce[$tmodel, vars] ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:107:4: '(' 'not' c= ce[$tmodel, vars] ')' { match(input,25,FOLLOW_25_in_notce211); match(input,28,FOLLOW_28_in_notce213); pushFollow(FOLLOW_ce_in_notce217); c=ce(tmodel, vars); state._fsp--; match(input,27,FOLLOW_27_in_notce220); condition = new NotCondition(c); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return condition; } // $ANTLR end "notce" // $ANTLR start "testce" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:113:1: testce[OAVTypeModel tmodel, Map vars] returns [ICondition condition] : '(' 'test' (call= operatorCall[tmodel, vars] | ({...}?call= functionCall[tmodel, vars] ) ) ')' ; public final ICondition testce(OAVTypeModel tmodel, Map vars) throws RecognitionException { ICondition condition = null; FunctionCall call = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:114:2: ( '(' 'test' (call= operatorCall[tmodel, vars] | ({...}?call= functionCall[tmodel, vars] ) ) ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:114:4: '(' 'test' (call= operatorCall[tmodel, vars] | ({...}?call= functionCall[tmodel, vars] ) ) ')' { match(input,25,FOLLOW_25_in_testce239); match(input,29,FOLLOW_29_in_testce241); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:115:3: (call= operatorCall[tmodel, vars] | ({...}?call= functionCall[tmodel, vars] ) ) int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==25) ) { int LA4_1 = input.LA(2); if ( (!(((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))))) ) { alt4=1; } else if ( ((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) { alt4=2; } else { NoViableAltException nvae = new NoViableAltException("", 4, 1, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 4, 0, input); throw nvae; } switch (alt4) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:115:5: call= operatorCall[tmodel, vars] { pushFollow(FOLLOW_operatorCall_in_testce249); call=operatorCall(tmodel, vars); state._fsp--; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:116:5: ({...}?call= functionCall[tmodel, vars] ) { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:116:5: ({...}?call= functionCall[tmodel, vars] ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:116:6: {...}?call= functionCall[tmodel, vars] { if ( !((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "testce", "SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_functionCall_in_testce261); call=functionCall(tmodel, vars); state._fsp--; } } break; } match(input,27,FOLLOW_27_in_testce269); condition = new TestCondition(new PredicateConstraint(call)); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return condition; } // $ANTLR end "testce" // $ANTLR start "collectce" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:123:1: collectce[OAVTypeModel tmodel, Map vars] returns [ICondition condition] : (mfv= multiFieldVariable[null, vars] ( '<-' | '=' ) )? '(' 'collect' (c= ce[$tmodel, vars] )+ (pc= predicateConstraint[$tmodel, null, vars] )? ')' ; public final ICondition collectce(OAVTypeModel tmodel, Map vars) throws RecognitionException { ICondition condition = null; Variable mfv = null; ICondition c = null; IConstraint pc = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:124:2: ( (mfv= multiFieldVariable[null, vars] ( '<-' | '=' ) )? '(' 'collect' (c= ce[$tmodel, vars] )+ (pc= predicateConstraint[$tmodel, null, vars] )? ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:125:2: (mfv= multiFieldVariable[null, vars] ( '<-' | '=' ) )? '(' 'collect' (c= ce[$tmodel, vars] )+ (pc= predicateConstraint[$tmodel, null, vars] )? ')' { List conds = new ArrayList(); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:128:2: (mfv= multiFieldVariable[null, vars] ( '<-' | '=' ) )? int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==34) ) { alt5=1; } switch (alt5) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:128:3: mfv= multiFieldVariable[null, vars] ( '<-' | '=' ) { pushFollow(FOLLOW_multiFieldVariable_in_collectce296); mfv=multiFieldVariable(null, vars); state._fsp--; if ( (input.LA(1)>=30 && input.LA(1)<=31) ) { input.consume(); state.errorRecovery=false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } break; } match(input,25,FOLLOW_25_in_collectce311); match(input,32,FOLLOW_32_in_collectce313); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:129:16: (c= ce[$tmodel, vars] )+ int cnt6=0; loop6: do { int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==25||(LA6_0>=33 && LA6_0<=34)) ) { alt6=1; } switch (alt6) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:129:17: c= ce[$tmodel, vars] { pushFollow(FOLLOW_ce_in_collectce318); c=ce(tmodel, vars); state._fsp--; conds.add(c); } break; default : if ( cnt6 >= 1 ) break loop6; EarlyExitException eee = new EarlyExitException(6, input); throw eee; } cnt6++; } while (true); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:133:8: (pc= predicateConstraint[$tmodel, null, vars] )? int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==35) ) { alt7=1; } switch (alt7) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:133:8: pc= predicateConstraint[$tmodel, null, vars] { pushFollow(FOLLOW_predicateConstraint_in_collectce331); pc=predicateConstraint(tmodel, null, vars); state._fsp--; } break; } match(input,27,FOLLOW_27_in_collectce335); ObjectCondition first = (ObjectCondition)conds.get(0); mfv.setType(first.getObjectType()); List consts = new ArrayList(); consts.add(new BoundConstraint(null, mfv)); if(pc!=null) consts.add(pc); CollectCondition ccond = new CollectCondition(conds, consts); condition = ccond; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return condition; } // $ANTLR end "collectce" // $ANTLR start "objectce" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:147:1: objectce[OAVTypeModel tmodel, Map vars] returns [ICondition condition] : (sfv= singleFieldVariable[null, vars] ( '<-' | '=' ) )? '(' tn= typename (acs= attributeConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | mcs= methodConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | fcs= functionConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] )* ')' ; public final ICondition objectce(OAVTypeModel tmodel, Map vars) throws RecognitionException { ICondition condition = null; Variable sfv = null; String tn = null; List acs = null; List mcs = null; List fcs = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:148:2: ( (sfv= singleFieldVariable[null, vars] ( '<-' | '=' ) )? '(' tn= typename (acs= attributeConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | mcs= methodConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | fcs= functionConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] )* ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:149:2: (sfv= singleFieldVariable[null, vars] ( '<-' | '=' ) )? '(' tn= typename (acs= attributeConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | mcs= methodConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | fcs= functionConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] )* ')' { List consts = new ArrayList(); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:152:2: (sfv= singleFieldVariable[null, vars] ( '<-' | '=' ) )? int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==33) ) { alt8=1; } switch (alt8) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:152:3: sfv= singleFieldVariable[null, vars] ( '<-' | '=' ) { pushFollow(FOLLOW_singleFieldVariable_in_objectce364); sfv=singleFieldVariable(null, vars); state._fsp--; if ( (input.LA(1)>=30 && input.LA(1)<=31) ) { input.consume(); state.errorRecovery=false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } break; } match(input,25,FOLLOW_25_in_objectce379); pushFollow(FOLLOW_typename_in_objectce385); tn=typename(); state._fsp--; // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:156:2: (acs= attributeConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | mcs= methodConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | fcs= functionConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] )* loop9: do { int alt9=4; alt9 = dfa9.predict(input); switch (alt9) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:156:3: acs= attributeConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] { pushFollow(FOLLOW_attributeConstraint_in_objectce394); acs=attributeConstraint(tmodel, SConditions.getObjectType(tmodel, tn, imports), vars); state._fsp--; consts.addAll(acs); } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:160:4: mcs= methodConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] { pushFollow(FOLLOW_methodConstraint_in_objectce405); mcs=methodConstraint(tmodel, SConditions.getObjectType(tmodel, tn, imports), vars); state._fsp--; consts.addAll(mcs); } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:164:4: fcs= functionConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] { pushFollow(FOLLOW_functionConstraint_in_objectce416); fcs=functionConstraint(tmodel, SConditions.getObjectType(tmodel, tn, imports), vars); state._fsp--; consts.addAll(fcs); } break; default : break loop9; } } while (true); match(input,27,FOLLOW_27_in_objectce428); // Set variable type if still unknown/unprecise if(sfv!=null) SConditions.adaptConditionType(sfv, SConditions.getObjectType(tmodel, tn, imports)); OAVObjectType otype = SConditions.getObjectType(tmodel, tn, imports); ObjectCondition ocond = new ObjectCondition(otype, consts); if(sfv!=null) ocond.addConstraint(new BoundConstraint(null, sfv)); condition = ocond; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return condition; } // $ANTLR end "objectce" // $ANTLR start "attributeConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:184:1: attributeConstraint[OAVTypeModel tmodel, OAVObjectType otype, Map vars] returns [List constraints] : '(' sn= slotname cs= constraint[tmodel, SConditions.convertAttributeTypes(tmodel, otype, sn, imports), vars] ')' ; public final List attributeConstraint(OAVTypeModel tmodel, OAVObjectType otype, Map vars) throws RecognitionException { List constraints = null; String sn = null; List cs = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:185:2: ( '(' sn= slotname cs= constraint[tmodel, SConditions.convertAttributeTypes(tmodel, otype, sn, imports), vars] ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:185:4: '(' sn= slotname cs= constraint[tmodel, SConditions.convertAttributeTypes(tmodel, otype, sn, imports), vars] ')' { match(input,25,FOLLOW_25_in_attributeConstraint450); pushFollow(FOLLOW_slotname_in_attributeConstraint454); sn=slotname(); state._fsp--; pushFollow(FOLLOW_constraint_in_attributeConstraint458); cs=constraint(tmodel, SConditions.convertAttributeTypes(tmodel, otype, sn, imports), vars); state._fsp--; match(input,27,FOLLOW_27_in_attributeConstraint461); constraints = cs; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraints; } // $ANTLR end "attributeConstraint" // $ANTLR start "methodConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:191:1: methodConstraint[OAVTypeModel tmodel, OAVObjectType otype, Map vars] returns [List constraints] : '(' mn= methodname '(' (exp= parameter[tmodel, vars] )* ')' cs= constraint[tmodel, SConditions.createMethodCall(otype, mn, exps), vars] ')' ; public final List methodConstraint(OAVTypeModel tmodel, OAVObjectType otype, Map vars) throws RecognitionException { List constraints = null; String mn = null; Object exp = null; List cs = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:192:2: ( '(' mn= methodname '(' (exp= parameter[tmodel, vars] )* ')' cs= constraint[tmodel, SConditions.createMethodCall(otype, mn, exps), vars] ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:193:2: '(' mn= methodname '(' (exp= parameter[tmodel, vars] )* ')' cs= constraint[tmodel, SConditions.createMethodCall(otype, mn, exps), vars] ')' { List exps = new ArrayList(); match(input,25,FOLLOW_25_in_methodConstraint488); pushFollow(FOLLOW_methodname_in_methodConstraint492); mn=methodname(); state._fsp--; match(input,25,FOLLOW_25_in_methodConstraint494); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:196:23: (exp= parameter[tmodel, vars] )* loop10: do { int alt10=2; int LA10_0 = input.LA(1); if ( ((LA10_0>=StringLiteral && LA10_0<=DecimalLiteral)||LA10_0==25||(LA10_0>=33 && LA10_0<=34)||(LA10_0>=39 && LA10_0<=41)) ) { alt10=1; } switch (alt10) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:196:24: exp= parameter[tmodel, vars] { pushFollow(FOLLOW_parameter_in_methodConstraint498); exp=parameter(tmodel, vars); state._fsp--; exps.add(exp); } break; default : break loop10; } } while (true); match(input,27,FOLLOW_27_in_methodConstraint508); pushFollow(FOLLOW_constraint_in_methodConstraint512); cs=constraint(tmodel, SConditions.createMethodCall(otype, mn, exps), vars); state._fsp--; match(input,27,FOLLOW_27_in_methodConstraint515); constraints = cs; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraints; } // $ANTLR end "methodConstraint" // $ANTLR start "functionConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:206:1: functionConstraint[OAVTypeModel tmodel, OAVObjectType otype, Map vars] returns [List constraints] : '(' fc= functionCall[tmodel, vars] cs= constraint[tmodel, fc, vars] ')' ; public final List functionConstraint(OAVTypeModel tmodel, OAVObjectType otype, Map vars) throws RecognitionException { List constraints = null; FunctionCall fc = null; List cs = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:207:2: ( '(' fc= functionCall[tmodel, vars] cs= constraint[tmodel, fc, vars] ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:208:2: '(' fc= functionCall[tmodel, vars] cs= constraint[tmodel, fc, vars] ')' { List exps = new ArrayList(); match(input,25,FOLLOW_25_in_functionConstraint542); pushFollow(FOLLOW_functionCall_in_functionConstraint546); fc=functionCall(tmodel, vars); state._fsp--; pushFollow(FOLLOW_constraint_in_functionConstraint551); cs=constraint(tmodel, fc, vars); state._fsp--; match(input,27,FOLLOW_27_in_functionConstraint554); constraints = cs; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraints; } // $ANTLR end "functionConstraint" // $ANTLR start "constraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:217:1: constraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [List constraints] : ( '?' | '$?' | last= singleConstraint[tmodel, valuesource, vars] ( ConstraintOperator next= singleConstraint[tmodel, valuesource, vars] )* ); public final List constraint(OAVTypeModel tmodel, Object valuesource, Map vars) throws RecognitionException { List constraints = null; Token ConstraintOperator1=null; IConstraint last = null; IConstraint next = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:218:2: ( '?' | '$?' | last= singleConstraint[tmodel, valuesource, vars] ( ConstraintOperator next= singleConstraint[tmodel, valuesource, vars] )* ) int alt12=3; switch ( input.LA(1) ) { case 33: { int LA12_1 = input.LA(2); if ( (LA12_1==27) ) { alt12=1; } else if ( (LA12_1==Identifiertoken||LA12_1==26||(LA12_1>=28 && LA12_1<=29)||LA12_1==32||(LA12_1>=48 && LA12_1<=49)) ) { alt12=3; } else { NoViableAltException nvae = new NoViableAltException("", 12, 1, input); throw nvae; } } break; case 34: { int LA12_2 = input.LA(2); if ( (LA12_2==27) ) { alt12=2; } else if ( (LA12_2==Identifiertoken||LA12_2==26||(LA12_2>=28 && LA12_2<=29)||LA12_2==32||(LA12_2>=48 && LA12_2<=49)) ) { alt12=3; } else { NoViableAltException nvae = new NoViableAltException("", 12, 2, input); throw nvae; } } break; case StringLiteral: case CharacterLiteral: case BooleanLiteral: case FloatingPointLiteral: case HexLiteral: case OctalLiteral: case DecimalLiteral: case 35: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: { alt12=3; } break; default: NoViableAltException nvae = new NoViableAltException("", 12, 0, input); throw nvae; } switch (alt12) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:222:2: '?' { match(input,33,FOLLOW_33_in_constraint584); } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:223:4: '$?' { match(input,34,FOLLOW_34_in_constraint590); } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:224:4: last= singleConstraint[tmodel, valuesource, vars] ( ConstraintOperator next= singleConstraint[tmodel, valuesource, vars] )* { pushFollow(FOLLOW_singleConstraint_in_constraint598); last=singleConstraint(tmodel, valuesource, vars); state._fsp--; List ret = new ArrayList(); List consts = new ArrayList(); String op = null; if(last instanceof BoundConstraint) ret.add(last); else consts.add(last); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:234:2: ( ConstraintOperator next= singleConstraint[tmodel, valuesource, vars] )* loop11: do { int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==ConstraintOperator) ) { alt11=1; } switch (alt11) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:234:3: ConstraintOperator next= singleConstraint[tmodel, valuesource, vars] { ConstraintOperator1=(Token)match(input,ConstraintOperator,FOLLOW_ConstraintOperator_in_constraint607); pushFollow(FOLLOW_singleConstraint_in_constraint611); next=singleConstraint(tmodel, valuesource, vars); state._fsp--; // Set op if first occurrence if(op==null) op = (ConstraintOperator1!=null?ConstraintOperator1.getText():null); consts.add(next); if(consts.size()>1) { if(!(ConstraintOperator1!=null?ConstraintOperator1.getText():null).equals(op)) { if(op.equals("&")) last = new AndConstraint((IConstraint[])consts.toArray(new IConstraint[consts.size()])); else last = new OrConstraint((IConstraint[])consts.toArray(new IConstraint[consts.size()])); op = (ConstraintOperator1!=null?ConstraintOperator1.getText():null); consts.clear(); consts.add(last); } } } break; default : break loop11; } } while (true); if(consts.size()>1) { if(op.equals("&")) ret.add(new AndConstraint((IConstraint[])consts.toArray(new IConstraint[consts.size()]))); else ret.add(new OrConstraint((IConstraint[])consts.toArray(new IConstraint[consts.size()]))); } else if(consts.size()==1) { ret.add(consts.get(0)); } constraints = ret; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraints; } // $ANTLR end "constraint" // $ANTLR start "singleConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:274:1: singleConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : (tmp= literalConstraint[valuesource] | tmp= boundConstraint[tmodel, valuesource, vars] | tmp= multiBoundConstraint[tmodel, valuesource, vars] | tmp= predicateConstraint[tmodel, valuesource, vars] | tmp= returnValueConstraint[tmodel, valuesource, vars] ); public final IConstraint singleConstraint(OAVTypeModel tmodel, Object valuesource, Map vars) throws RecognitionException { IConstraint constraint = null; IConstraint tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:275:2: (tmp= literalConstraint[valuesource] | tmp= boundConstraint[tmodel, valuesource, vars] | tmp= multiBoundConstraint[tmodel, valuesource, vars] | tmp= predicateConstraint[tmodel, valuesource, vars] | tmp= returnValueConstraint[tmodel, valuesource, vars] ) int alt13=5; alt13 = dfa13.predict(input); switch (alt13) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:275:4: tmp= literalConstraint[valuesource] { pushFollow(FOLLOW_literalConstraint_in_singleConstraint643); tmp=literalConstraint(valuesource); state._fsp--; constraint = tmp; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:276:4: tmp= boundConstraint[tmodel, valuesource, vars] { pushFollow(FOLLOW_boundConstraint_in_singleConstraint654); tmp=boundConstraint(tmodel, valuesource, vars); state._fsp--; constraint = tmp; } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:277:4: tmp= multiBoundConstraint[tmodel, valuesource, vars] { pushFollow(FOLLOW_multiBoundConstraint_in_singleConstraint664); tmp=multiBoundConstraint(tmodel, valuesource, vars); state._fsp--; constraint = tmp; } break; case 4 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:278:4: tmp= predicateConstraint[tmodel, valuesource, vars] { pushFollow(FOLLOW_predicateConstraint_in_singleConstraint674); tmp=predicateConstraint(tmodel, valuesource, vars); state._fsp--; constraint = tmp; } break; case 5 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:279:4: tmp= returnValueConstraint[tmodel, valuesource, vars] { pushFollow(FOLLOW_returnValueConstraint_in_singleConstraint684); tmp=returnValueConstraint(tmodel, valuesource, vars); state._fsp--; constraint = tmp; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraint; } // $ANTLR end "singleConstraint" // $ANTLR start "literalConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:282:1: literalConstraint[Object valuesource] returns [IConstraint constraint] : (op= operator )? val= constant ; public final IConstraint literalConstraint(Object valuesource) throws RecognitionException { IConstraint constraint = null; IOperator op = null; Object val = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:283:2: ( (op= operator )? val= constant ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:283:4: (op= operator )? val= constant { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:283:6: (op= operator )? int alt14=2; int LA14_0 = input.LA(1); if ( ((LA14_0>=42 && LA14_0<=50)) ) { alt14=1; } switch (alt14) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:283:6: op= operator { pushFollow(FOLLOW_operator_in_literalConstraint706); op=operator(); state._fsp--; } break; } pushFollow(FOLLOW_constant_in_literalConstraint711); val=constant(); state._fsp--; if(op!=null) constraint = new LiteralConstraint(valuesource, val, op); else constraint = new LiteralConstraint(valuesource, val); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraint; } // $ANTLR end "literalConstraint" // $ANTLR start "someBoundConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:292:1: someBoundConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : (bc= boundConstraint[tmodel, valuesource, vars] | mbc= multiBoundConstraint[tmodel, valuesource, vars] ); public final IConstraint someBoundConstraint(OAVTypeModel tmodel, Object valuesource, Map vars) throws RecognitionException { IConstraint constraint = null; IConstraint bc = null; IConstraint mbc = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:293:2: (bc= boundConstraint[tmodel, valuesource, vars] | mbc= multiBoundConstraint[tmodel, valuesource, vars] ) int alt15=2; alt15 = dfa15.predict(input); switch (alt15) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:293:4: bc= boundConstraint[tmodel, valuesource, vars] { pushFollow(FOLLOW_boundConstraint_in_someBoundConstraint734); bc=boundConstraint(tmodel, valuesource, vars); state._fsp--; constraint = bc; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:297:4: mbc= multiBoundConstraint[tmodel, valuesource, vars] { pushFollow(FOLLOW_multiBoundConstraint_in_someBoundConstraint747); mbc=multiBoundConstraint(tmodel, valuesource, vars); state._fsp--; constraint = mbc; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraint; } // $ANTLR end "someBoundConstraint" // $ANTLR start "boundConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:303:1: boundConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : (op= operator )? var= variable[op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars] ; public final IConstraint boundConstraint(OAVTypeModel tmodel, Object valuesource, Map vars) throws RecognitionException { IConstraint constraint = null; IOperator op = null; Variable var = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:304:2: ( (op= operator )? var= variable[op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars] ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:304:4: (op= operator )? var= variable[op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars] { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:304:6: (op= operator )? int alt16=2; int LA16_0 = input.LA(1); if ( ((LA16_0>=42 && LA16_0<=50)) ) { alt16=1; } switch (alt16) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:304:6: op= operator { pushFollow(FOLLOW_operator_in_boundConstraint770); op=operator(); state._fsp--; } break; } pushFollow(FOLLOW_variable_in_boundConstraint775); var=variable(op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars); state._fsp--; if(op!=null) constraint = new BoundConstraint(valuesource, var, op); else constraint = new BoundConstraint(valuesource, var); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraint; } // $ANTLR end "boundConstraint" // $ANTLR start "multiBoundConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:313:1: multiBoundConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : (op= operator )? var= variable[op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars] (varn= variable[SConditions.getValueSourceType(tmodel, valuesource), vars] )+ ; public final IConstraint multiBoundConstraint(OAVTypeModel tmodel, Object valuesource, Map vars) throws RecognitionException { IConstraint constraint = null; IOperator op = null; Variable var = null; Variable varn = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:314:2: ( (op= operator )? var= variable[op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars] (varn= variable[SConditions.getValueSourceType(tmodel, valuesource), vars] )+ ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:315:2: (op= operator )? var= variable[op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars] (varn= variable[SConditions.getValueSourceType(tmodel, valuesource), vars] )+ { List vs = new ArrayList(); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:318:4: (op= operator )? int alt17=2; int LA17_0 = input.LA(1); if ( ((LA17_0>=42 && LA17_0<=50)) ) { alt17=1; } switch (alt17) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:318:4: op= operator { pushFollow(FOLLOW_operator_in_multiBoundConstraint803); op=operator(); state._fsp--; } break; } pushFollow(FOLLOW_variable_in_multiBoundConstraint808); var=variable(op==null || op.equals(IOperator.EQUAL)? SConditions.getValueSourceType(tmodel, valuesource): null, vars); state._fsp--; vs.add(var); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:322:2: (varn= variable[SConditions.getValueSourceType(tmodel, valuesource), vars] )+ int cnt18=0; loop18: do { int alt18=2; int LA18_0 = input.LA(1); if ( ((LA18_0>=33 && LA18_0<=34)) ) { alt18=1; } switch (alt18) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:322:3: varn= variable[SConditions.getValueSourceType(tmodel, valuesource), vars] { pushFollow(FOLLOW_variable_in_multiBoundConstraint818); varn=variable(SConditions.getValueSourceType(tmodel, valuesource), vars); state._fsp--; vs.add(varn); } break; default : if ( cnt18 >= 1 ) break loop18; EarlyExitException eee = new EarlyExitException(18, input); throw eee; } cnt18++; } while (true); //if(op!=null) constraint = new BoundConstraint(valuesource, vs, op==null? IOperator.EQUAL: op); // Hack? one operator per variable? //else // constraint = new BoundConstraint(valuesource, vars); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraint; } // $ANTLR end "multiBoundConstraint" // $ANTLR start "predicateConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:335:1: predicateConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : ':' ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) ; public final IConstraint predicateConstraint(OAVTypeModel tmodel, Object valuesource, Map vars) throws RecognitionException { IConstraint constraint = null; FunctionCall fc = null; FunctionCall oc = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:336:2: ( ':' ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:336:4: ':' ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) { match(input,35,FOLLOW_35_in_predicateConstraint846); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:336:8: ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==25) ) { int LA19_1 = input.LA(2); if ( ((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) { alt19=1; } else if ( (true) ) { alt19=2; } else { NoViableAltException nvae = new NoViableAltException("", 19, 1, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 19, 0, input); throw nvae; } switch (alt19) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:336:9: {...}?fc= functionCall[tmodel, vars] { if ( !((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "predicateConstraint", "SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_functionCall_in_predicateConstraint853); fc=functionCall(tmodel, vars); state._fsp--; constraint = new PredicateConstraint(fc); } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:337:4: oc= operatorCall[tmodel, vars] { pushFollow(FOLLOW_operatorCall_in_predicateConstraint864); oc=operatorCall(tmodel, vars); state._fsp--; constraint = new PredicateConstraint(oc); } break; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraint; } // $ANTLR end "predicateConstraint" // $ANTLR start "returnValueConstraint" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:342:1: returnValueConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : equalOperator ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) ; public final IConstraint returnValueConstraint(OAVTypeModel tmodel, Object valuesource, Map vars) throws RecognitionException { IConstraint constraint = null; FunctionCall fc = null; FunctionCall oc = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:343:2: ( equalOperator ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:343:4: equalOperator ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) { pushFollow(FOLLOW_equalOperator_in_returnValueConstraint888); equalOperator(); state._fsp--; // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:343:18: ({...}?fc= functionCall[tmodel, vars] | oc= operatorCall[tmodel, vars] ) int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==25) ) { int LA20_1 = input.LA(2); if ( ((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) { alt20=1; } else if ( (true) ) { alt20=2; } else { NoViableAltException nvae = new NoViableAltException("", 20, 1, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("", 20, 0, input); throw nvae; } switch (alt20) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:343:19: {...}?fc= functionCall[tmodel, vars] { if ( !((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "returnValueConstraint", "SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_functionCall_in_returnValueConstraint895); fc=functionCall(tmodel, vars); state._fsp--; constraint = new ValueSourceReturnValueConstraint(valuesource, fc, IOperator.EQUAL); } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:344:4: oc= operatorCall[tmodel, vars] { pushFollow(FOLLOW_operatorCall_in_returnValueConstraint906); oc=operatorCall(tmodel, vars); state._fsp--; constraint = new ValueSourceReturnValueConstraint(valuesource, oc, IOperator.EQUAL); } break; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return constraint; } // $ANTLR end "returnValueConstraint" // $ANTLR start "functionCall" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:348:1: functionCall[OAVTypeModel tmodel, Map vars] returns [FunctionCall fc] : '(' fn= functionName (exp= parameter[tmodel, vars] )* ')' ; public final FunctionCall functionCall(OAVTypeModel tmodel, Map vars) throws RecognitionException { FunctionCall fc = null; String fn = null; Object exp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:349:2: ( '(' fn= functionName (exp= parameter[tmodel, vars] )* ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:350:2: '(' fn= functionName (exp= parameter[tmodel, vars] )* ')' { List exps = new ArrayList(); match(input,25,FOLLOW_25_in_functionCall936); pushFollow(FOLLOW_functionName_in_functionCall940); fn=functionName(); state._fsp--; // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:353:22: (exp= parameter[tmodel, vars] )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( ((LA21_0>=StringLiteral && LA21_0<=DecimalLiteral)||LA21_0==25||(LA21_0>=33 && LA21_0<=34)||(LA21_0>=39 && LA21_0<=41)) ) { alt21=1; } switch (alt21) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:353:23: exp= parameter[tmodel, vars] { pushFollow(FOLLOW_parameter_in_functionCall945); exp=parameter(tmodel, vars); state._fsp--; exps.add(exp); } break; default : break loop21; } } while (true); match(input,27,FOLLOW_27_in_functionCall955); Class clazz = SReflect.findClass0(fn, imports, tmodel.getClassLoader()); IFunction func = null; if(MethodCallFunction.class.equals(clazz)) { String clazzname = (String)((Constant)exps.remove(0)).getValue(); String methodname = (String)((Constant)exps.remove(0)).getValue(); clazz = SReflect.findClass0(clazzname, imports, tmodel.getClassLoader()); Method[] methods = SReflect.getMethods(clazz, methodname); Method method = null; // Find one matching regardless of param types (hack???). // First param is object on which function will be called. for(int i = 0; i < methods.length && method == null; i++) { if(methods[i].getParameterTypes().length == exps.size() - 1) { method = methods[i]; } } if(method != null) func = new MethodCallFunction(method); } else { try { func = (IFunction)clazz.newInstance(); } catch(Exception e) { } } if(func == null) throw new RuntimeException("Function not found: " + fn); fc = new FunctionCall(func, exps); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return fc; } // $ANTLR end "functionCall" // $ANTLR start "operatorCall" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:396:1: operatorCall[OAVTypeModel tmodel, Map vars] returns [FunctionCall fc] : '(' op= operator exp1= parameter[tmodel, vars] exp2= parameter[tmodel, vars] ')' ; public final FunctionCall operatorCall(OAVTypeModel tmodel, Map vars) throws RecognitionException { FunctionCall fc = null; IOperator op = null; Object exp1 = null; Object exp2 = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:397:2: ( '(' op= operator exp1= parameter[tmodel, vars] exp2= parameter[tmodel, vars] ')' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:397:4: '(' op= operator exp1= parameter[tmodel, vars] exp2= parameter[tmodel, vars] ')' { match(input,25,FOLLOW_25_in_operatorCall976); pushFollow(FOLLOW_operator_in_operatorCall981); op=operator(); state._fsp--; pushFollow(FOLLOW_parameter_in_operatorCall986); exp1=parameter(tmodel, vars); state._fsp--; pushFollow(FOLLOW_parameter_in_operatorCall991); exp2=parameter(tmodel, vars); state._fsp--; match(input,27,FOLLOW_27_in_operatorCall994); IFunction func = new OperatorFunction(op!=null? op: IOperator.EQUAL); fc = new FunctionCall(func, new Object[]{exp1, exp2}); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return fc; } // $ANTLR end "operatorCall" // $ANTLR start "parameter" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:404:1: parameter[OAVTypeModel tmodel, Map vars] returns [Object val] : (tmp1= constant | tmp2= variable[null, vars] | {...}?tmp3= functionCall[tmodel, vars] | tmp4= operatorCall[tmodel, vars] ); public final Object parameter(OAVTypeModel tmodel, Map vars) throws RecognitionException { Object val = null; Object tmp1 = null; Variable tmp2 = null; FunctionCall tmp3 = null; FunctionCall tmp4 = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:405:2: (tmp1= constant | tmp2= variable[null, vars] | {...}?tmp3= functionCall[tmodel, vars] | tmp4= operatorCall[tmodel, vars] ) int alt22=4; alt22 = dfa22.predict(input); switch (alt22) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:405:4: tmp1= constant { pushFollow(FOLLOW_constant_in_parameter1017); tmp1=constant(); state._fsp--; val = new Constant(tmp1); } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:406:4: tmp2= variable[null, vars] { pushFollow(FOLLOW_variable_in_parameter1027); tmp2=variable(null, vars); state._fsp--; val = tmp2; } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:407:4: {...}?tmp3= functionCall[tmodel, vars] { if ( !((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) { throw new FailedPredicateException(input, "parameter", "SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input)"); } pushFollow(FOLLOW_functionCall_in_parameter1039); tmp3=functionCall(tmodel, vars); state._fsp--; val = tmp3; } break; case 4 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:408:4: tmp4= operatorCall[tmodel, vars] { pushFollow(FOLLOW_operatorCall_in_parameter1049); tmp4=operatorCall(tmodel, vars); state._fsp--; val = tmp4; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return val; } // $ANTLR end "parameter" // $ANTLR start "constant" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:411:1: constant returns [Object val] : tmp= literal ; public final Object constant() throws RecognitionException { Object val = null; Object tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:412:2: (tmp= literal ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:412:4: tmp= literal { pushFollow(FOLLOW_literal_in_constant1070); tmp=literal(); state._fsp--; val = tmp; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return val; } // $ANTLR end "constant" // $ANTLR start "variable" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:415:1: variable[OAVObjectType type, Map vars] returns [Variable var] : (tmp= singleFieldVariable[type, vars] | tmp= multiFieldVariable[type, vars] ); public final Variable variable(OAVObjectType type, Map vars) throws RecognitionException { Variable var = null; Variable tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:416:2: (tmp= singleFieldVariable[type, vars] | tmp= multiFieldVariable[type, vars] ) int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==33) ) { alt23=1; } else if ( (LA23_0==34) ) { alt23=2; } else { NoViableAltException nvae = new NoViableAltException("", 23, 0, input); throw nvae; } switch (alt23) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:416:4: tmp= singleFieldVariable[type, vars] { pushFollow(FOLLOW_singleFieldVariable_in_variable1093); tmp=singleFieldVariable(type, vars); state._fsp--; var = tmp; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:417:4: tmp= multiFieldVariable[type, vars] { pushFollow(FOLLOW_multiFieldVariable_in_variable1103); tmp=multiFieldVariable(type, vars); state._fsp--; var = tmp; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return var; } // $ANTLR end "variable" // $ANTLR start "singleFieldVariable" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:420:1: singleFieldVariable[OAVObjectType type, Map vars] returns [Variable var] : '?' id= identifier ; public final Variable singleFieldVariable(OAVObjectType type, Map vars) throws RecognitionException { Variable var = null; Token id = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:421:2: ( '?' id= identifier ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:421:4: '?' id= identifier { match(input,33,FOLLOW_33_in_singleFieldVariable1123); pushFollow(FOLLOW_identifier_in_singleFieldVariable1127); id=identifier(); state._fsp--; String vn = "?"+id.getText(); var = (Variable)vars.get(vn); if(var==null) { var = new Variable(vn, type); vars.put(vn, var); } else if(type!=null) { SConditions.adaptConditionType(var, type); } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return var; } // $ANTLR end "singleFieldVariable" // $ANTLR start "multiFieldVariable" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:437:1: multiFieldVariable[OAVObjectType type, Map vars] returns [Variable var] : '$?' id= identifier ; public final Variable multiFieldVariable(OAVObjectType type, Map vars) throws RecognitionException { Variable var = null; Token id = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:438:2: ( '$?' id= identifier ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:438:4: '$?' id= identifier { match(input,34,FOLLOW_34_in_multiFieldVariable1149); pushFollow(FOLLOW_identifier_in_multiFieldVariable1153); id=identifier(); state._fsp--; String vn = "$?"+id.getText(); var = (Variable)vars.get(vn); if(var==null) { var = new Variable(vn, type, true, false); vars.put(vn, var); } else if(type!=null) { SConditions.adaptConditionType(var, type); } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return var; } // $ANTLR end "multiFieldVariable" // $ANTLR start "typename" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:454:1: typename returns [String id] : tmp= identifier ( '.' tmp= identifier )* ; public final String typename() throws RecognitionException { String id = null; Token tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:455:2: (tmp= identifier ( '.' tmp= identifier )* ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:456:2: tmp= identifier ( '.' tmp= identifier )* { StringBuffer buf = new StringBuffer(); pushFollow(FOLLOW_identifier_in_typename1179); tmp=identifier(); state._fsp--; buf.append(tmp.getText()); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:463:2: ( '.' tmp= identifier )* loop24: do { int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==36) ) { alt24=1; } switch (alt24) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:463:3: '.' tmp= identifier { match(input,36,FOLLOW_36_in_typename1187); pushFollow(FOLLOW_identifier_in_typename1191); tmp=identifier(); state._fsp--; buf.append(".").append(tmp.getText()); } break; default : break loop24; } } while (true); id = buf.toString(); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return id; } // $ANTLR end "typename" // $ANTLR start "slotname" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:480:1: slotname returns [String id] : tmp= identifier ( '.' tmp= identifier | ':' tmp= identifier | ( '[' tmp= identifier ']' ) | ( '[' StringLiteral ']' ) )* ; public final String slotname() throws RecognitionException { String id = null; Token StringLiteral2=null; Token tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:481:2: (tmp= identifier ( '.' tmp= identifier | ':' tmp= identifier | ( '[' tmp= identifier ']' ) | ( '[' StringLiteral ']' ) )* ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:482:2: tmp= identifier ( '.' tmp= identifier | ':' tmp= identifier | ( '[' tmp= identifier ']' ) | ( '[' StringLiteral ']' ) )* { StringBuffer buf = new StringBuffer(); pushFollow(FOLLOW_identifier_in_slotname1226); tmp=identifier(); state._fsp--; buf.append(tmp.getText()); // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:489:2: ( '.' tmp= identifier | ':' tmp= identifier | ( '[' tmp= identifier ']' ) | ( '[' StringLiteral ']' ) )* loop25: do { int alt25=5; switch ( input.LA(1) ) { case 35: { int LA25_2 = input.LA(2); if ( (LA25_2==Identifiertoken||LA25_2==26||(LA25_2>=28 && LA25_2<=29)||LA25_2==32||(LA25_2>=48 && LA25_2<=49)) ) { alt25=2; } } break; case 36: { alt25=1; } break; case 37: { int LA25_4 = input.LA(2); if ( (LA25_4==StringLiteral) ) { alt25=4; } else if ( (LA25_4==Identifiertoken||LA25_4==26||(LA25_4>=28 && LA25_4<=29)||LA25_4==32||(LA25_4>=48 && LA25_4<=49)) ) { alt25=3; } } break; } switch (alt25) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:489:3: '.' tmp= identifier { match(input,36,FOLLOW_36_in_slotname1234); pushFollow(FOLLOW_identifier_in_slotname1238); tmp=identifier(); state._fsp--; buf.append(".").append(tmp.getText()); } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:493:3: ':' tmp= identifier { match(input,35,FOLLOW_35_in_slotname1245); pushFollow(FOLLOW_identifier_in_slotname1249); tmp=identifier(); state._fsp--; buf.append(":").append(tmp.getText()); } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:497:3: ( '[' tmp= identifier ']' ) { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:497:3: ( '[' tmp= identifier ']' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:497:4: '[' tmp= identifier ']' { match(input,37,FOLLOW_37_in_slotname1257); pushFollow(FOLLOW_identifier_in_slotname1261); tmp=identifier(); state._fsp--; match(input,38,FOLLOW_38_in_slotname1263); } buf.append("[").append(tmp.getText()).append("]"); } break; case 4 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:501:3: ( '[' StringLiteral ']' ) { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:501:3: ( '[' StringLiteral ']' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:501:4: '[' StringLiteral ']' { match(input,37,FOLLOW_37_in_slotname1273); StringLiteral2=(Token)match(input,StringLiteral,FOLLOW_StringLiteral_in_slotname1275); match(input,38,FOLLOW_38_in_slotname1277); } buf.append("[").append((StringLiteral2!=null?StringLiteral2.getText():null).substring(1, (StringLiteral2!=null?StringLiteral2.getText():null).length()-1)).append("]"); } break; default : break loop25; } } while (true); id = buf.toString(); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return id; } // $ANTLR end "slotname" // $ANTLR start "methodname" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:512:1: methodname returns [String id] : tmp= identifier ; public final String methodname() throws RecognitionException { String id = null; Token tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:513:2: (tmp= identifier ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:513:4: tmp= identifier { pushFollow(FOLLOW_identifier_in_methodname1308); tmp=identifier(); state._fsp--; id = tmp.getText(); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return id; } // $ANTLR end "methodname" // $ANTLR start "functionName" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:516:1: functionName returns [String id] : tmp= typename ; public final String functionName() throws RecognitionException { String id = null; String tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:517:2: (tmp= typename ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:517:4: tmp= typename { pushFollow(FOLLOW_typename_in_functionName1327); tmp=typename(); state._fsp--; id = tmp; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return id; } // $ANTLR end "functionName" // $ANTLR start "literal" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:520:1: literal returns [Object val] : (lit= floatingPointLiteral | lit= integerLiteral | CharacterLiteral | StringLiteral | BooleanLiteral | 'null' ); public final Object literal() throws RecognitionException { Object val = null; Token CharacterLiteral3=null; Token StringLiteral4=null; Token BooleanLiteral5=null; Object lit = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:521:2: (lit= floatingPointLiteral | lit= integerLiteral | CharacterLiteral | StringLiteral | BooleanLiteral | 'null' ) int alt26=6; switch ( input.LA(1) ) { case 40: case 41: { int LA26_1 = input.LA(2); if ( ((LA26_1>=HexLiteral && LA26_1<=DecimalLiteral)) ) { alt26=2; } else if ( (LA26_1==FloatingPointLiteral) ) { alt26=1; } else { NoViableAltException nvae = new NoViableAltException("", 26, 1, input); throw nvae; } } break; case FloatingPointLiteral: { alt26=1; } break; case HexLiteral: case OctalLiteral: case DecimalLiteral: { alt26=2; } break; case CharacterLiteral: { alt26=3; } break; case StringLiteral: { alt26=4; } break; case BooleanLiteral: { alt26=5; } break; case 39: { alt26=6; } break; default: NoViableAltException nvae = new NoViableAltException("", 26, 0, input); throw nvae; } switch (alt26) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:521:4: lit= floatingPointLiteral { pushFollow(FOLLOW_floatingPointLiteral_in_literal1347); lit=floatingPointLiteral(); state._fsp--; val = lit; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:522:4: lit= integerLiteral { pushFollow(FOLLOW_integerLiteral_in_literal1356); lit=integerLiteral(); state._fsp--; val = lit; } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:523:4: CharacterLiteral { CharacterLiteral3=(Token)match(input,CharacterLiteral,FOLLOW_CharacterLiteral_in_literal1363); val = new Character((CharacterLiteral3!=null?CharacterLiteral3.getText():null).charAt(0)); } break; case 4 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:524:4: StringLiteral { StringLiteral4=(Token)match(input,StringLiteral,FOLLOW_StringLiteral_in_literal1370); val = (StringLiteral4!=null?StringLiteral4.getText():null).substring(1, (StringLiteral4!=null?StringLiteral4.getText():null).length()-1); } break; case 5 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:525:4: BooleanLiteral { BooleanLiteral5=(Token)match(input,BooleanLiteral,FOLLOW_BooleanLiteral_in_literal1377); val = (BooleanLiteral5!=null?BooleanLiteral5.getText():null).equals("true")? Boolean.TRUE: Boolean.FALSE; } break; case 6 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:526:4: 'null' { match(input,39,FOLLOW_39_in_literal1384); val = null; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return val; } // $ANTLR end "literal" // $ANTLR start "floatingPointLiteral" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:529:1: floatingPointLiteral returns [Object val] : (sign= ( '+' | '-' ) )? FloatingPointLiteral ; public final Object floatingPointLiteral() throws RecognitionException { Object val = null; Token sign=null; Token FloatingPointLiteral6=null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:530:2: ( (sign= ( '+' | '-' ) )? FloatingPointLiteral ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:530:4: (sign= ( '+' | '-' ) )? FloatingPointLiteral { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:530:8: (sign= ( '+' | '-' ) )? int alt27=2; int LA27_0 = input.LA(1); if ( ((LA27_0>=40 && LA27_0<=41)) ) { alt27=1; } switch (alt27) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:530:8: sign= ( '+' | '-' ) { sign=(Token)input.LT(1); if ( (input.LA(1)>=40 && input.LA(1)<=41) ) { input.consume(); state.errorRecovery=false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } break; } FloatingPointLiteral6=(Token)match(input,FloatingPointLiteral,FOLLOW_FloatingPointLiteral_in_floatingPointLiteral1410); val = sign!=null && "-".equals(sign.getText())? new Double("-"+(FloatingPointLiteral6!=null?FloatingPointLiteral6.getText():null)): new Double((FloatingPointLiteral6!=null?FloatingPointLiteral6.getText():null)); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return val; } // $ANTLR end "floatingPointLiteral" // $ANTLR start "integerLiteral" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:533:1: integerLiteral returns [Object val] : (sign= ( '+' | '-' ) )? ( HexLiteral | OctalLiteral | DecimalLiteral ) ; public final Object integerLiteral() throws RecognitionException { Object val = null; Token sign=null; Token HexLiteral7=null; Token OctalLiteral8=null; Token DecimalLiteral9=null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:534:2: ( (sign= ( '+' | '-' ) )? ( HexLiteral | OctalLiteral | DecimalLiteral ) ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:534:4: (sign= ( '+' | '-' ) )? ( HexLiteral | OctalLiteral | DecimalLiteral ) { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:534:8: (sign= ( '+' | '-' ) )? int alt28=2; int LA28_0 = input.LA(1); if ( ((LA28_0>=40 && LA28_0<=41)) ) { alt28=1; } switch (alt28) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:534:8: sign= ( '+' | '-' ) { sign=(Token)input.LT(1); if ( (input.LA(1)>=40 && input.LA(1)<=41) ) { input.consume(); state.errorRecovery=false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } break; } // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:534:20: ( HexLiteral | OctalLiteral | DecimalLiteral ) int alt29=3; switch ( input.LA(1) ) { case HexLiteral: { alt29=1; } break; case OctalLiteral: { alt29=2; } break; case DecimalLiteral: { alt29=3; } break; default: NoViableAltException nvae = new NoViableAltException("", 29, 0, input); throw nvae; } switch (alt29) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:534:21: HexLiteral { HexLiteral7=(Token)match(input,HexLiteral,FOLLOW_HexLiteral_in_integerLiteral1438); val = sign!=null && "-".equals(sign.getText())? new Integer("-"+(HexLiteral7!=null?HexLiteral7.getText():null)): new Integer((HexLiteral7!=null?HexLiteral7.getText():null)); } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:535:4: OctalLiteral { OctalLiteral8=(Token)match(input,OctalLiteral,FOLLOW_OctalLiteral_in_integerLiteral1445); val = sign!=null && "-".equals(sign.getText())? new Integer("-"+(OctalLiteral8!=null?OctalLiteral8.getText():null)): new Integer((OctalLiteral8!=null?OctalLiteral8.getText():null)); } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:536:4: DecimalLiteral { DecimalLiteral9=(Token)match(input,DecimalLiteral,FOLLOW_DecimalLiteral_in_integerLiteral1452); val = sign!=null && "-".equals(sign.getText())? new Integer("-"+(DecimalLiteral9!=null?DecimalLiteral9.getText():null)): new Integer((DecimalLiteral9!=null?DecimalLiteral9.getText():null)); } break; } } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return val; } // $ANTLR end "integerLiteral" // $ANTLR start "operator" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:539:1: operator returns [IOperator operator] : (tmp= equalOperator | '!=' | '~' | '>' | '<' | '>=' | '<=' | 'contains' | 'excludes' ); public final IOperator operator() throws RecognitionException { IOperator operator = null; IOperator tmp = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:540:2: (tmp= equalOperator | '!=' | '~' | '>' | '<' | '>=' | '<=' | 'contains' | 'excludes' ) int alt30=9; switch ( input.LA(1) ) { case 50: { alt30=1; } break; case 42: { alt30=2; } break; case 43: { alt30=3; } break; case 44: { alt30=4; } break; case 45: { alt30=5; } break; case 46: { alt30=6; } break; case 47: { alt30=7; } break; case 48: { alt30=8; } break; case 49: { alt30=9; } break; default: NoViableAltException nvae = new NoViableAltException("", 30, 0, input); throw nvae; } switch (alt30) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:540:4: tmp= equalOperator { pushFollow(FOLLOW_equalOperator_in_operator1472); tmp=equalOperator(); state._fsp--; operator = tmp; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:541:4: '!=' { match(input,42,FOLLOW_42_in_operator1480); operator = IOperator.NOTEQUAL; } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:542:4: '~' { match(input,43,FOLLOW_43_in_operator1487); operator = IOperator.NOTEQUAL; } break; case 4 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:543:4: '>' { match(input,44,FOLLOW_44_in_operator1494); operator = IOperator.GREATER; } break; case 5 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:544:4: '<' { match(input,45,FOLLOW_45_in_operator1501); operator = IOperator.LESS; } break; case 6 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:545:4: '>=' { match(input,46,FOLLOW_46_in_operator1508); operator = IOperator.GREATEROREQUAL; } break; case 7 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:546:4: '<=' { match(input,47,FOLLOW_47_in_operator1515); operator = IOperator.LESSOREQUAL; } break; case 8 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:547:4: 'contains' { match(input,48,FOLLOW_48_in_operator1522); operator = IOperator.CONTAINS; } break; case 9 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:548:4: 'excludes' { match(input,49,FOLLOW_49_in_operator1529); operator = IOperator.EXCLUDES; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return operator; } // $ANTLR end "operator" // $ANTLR start "equalOperator" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:551:1: equalOperator returns [IOperator operator] : '==' ; public final IOperator equalOperator() throws RecognitionException { IOperator operator = null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:552:2: ( '==' ) // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:552:4: '==' { match(input,50,FOLLOW_50_in_equalOperator1546); operator = IOperator.EQUAL; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return operator; } // $ANTLR end "equalOperator" // $ANTLR start "identifier" // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:555:1: identifier returns [Token identifier] : (tmp= Identifiertoken | tmp= 'test' | tmp= 'not' | tmp= 'and' | tmp= 'collect' | tmp= 'contains' | tmp= 'excludes' ); public final Token identifier() throws RecognitionException { Token identifier = null; Token tmp=null; try { // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:556:2: (tmp= Identifiertoken | tmp= 'test' | tmp= 'not' | tmp= 'and' | tmp= 'collect' | tmp= 'contains' | tmp= 'excludes' ) int alt31=7; switch ( input.LA(1) ) { case Identifiertoken: { alt31=1; } break; case 29: { alt31=2; } break; case 28: { alt31=3; } break; case 26: { alt31=4; } break; case 32: { alt31=5; } break; case 48: { alt31=6; } break; case 49: { alt31=7; } break; default: NoViableAltException nvae = new NoViableAltException("", 31, 0, input); throw nvae; } switch (alt31) { case 1 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:556:4: tmp= Identifiertoken { tmp=(Token)match(input,Identifiertoken,FOLLOW_Identifiertoken_in_identifier1566); identifier = tmp; } break; case 2 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:557:4: tmp= 'test' { tmp=(Token)match(input,29,FOLLOW_29_in_identifier1575); identifier = tmp; } break; case 3 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:558:4: tmp= 'not' { tmp=(Token)match(input,28,FOLLOW_28_in_identifier1584); identifier = tmp; } break; case 4 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:559:4: tmp= 'and' { tmp=(Token)match(input,26,FOLLOW_26_in_identifier1593); identifier = tmp; } break; case 5 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:560:4: tmp= 'collect' { tmp=(Token)match(input,32,FOLLOW_32_in_identifier1602); identifier = tmp; } break; case 6 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:561:4: tmp= 'contains' { tmp=(Token)match(input,48,FOLLOW_48_in_identifier1611); identifier = tmp; } break; case 7 : // C:\\Files\\Checkouts\\jadexv2\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\ClipsJadex.g:562:4: tmp= 'excludes' { tmp=(Token)match(input,49,FOLLOW_49_in_identifier1620); identifier = tmp; } break; } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return identifier; } // $ANTLR end "identifier" // Delegated rules protected DFA9 dfa9 = new DFA9(this); protected DFA13 dfa13 = new DFA13(this); protected DFA15 dfa15 = new DFA15(this); protected DFA22 dfa22 = new DFA22(this); static final String DFA9_eotS = "\15\uffff"; static final String DFA9_eofS = "\15\uffff"; static final String DFA9_minS = "\1\31\1\uffff\1\14\7\5\3\uffff"; static final String DFA9_maxS = "\1\33\1\uffff\1\61\7\62\3\uffff"; static final String DFA9_acceptS = "\1\uffff\1\4\10\uffff\1\3\1\1\1\2"; static final String DFA9_specialS = "\15\uffff}>"; static final String[] DFA9_transitionS = { "\1\2\1\uffff\1\1", "", "\1\3\14\uffff\1\12\1\6\1\uffff\1\5\1\4\2\uffff\1\7\17\uffff"+ "\1\10\1\11", "\7\13\15\uffff\1\14\7\uffff\5\13\1\uffff\14\13", "\7\13\15\uffff\1\14\7\uffff\5\13\1\uffff\14\13", "\7\13\15\uffff\1\14\7\uffff\5\13\1\uffff\14\13", "\7\13\15\uffff\1\14\7\uffff\5\13\1\uffff\14\13", "\7\13\15\uffff\1\14\7\uffff\5\13\1\uffff\14\13", "\7\13\15\uffff\1\14\7\uffff\5\13\1\uffff\14\13", "\7\13\15\uffff\1\14\7\uffff\5\13\1\uffff\14\13", "", "", "" }; static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS); static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS); static final char[] DFA9_min = DFA.unpackEncodedStringToUnsignedChars(DFA9_minS); static final char[] DFA9_max = DFA.unpackEncodedStringToUnsignedChars(DFA9_maxS); static final short[] DFA9_accept = DFA.unpackEncodedString(DFA9_acceptS); static final short[] DFA9_special = DFA.unpackEncodedString(DFA9_specialS); static final short[][] DFA9_transition; static { int numStates = DFA9_transitionS.length; DFA9_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA9_transition[i] = DFA.unpackEncodedString(DFA9_transitionS[i]); } } class DFA9 extends DFA { public DFA9(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 9; this.eot = DFA9_eot; this.eof = DFA9_eof; this.min = DFA9_min; this.max = DFA9_max; this.accept = DFA9_accept; this.special = DFA9_special; this.transition = DFA9_transition; } public String getDescription() { return "()* loopback of 156:2: (acs= attributeConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | mcs= methodConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] | fcs= functionConstraint[tmodel, SConditions.getObjectType(tmodel, tn, imports), vars] )*"; } } static final String DFA13_eotS = "\37\uffff"; static final String DFA13_eofS = "\37\uffff"; static final String DFA13_minS = "\12\5\1\uffff\2\14\2\uffff\16\4\2\uffff"; static final String DFA13_maxS = "\1\62\11\51\1\uffff\2\61\2\uffff\16\42\2\uffff"; static final String DFA13_acceptS = "\12\uffff\1\1\2\uffff\1\4\1\5\16\uffff\1\2\1\3"; static final String DFA13_specialS = "\37\uffff}>"; static final String[] DFA13_transitionS = { "\7\12\25\uffff\1\13\1\14\1\15\3\uffff\3\12\1\2\1\3\1\4\1\5"+ "\1\6\1\7\1\10\1\11\1\1", "\7\12\15\uffff\1\16\7\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "\7\12\25\uffff\1\13\1\14\4\uffff\3\12", "", "\1\17\15\uffff\1\22\1\uffff\1\21\1\20\2\uffff\1\23\17\uffff"+ "\1\24\1\25", "\1\26\15\uffff\1\31\1\uffff\1\30\1\27\2\uffff\1\32\17\uffff"+ "\1\33\1\34", "", "", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "\1\35\26\uffff\1\35\5\uffff\2\36", "", "" }; static final short[] DFA13_eot = DFA.unpackEncodedString(DFA13_eotS); static final short[] DFA13_eof = DFA.unpackEncodedString(DFA13_eofS); static final char[] DFA13_min = DFA.unpackEncodedStringToUnsignedChars(DFA13_minS); static final char[] DFA13_max = DFA.unpackEncodedStringToUnsignedChars(DFA13_maxS); static final short[] DFA13_accept = DFA.unpackEncodedString(DFA13_acceptS); static final short[] DFA13_special = DFA.unpackEncodedString(DFA13_specialS); static final short[][] DFA13_transition; static { int numStates = DFA13_transitionS.length; DFA13_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA13_transition[i] = DFA.unpackEncodedString(DFA13_transitionS[i]); } } class DFA13 extends DFA { public DFA13(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 13; this.eot = DFA13_eot; this.eof = DFA13_eof; this.min = DFA13_min; this.max = DFA13_max; this.accept = DFA13_accept; this.special = DFA13_special; this.transition = DFA13_transition; } public String getDescription() { return "274:1: singleConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : (tmp= literalConstraint[valuesource] | tmp= boundConstraint[tmodel, valuesource, vars] | tmp= multiBoundConstraint[tmodel, valuesource, vars] | tmp= predicateConstraint[tmodel, valuesource, vars] | tmp= returnValueConstraint[tmodel, valuesource, vars] );"; } } static final String DFA15_eotS = "\34\uffff"; static final String DFA15_eofS = "\14\uffff\16\32\2\uffff"; static final String DFA15_minS = "\12\41\2\14\16\41\2\uffff"; static final String DFA15_maxS = "\1\62\11\42\2\61\16\42\2\uffff"; static final String DFA15_acceptS = "\32\uffff\1\1\1\2"; static final String DFA15_specialS = "\34\uffff}>"; static final String[] DFA15_transitionS = { "\1\12\1\13\7\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\1", "\1\12\1\13", "\1\12\1\13", "\1\12\1\13", "\1\12\1\13", "\1\12\1\13", "\1\12\1\13", "\1\12\1\13", "\1\12\1\13", "\1\12\1\13", "\1\14\15\uffff\1\17\1\uffff\1\16\1\15\2\uffff\1\20\17\uffff"+ "\1\21\1\22", "\1\23\15\uffff\1\26\1\uffff\1\25\1\24\2\uffff\1\27\17\uffff"+ "\1\30\1\31", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "\2\33", "", "" }; static final short[] DFA15_eot = DFA.unpackEncodedString(DFA15_eotS); static final short[] DFA15_eof = DFA.unpackEncodedString(DFA15_eofS); static final char[] DFA15_min = DFA.unpackEncodedStringToUnsignedChars(DFA15_minS); static final char[] DFA15_max = DFA.unpackEncodedStringToUnsignedChars(DFA15_maxS); static final short[] DFA15_accept = DFA.unpackEncodedString(DFA15_acceptS); static final short[] DFA15_special = DFA.unpackEncodedString(DFA15_specialS); static final short[][] DFA15_transition; static { int numStates = DFA15_transitionS.length; DFA15_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA15_transition[i] = DFA.unpackEncodedString(DFA15_transitionS[i]); } } class DFA15 extends DFA { public DFA15(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 15; this.eot = DFA15_eot; this.eof = DFA15_eof; this.min = DFA15_min; this.max = DFA15_max; this.accept = DFA15_accept; this.special = DFA15_special; this.transition = DFA15_transition; } public String getDescription() { return "292:1: someBoundConstraint[OAVTypeModel tmodel, Object valuesource, Map vars] returns [IConstraint constraint] : (bc= boundConstraint[tmodel, valuesource, vars] | mbc= multiBoundConstraint[tmodel, valuesource, vars] );"; } } static final String DFA22_eotS = "\17\uffff"; static final String DFA22_eofS = "\17\uffff"; static final String DFA22_minS = "\1\5\13\uffff\1\0\2\uffff"; static final String DFA22_maxS = "\1\51\13\uffff\1\0\2\uffff"; static final String DFA22_acceptS = "\1\uffff\1\1\10\uffff\1\2\2\uffff\1\3\1\4"; static final String DFA22_specialS = "\14\uffff\1\0\2\uffff}>"; static final String[] DFA22_transitionS = { "\7\1\15\uffff\1\14\7\uffff\2\12\4\uffff\3\1", "", "", "", "", "", "", "", "", "", "", "", "\1\uffff", "", "" }; static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS); static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS); static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS); static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS); static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS); static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS); static final short[][] DFA22_transition; static { int numStates = DFA22_transitionS.length; DFA22_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA22_transition[i] = DFA.unpackEncodedString(DFA22_transitionS[i]); } } class DFA22 extends DFA { public DFA22(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 22; this.eot = DFA22_eot; this.eof = DFA22_eof; this.min = DFA22_min; this.max = DFA22_max; this.accept = DFA22_accept; this.special = DFA22_special; this.transition = DFA22_transition; } public String getDescription() { return "404:1: parameter[OAVTypeModel tmodel, Map vars] returns [Object val] : (tmp1= constant | tmp2= variable[null, vars] | {...}?tmp3= functionCall[tmodel, vars] | tmp4= operatorCall[tmodel, vars] );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA22_12 = input.LA(1); int index22_12 = input.index(); input.rewind(); s = -1; if ( ((SConditions.lookaheadFunctionCall(ClipsJadexParser.this.input))) ) {s = 13;} else if ( (true) ) {s = 14;} input.seek(index22_12); if ( s>=0 ) return s; break; } NoViableAltException nvae = new NoViableAltException(getDescription(), 22, _s, input); error(nvae); throw nvae; } } public static final BitSet FOLLOW_ce_in_rhs53 = new BitSet(new long[]{0x0000000602000000L}); public static final BitSet FOLLOW_EOF_in_rhs68 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_andce_in_ce93 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_notce_in_ce109 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_testce_in_ce125 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_collectce_in_ce137 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_objectce_in_ce151 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_andce175 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_andce177 = new BitSet(new long[]{0x0000000602000000L}); public static final BitSet FOLLOW_ce_in_andce182 = new BitSet(new long[]{0x000000060A000000L}); public static final BitSet FOLLOW_27_in_andce192 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_notce211 = new BitSet(new long[]{0x0000000010000000L}); public static final BitSet FOLLOW_28_in_notce213 = new BitSet(new long[]{0x0000000602000000L}); public static final BitSet FOLLOW_ce_in_notce217 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_notce220 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_testce239 = new BitSet(new long[]{0x0000000020000000L}); public static final BitSet FOLLOW_29_in_testce241 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_operatorCall_in_testce249 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_functionCall_in_testce261 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_testce269 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_multiFieldVariable_in_collectce296 = new BitSet(new long[]{0x00000000C0000000L}); public static final BitSet FOLLOW_set_in_collectce299 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_25_in_collectce311 = new BitSet(new long[]{0x0000000100000000L}); public static final BitSet FOLLOW_32_in_collectce313 = new BitSet(new long[]{0x0000000602000000L}); public static final BitSet FOLLOW_ce_in_collectce318 = new BitSet(new long[]{0x0000000E0A000000L}); public static final BitSet FOLLOW_predicateConstraint_in_collectce331 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_collectce335 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_singleFieldVariable_in_objectce364 = new BitSet(new long[]{0x00000000C0000000L}); public static final BitSet FOLLOW_set_in_objectce367 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_25_in_objectce379 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_typename_in_objectce385 = new BitSet(new long[]{0x000000000A000000L}); public static final BitSet FOLLOW_attributeConstraint_in_objectce394 = new BitSet(new long[]{0x000000000A000000L}); public static final BitSet FOLLOW_methodConstraint_in_objectce405 = new BitSet(new long[]{0x000000000A000000L}); public static final BitSet FOLLOW_functionConstraint_in_objectce416 = new BitSet(new long[]{0x000000000A000000L}); public static final BitSet FOLLOW_27_in_objectce428 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_attributeConstraint450 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_slotname_in_attributeConstraint454 = new BitSet(new long[]{0x0007FF8E00000FE0L}); public static final BitSet FOLLOW_constraint_in_attributeConstraint458 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_attributeConstraint461 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_methodConstraint488 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_methodname_in_methodConstraint492 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_25_in_methodConstraint494 = new BitSet(new long[]{0x0007FF860A000FE0L}); public static final BitSet FOLLOW_parameter_in_methodConstraint498 = new BitSet(new long[]{0x0007FF860A000FE0L}); public static final BitSet FOLLOW_27_in_methodConstraint508 = new BitSet(new long[]{0x0007FF8E00000FE0L}); public static final BitSet FOLLOW_constraint_in_methodConstraint512 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_methodConstraint515 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_functionConstraint542 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_functionCall_in_functionConstraint546 = new BitSet(new long[]{0x0007FF8E00000FE0L}); public static final BitSet FOLLOW_constraint_in_functionConstraint551 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_functionConstraint554 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_33_in_constraint584 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_34_in_constraint590 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_singleConstraint_in_constraint598 = new BitSet(new long[]{0x0000000000000012L}); public static final BitSet FOLLOW_ConstraintOperator_in_constraint607 = new BitSet(new long[]{0x0007FF8E00000FE0L}); public static final BitSet FOLLOW_singleConstraint_in_constraint611 = new BitSet(new long[]{0x0000000000000012L}); public static final BitSet FOLLOW_literalConstraint_in_singleConstraint643 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_boundConstraint_in_singleConstraint654 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_multiBoundConstraint_in_singleConstraint664 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_predicateConstraint_in_singleConstraint674 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_returnValueConstraint_in_singleConstraint684 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_operator_in_literalConstraint706 = new BitSet(new long[]{0x0007FF8000000FE0L}); public static final BitSet FOLLOW_constant_in_literalConstraint711 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_boundConstraint_in_someBoundConstraint734 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_multiBoundConstraint_in_someBoundConstraint747 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_operator_in_boundConstraint770 = new BitSet(new long[]{0x0007FC0600000000L}); public static final BitSet FOLLOW_variable_in_boundConstraint775 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_operator_in_multiBoundConstraint803 = new BitSet(new long[]{0x0007FC0600000000L}); public static final BitSet FOLLOW_variable_in_multiBoundConstraint808 = new BitSet(new long[]{0x0007FC0600000000L}); public static final BitSet FOLLOW_variable_in_multiBoundConstraint818 = new BitSet(new long[]{0x0007FC0600000002L}); public static final BitSet FOLLOW_35_in_predicateConstraint846 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_functionCall_in_predicateConstraint853 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_operatorCall_in_predicateConstraint864 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_equalOperator_in_returnValueConstraint888 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_functionCall_in_returnValueConstraint895 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_operatorCall_in_returnValueConstraint906 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_functionCall936 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_functionName_in_functionCall940 = new BitSet(new long[]{0x0007FF860A000FE0L}); public static final BitSet FOLLOW_parameter_in_functionCall945 = new BitSet(new long[]{0x0007FF860A000FE0L}); public static final BitSet FOLLOW_27_in_functionCall955 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_operatorCall976 = new BitSet(new long[]{0x0007FC0000000000L}); public static final BitSet FOLLOW_operator_in_operatorCall981 = new BitSet(new long[]{0x0007FF8602000FE0L}); public static final BitSet FOLLOW_parameter_in_operatorCall986 = new BitSet(new long[]{0x0007FF8602000FE0L}); public static final BitSet FOLLOW_parameter_in_operatorCall991 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_operatorCall994 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_constant_in_parameter1017 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_variable_in_parameter1027 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_functionCall_in_parameter1039 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_operatorCall_in_parameter1049 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_literal_in_constant1070 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_singleFieldVariable_in_variable1093 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_multiFieldVariable_in_variable1103 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_33_in_singleFieldVariable1123 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_identifier_in_singleFieldVariable1127 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_34_in_multiFieldVariable1149 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_identifier_in_multiFieldVariable1153 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifier_in_typename1179 = new BitSet(new long[]{0x0000001000000002L}); public static final BitSet FOLLOW_36_in_typename1187 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_identifier_in_typename1191 = new BitSet(new long[]{0x0000001000000002L}); public static final BitSet FOLLOW_identifier_in_slotname1226 = new BitSet(new long[]{0x0000003800000002L}); public static final BitSet FOLLOW_36_in_slotname1234 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_identifier_in_slotname1238 = new BitSet(new long[]{0x0000003800000002L}); public static final BitSet FOLLOW_35_in_slotname1245 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_identifier_in_slotname1249 = new BitSet(new long[]{0x0000003800000002L}); public static final BitSet FOLLOW_37_in_slotname1257 = new BitSet(new long[]{0x0003000134001000L}); public static final BitSet FOLLOW_identifier_in_slotname1261 = new BitSet(new long[]{0x0000004000000000L}); public static final BitSet FOLLOW_38_in_slotname1263 = new BitSet(new long[]{0x0000003800000002L}); public static final BitSet FOLLOW_37_in_slotname1273 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_StringLiteral_in_slotname1275 = new BitSet(new long[]{0x0000004000000000L}); public static final BitSet FOLLOW_38_in_slotname1277 = new BitSet(new long[]{0x0000003800000002L}); public static final BitSet FOLLOW_identifier_in_methodname1308 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_typename_in_functionName1327 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_floatingPointLiteral_in_literal1347 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_integerLiteral_in_literal1356 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_CharacterLiteral_in_literal1363 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_StringLiteral_in_literal1370 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BooleanLiteral_in_literal1377 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_39_in_literal1384 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_floatingPointLiteral1403 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_FloatingPointLiteral_in_floatingPointLiteral1410 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_integerLiteral1430 = new BitSet(new long[]{0x0000000000000E00L}); public static final BitSet FOLLOW_HexLiteral_in_integerLiteral1438 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_OctalLiteral_in_integerLiteral1445 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DecimalLiteral_in_integerLiteral1452 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_equalOperator_in_operator1472 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_operator1480 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_43_in_operator1487 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_44_in_operator1494 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_45_in_operator1501 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_46_in_operator1508 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_operator1515 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_48_in_operator1522 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_49_in_operator1529 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_50_in_equalOperator1546 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_Identifiertoken_in_identifier1566 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_29_in_identifier1575 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_28_in_identifier1584 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_26_in_identifier1593 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_32_in_identifier1602 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_48_in_identifier1611 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_49_in_identifier1620 = new BitSet(new long[]{0x0000000000000002L}); }