
jadex.rules.parser.conditions.javagrammar.JavaJadexParser Maven / Gradle / Ivy
// $ANTLR 3.5.1 C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g 2013-12-10 14:06:21
package jadex.rules.parser.conditions.javagrammar;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
import org.antlr.runtime.BaseRecognizer;
import org.antlr.runtime.BitSet;
import org.antlr.runtime.DFA;
import org.antlr.runtime.FailedPredicateException;
import org.antlr.runtime.NoViableAltException;
import org.antlr.runtime.Parser;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.RecognizerSharedState;
import org.antlr.runtime.Token;
import org.antlr.runtime.TokenStream;
import jadex.commons.SReflect;
import jadex.rules.rulesystem.rules.IOperator;
import jadex.rules.rulesystem.rules.Variable;
import jadex.rules.rulesystem.rules.functions.IFunction;
import jadex.rules.state.OAVJavaType;
import jadex.rules.state.OAVObjectType;
@SuppressWarnings("all")
public class JavaJadexParser extends Parser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "BooleanLiteral", "COMMENT", "CharacterLiteral",
"DecimalLiteral", "EscapeSequence", "Exponent", "FloatTypeSuffix", "FloatingPointLiteral",
"HexDigit", "HexLiteral", "IDENTIFIER", "IntegerTypeSuffix", "JavaIDDigit",
"LINE_COMMENT", "Letter", "OctalEscape", "OctalLiteral", "StringLiteral",
"UnicodeEscape", "WS", "'!'", "'!='", "'%'", "'&&'", "'('", "')'", "'*'",
"'+'", "','", "'-'", "'.'", "'/'", "':'", "'<'", "'<='", "'=='", "'>'",
"'>='", "'?'", "'['", "']'", "'collect('", "'null'", "'||'", "'~'"
};
public static final int EOF=-1;
public static final int T__24=24;
public static final int T__25=25;
public static final int T__26=26;
public static final int T__27=27;
public static final int T__28=28;
public static final int T__29=29;
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 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 T__40=40;
public static final int T__41=41;
public static final int T__42=42;
public static final int T__43=43;
public static final int T__44=44;
public static final int T__45=45;
public static final int T__46=46;
public static final int T__47=47;
public static final int T__48=48;
public static final int BooleanLiteral=4;
public static final int COMMENT=5;
public static final int CharacterLiteral=6;
public static final int DecimalLiteral=7;
public static final int EscapeSequence=8;
public static final int Exponent=9;
public static final int FloatTypeSuffix=10;
public static final int FloatingPointLiteral=11;
public static final int HexDigit=12;
public static final int HexLiteral=13;
public static final int IDENTIFIER=14;
public static final int IntegerTypeSuffix=15;
public static final int JavaIDDigit=16;
public static final int LINE_COMMENT=17;
public static final int Letter=18;
public static final int OctalEscape=19;
public static final int OctalLiteral=20;
public static final int StringLiteral=21;
public static final int UnicodeEscape=22;
public static final int WS=23;
// delegates
public Parser[] getDelegates() {
return new Parser[] {};
}
// delegators
public JavaJadexParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public JavaJadexParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
@Override public String[] getTokenNames() { return JavaJadexParser.tokenNames; }
@Override public String getGrammarFileName() { return "C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g"; }
/** The parser helper provides additional information (e.g. local variables). */
protected IParserHelper helper;
/**
* Set the parser helper.
*/
public void setParserHelper(IParserHelper helper)
{
this.helper = helper;
}
/** The imports (if any). */
protected String[] imports;
/**
* Set the imports.
*/
public void setImports(String[] imports)
{
this.imports = imports;
}
// $ANTLR start "lhs"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:56:1: lhs returns [Expression exp] : tmp= expression EOF ;
public final Expression lhs() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:57:2: (tmp= expression EOF )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:57:4: tmp= expression EOF
{
pushFollow(FOLLOW_expression_in_lhs48);
tmp=expression();
state._fsp--;
match(input,EOF,FOLLOW_EOF_in_lhs50);
exp = tmp;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "lhs"
// $ANTLR start "expression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:64:1: expression returns [Expression exp] : tmp= conditionalExpression ;
public final Expression expression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:65:2: (tmp= conditionalExpression )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:65:4: tmp= conditionalExpression
{
pushFollow(FOLLOW_conditionalExpression_in_expression73);
tmp=conditionalExpression();
state._fsp--;
exp = tmp;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "expression"
// $ANTLR start "conditionalExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:73:1: conditionalExpression returns [Expression exp] : tmp= logicalOrExpression ( '?' tmp2= conditionalExpression ':' tmp3= conditionalExpression )? ;
public final Expression conditionalExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Expression tmp2 =null;
Expression tmp3 =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:74:2: (tmp= logicalOrExpression ( '?' tmp2= conditionalExpression ':' tmp3= conditionalExpression )? )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:74:4: tmp= logicalOrExpression ( '?' tmp2= conditionalExpression ':' tmp3= conditionalExpression )?
{
pushFollow(FOLLOW_logicalOrExpression_in_conditionalExpression98);
tmp=logicalOrExpression();
state._fsp--;
exp = tmp;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:75:9: ( '?' tmp2= conditionalExpression ':' tmp3= conditionalExpression )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==42) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:76:10: '?' tmp2= conditionalExpression ':' tmp3= conditionalExpression
{
match(input,42,FOLLOW_42_in_conditionalExpression121);
pushFollow(FOLLOW_conditionalExpression_in_conditionalExpression127);
tmp2=conditionalExpression();
state._fsp--;
match(input,36,FOLLOW_36_in_conditionalExpression129);
pushFollow(FOLLOW_conditionalExpression_in_conditionalExpression135);
tmp3=conditionalExpression();
state._fsp--;
exp = new ConditionalExpression(tmp, tmp2, tmp3);
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "conditionalExpression"
// $ANTLR start "logicalOrExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:86:1: logicalOrExpression returns [Expression exp] : tmp= logicalAndExpression ( '||' tmp2= logicalAndExpression )* ;
public final Expression logicalOrExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Expression tmp2 =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:87:2: (tmp= logicalAndExpression ( '||' tmp2= logicalAndExpression )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:87:4: tmp= logicalAndExpression ( '||' tmp2= logicalAndExpression )*
{
pushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression179);
tmp=logicalAndExpression();
state._fsp--;
exp = tmp;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:88:9: ( '||' tmp2= logicalAndExpression )*
loop2:
while (true) {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==47) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:89:10: '||' tmp2= logicalAndExpression
{
match(input,47,FOLLOW_47_in_logicalOrExpression202);
pushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression208);
tmp2=logicalAndExpression();
state._fsp--;
exp = new OperationExpression(exp, tmp2, OperationExpression.OPERATOR_OR);
}
break;
default :
break loop2;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "logicalOrExpression"
// $ANTLR start "logicalAndExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:99:1: logicalAndExpression returns [Expression exp] : tmp= equalityExpression ( '&&' tmp2= equalityExpression )* ;
public final Expression logicalAndExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Expression tmp2 =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:100:2: (tmp= equalityExpression ( '&&' tmp2= equalityExpression )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:100:4: tmp= equalityExpression ( '&&' tmp2= equalityExpression )*
{
pushFollow(FOLLOW_equalityExpression_in_logicalAndExpression252);
tmp=equalityExpression();
state._fsp--;
exp = tmp;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:101:9: ( '&&' tmp2= equalityExpression )*
loop3:
while (true) {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==27) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:102:10: '&&' tmp2= equalityExpression
{
match(input,27,FOLLOW_27_in_logicalAndExpression275);
pushFollow(FOLLOW_equalityExpression_in_logicalAndExpression281);
tmp2=equalityExpression();
state._fsp--;
exp = new OperationExpression(exp, tmp2, OperationExpression.OPERATOR_AND);
}
break;
default :
break loop3;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "logicalAndExpression"
// $ANTLR start "equalityExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:112:1: equalityExpression returns [Expression exp] : tmp= relationalExpression ( ( '==' | '!=' ) tmp2= relationalExpression )* ;
public final Expression equalityExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Expression tmp2 =null;
IOperator operator = null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:114:2: (tmp= relationalExpression ( ( '==' | '!=' ) tmp2= relationalExpression )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:114:4: tmp= relationalExpression ( ( '==' | '!=' ) tmp2= relationalExpression )*
{
pushFollow(FOLLOW_relationalExpression_in_equalityExpression330);
tmp=relationalExpression();
state._fsp--;
exp = tmp;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:115:9: ( ( '==' | '!=' ) tmp2= relationalExpression )*
loop5:
while (true) {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==25||LA5_0==39) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:116:10: ( '==' | '!=' ) tmp2= relationalExpression
{
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:116:10: ( '==' | '!=' )
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==39) ) {
alt4=1;
}
else if ( (LA4_0==25) ) {
alt4=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:116:11: '=='
{
match(input,39,FOLLOW_39_in_equalityExpression354);
operator=IOperator.EQUAL;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:117:11: '!='
{
match(input,25,FOLLOW_25_in_equalityExpression368);
operator=IOperator.NOTEQUAL;
}
break;
}
pushFollow(FOLLOW_relationalExpression_in_equalityExpression387);
tmp2=relationalExpression();
state._fsp--;
exp = new OperationExpression(exp, tmp2, operator);
}
break;
default :
break loop5;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "equalityExpression"
// $ANTLR start "relationalExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:128:1: relationalExpression returns [Expression exp] : tmp= additiveExpression ( ( '<' | '<=' | '>' | '>=' ) tmp2= additiveExpression )* ;
public final Expression relationalExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Expression tmp2 =null;
IOperator operator = null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:130:2: (tmp= additiveExpression ( ( '<' | '<=' | '>' | '>=' ) tmp2= additiveExpression )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:130:4: tmp= additiveExpression ( ( '<' | '<=' | '>' | '>=' ) tmp2= additiveExpression )*
{
pushFollow(FOLLOW_additiveExpression_in_relationalExpression428);
tmp=additiveExpression();
state._fsp--;
exp = tmp;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:131:9: ( ( '<' | '<=' | '>' | '>=' ) tmp2= additiveExpression )*
loop7:
while (true) {
int alt7=2;
int LA7_0 = input.LA(1);
if ( ((LA7_0 >= 37 && LA7_0 <= 38)||(LA7_0 >= 40 && LA7_0 <= 41)) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:132:10: ( '<' | '<=' | '>' | '>=' ) tmp2= additiveExpression
{
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:132:10: ( '<' | '<=' | '>' | '>=' )
int alt6=4;
switch ( input.LA(1) ) {
case 37:
{
alt6=1;
}
break;
case 38:
{
alt6=2;
}
break;
case 40:
{
alt6=3;
}
break;
case 41:
{
alt6=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:132:11: '<'
{
match(input,37,FOLLOW_37_in_relationalExpression452);
operator=IOperator.LESS;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:133:11: '<='
{
match(input,38,FOLLOW_38_in_relationalExpression466);
operator=IOperator.LESSOREQUAL;
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:134:11: '>'
{
match(input,40,FOLLOW_40_in_relationalExpression480);
operator=IOperator.GREATER;
}
break;
case 4 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:135:11: '>='
{
match(input,41,FOLLOW_41_in_relationalExpression494);
operator=IOperator.GREATEROREQUAL;
}
break;
}
pushFollow(FOLLOW_additiveExpression_in_relationalExpression513);
tmp2=additiveExpression();
state._fsp--;
exp = new OperationExpression(exp, tmp2, operator);
}
break;
default :
break loop7;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "relationalExpression"
// $ANTLR start "additiveExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:146:1: additiveExpression returns [Expression exp] : tmp= multiplicativeExpression ( ( '+' | '-' ) tmp2= multiplicativeExpression )* ;
public final Expression additiveExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Expression tmp2 =null;
IFunction operator = null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:148:2: (tmp= multiplicativeExpression ( ( '+' | '-' ) tmp2= multiplicativeExpression )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:148:4: tmp= multiplicativeExpression ( ( '+' | '-' ) tmp2= multiplicativeExpression )*
{
pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression561);
tmp=multiplicativeExpression();
state._fsp--;
exp = tmp;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:149:9: ( ( '+' | '-' ) tmp2= multiplicativeExpression )*
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==31||LA9_0==33) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:150:10: ( '+' | '-' ) tmp2= multiplicativeExpression
{
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:150:10: ( '+' | '-' )
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==31) ) {
alt8=1;
}
else if ( (LA8_0==33) ) {
alt8=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:150:11: '+'
{
match(input,31,FOLLOW_31_in_additiveExpression585);
operator=IFunction.SUM;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:151:11: '-'
{
match(input,33,FOLLOW_33_in_additiveExpression599);
operator=IFunction.SUB;
}
break;
}
pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression618);
tmp2=multiplicativeExpression();
state._fsp--;
exp = new OperationExpression(exp, tmp2, operator);
}
break;
default :
break loop9;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "additiveExpression"
// $ANTLR start "multiplicativeExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:162:1: multiplicativeExpression returns [Expression exp] : tmp= unaryExpression ( ( '*' | '/' | '%' ) tmp2= unaryExpression )* ;
public final Expression multiplicativeExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Expression tmp2 =null;
IFunction operator = null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:164:2: (tmp= unaryExpression ( ( '*' | '/' | '%' ) tmp2= unaryExpression )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:164:4: tmp= unaryExpression ( ( '*' | '/' | '%' ) tmp2= unaryExpression )*
{
pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression659);
tmp=unaryExpression();
state._fsp--;
exp = tmp;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:165:9: ( ( '*' | '/' | '%' ) tmp2= unaryExpression )*
loop11:
while (true) {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==26||LA11_0==30||LA11_0==35) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:166:10: ( '*' | '/' | '%' ) tmp2= unaryExpression
{
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:166:10: ( '*' | '/' | '%' )
int alt10=3;
switch ( input.LA(1) ) {
case 30:
{
alt10=1;
}
break;
case 35:
{
alt10=2;
}
break;
case 26:
{
alt10=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 10, 0, input);
throw nvae;
}
switch (alt10) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:166:11: '*'
{
match(input,30,FOLLOW_30_in_multiplicativeExpression683);
operator=IFunction.MULT;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:167:11: '/'
{
match(input,35,FOLLOW_35_in_multiplicativeExpression697);
operator=IFunction.DIV;
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:168:11: '%'
{
match(input,26,FOLLOW_26_in_multiplicativeExpression711);
operator=IFunction.MOD;
}
break;
}
pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression730);
tmp2=unaryExpression();
state._fsp--;
exp = new OperationExpression(exp, tmp2, operator);
}
break;
default :
break loop11;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "multiplicativeExpression"
// $ANTLR start "unaryExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:179:1: unaryExpression returns [Expression exp] : ( '+' tmp= unaryExpression | '-' tmp= unaryExpression | '!' tmp= unaryExpression | '~' tmp= unaryExpression |{...}? '(' tmp1= type ')' tmp2= unaryExpression |{...}?tmp= primaryExpression );
public final Expression unaryExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
OAVObjectType tmp1 =null;
Expression tmp2 =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:180:2: ( '+' tmp= unaryExpression | '-' tmp= unaryExpression | '!' tmp= unaryExpression | '~' tmp= unaryExpression |{...}? '(' tmp1= type ')' tmp2= unaryExpression |{...}?tmp= primaryExpression )
int alt12=6;
switch ( input.LA(1) ) {
case 31:
{
alt12=1;
}
break;
case 33:
{
alt12=2;
}
break;
case 24:
{
alt12=3;
}
break;
case 48:
{
alt12=4;
}
break;
case 28:
{
int LA12_5 = input.LA(2);
if ( ((SJavaParser.lookaheadCast(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
alt12=5;
}
else if ( ((!SJavaParser.lookaheadCast(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
alt12=6;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 12, 5, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case BooleanLiteral:
case CharacterLiteral:
case DecimalLiteral:
case FloatingPointLiteral:
case HexLiteral:
case IDENTIFIER:
case OctalLiteral:
case StringLiteral:
case 45:
case 46:
{
alt12=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 12, 0, input);
throw nvae;
}
switch (alt12) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:180:4: '+' tmp= unaryExpression
{
match(input,31,FOLLOW_31_in_unaryExpression763);
pushFollow(FOLLOW_unaryExpression_in_unaryExpression769);
tmp=unaryExpression();
state._fsp--;
exp = tmp;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:181:4: '-' tmp= unaryExpression
{
match(input,33,FOLLOW_33_in_unaryExpression776);
pushFollow(FOLLOW_unaryExpression_in_unaryExpression782);
tmp=unaryExpression();
state._fsp--;
exp = new UnaryExpression(tmp, UnaryExpression.OPERATOR_MINUS);
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:182:4: '!' tmp= unaryExpression
{
match(input,24,FOLLOW_24_in_unaryExpression789);
pushFollow(FOLLOW_unaryExpression_in_unaryExpression795);
tmp=unaryExpression();
state._fsp--;
exp = new UnaryExpression(tmp, UnaryExpression.OPERATOR_NOT);
}
break;
case 4 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:183:4: '~' tmp= unaryExpression
{
match(input,48,FOLLOW_48_in_unaryExpression802);
pushFollow(FOLLOW_unaryExpression_in_unaryExpression808);
tmp=unaryExpression();
state._fsp--;
exp = new UnaryExpression(tmp, UnaryExpression.OPERATOR_BNOT);
}
break;
case 5 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:184:4: {...}? '(' tmp1= type ')' tmp2= unaryExpression
{
if ( !((SJavaParser.lookaheadCast(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
throw new FailedPredicateException(input, "unaryExpression", "SJavaParser.lookaheadCast(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)");
}
match(input,28,FOLLOW_28_in_unaryExpression817);
pushFollow(FOLLOW_type_in_unaryExpression823);
tmp1=type();
state._fsp--;
match(input,29,FOLLOW_29_in_unaryExpression825);
pushFollow(FOLLOW_unaryExpression_in_unaryExpression831);
tmp2=unaryExpression();
state._fsp--;
exp = new CastExpression(tmp1, tmp2);
}
break;
case 6 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:185:4: {...}?tmp= primaryExpression
{
if ( !((!SJavaParser.lookaheadCast(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
throw new FailedPredicateException(input, "unaryExpression", "!SJavaParser.lookaheadCast(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)");
}
pushFollow(FOLLOW_primaryExpression_in_unaryExpression844);
tmp=primaryExpression();
state._fsp--;
exp = tmp;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "unaryExpression"
// $ANTLR start "primaryExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:191:1: primaryExpression returns [Expression exp] : tmp= primaryPrefix (tmp2= primarySuffix )* ;
public final Expression primaryExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
Suffix tmp2 =null;
List suffs = null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:193:2: (tmp= primaryPrefix (tmp2= primarySuffix )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:193:4: tmp= primaryPrefix (tmp2= primarySuffix )*
{
pushFollow(FOLLOW_primaryPrefix_in_primaryExpression873);
tmp=primaryPrefix();
state._fsp--;
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:194:2: (tmp2= primarySuffix )*
loop13:
while (true) {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==34||LA13_0==43) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:194:3: tmp2= primarySuffix
{
pushFollow(FOLLOW_primarySuffix_in_primaryExpression881);
tmp2=primarySuffix();
state._fsp--;
if(suffs==null)
suffs = new ArrayList();
suffs.add(tmp2);
}
break;
default :
break loop13;
}
}
if(suffs==null)
exp = tmp;
else
exp = new PrimaryExpression(tmp, (Suffix[])suffs.toArray(new Suffix[suffs.size()]));
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "primaryExpression"
// $ANTLR start "primaryPrefix"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:212:1: primaryPrefix returns [Expression exp] : ( '(' tmp= expression ')' |tmp= literal |tmp= collectExpression |{...}?tmp= typePrimary |{...}?tmp= nontypePrimary );
public final Expression primaryPrefix() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:213:2: ( '(' tmp= expression ')' |tmp= literal |tmp= collectExpression |{...}?tmp= typePrimary |{...}?tmp= nontypePrimary )
int alt14=5;
switch ( input.LA(1) ) {
case 28:
{
alt14=1;
}
break;
case BooleanLiteral:
case CharacterLiteral:
case DecimalLiteral:
case FloatingPointLiteral:
case HexLiteral:
case OctalLiteral:
case StringLiteral:
case 46:
{
alt14=2;
}
break;
case 45:
{
alt14=3;
}
break;
case IDENTIFIER:
{
switch ( input.LA(2) ) {
case 34:
{
int LA14_5 = input.LA(3);
if ( (LA14_5==IDENTIFIER) ) {
int LA14_8 = input.LA(4);
if ( ((((SJavaParser.lookaheadStaticMethod(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))||(SJavaParser.lookaheadExistential(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))||(SJavaParser.lookaheadStaticField(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)))&&(SJavaParser.lookaheadType(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)!=-1))) ) {
alt14=4;
}
else if ( ((((helper.getVariable(JavaJadexParser.this.input.LT(1).getText())!=null)||(helper.isPseudoVariable(JavaJadexParser.this.input.LT(1).getText()) && !"(".equals(JavaJadexParser.this.input.LT(4).getText())))&&(SJavaParser.lookaheadType(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)==-1))) ) {
alt14=5;
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 14, 8, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 14, 5, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case IDENTIFIER:
{
alt14=4;
}
break;
case EOF:
case 25:
case 26:
case 27:
case 29:
case 30:
case 31:
case 32:
case 33:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 47:
{
alt14=5;
}
break;
default:
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 14, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 14, 0, input);
throw nvae;
}
switch (alt14) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:213:4: '(' tmp= expression ')'
{
match(input,28,FOLLOW_28_in_primaryPrefix909);
pushFollow(FOLLOW_expression_in_primaryPrefix915);
tmp=expression();
state._fsp--;
match(input,29,FOLLOW_29_in_primaryPrefix917);
exp = tmp;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:214:4: tmp= literal
{
pushFollow(FOLLOW_literal_in_primaryPrefix928);
tmp=literal();
state._fsp--;
exp = tmp;
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:215:4: tmp= collectExpression
{
pushFollow(FOLLOW_collectExpression_in_primaryPrefix939);
tmp=collectExpression();
state._fsp--;
exp = tmp;
}
break;
case 4 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:216:4: {...}?tmp= typePrimary
{
if ( !((SJavaParser.lookaheadType(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)!=-1)) ) {
throw new FailedPredicateException(input, "primaryPrefix", "SJavaParser.lookaheadType(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)!=-1");
}
pushFollow(FOLLOW_typePrimary_in_primaryPrefix952);
tmp=typePrimary();
state._fsp--;
exp = tmp;
}
break;
case 5 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:217:4: {...}?tmp= nontypePrimary
{
if ( !((SJavaParser.lookaheadType(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)==-1)) ) {
throw new FailedPredicateException(input, "primaryPrefix", "SJavaParser.lookaheadType(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)==-1");
}
pushFollow(FOLLOW_nontypePrimary_in_primaryPrefix965);
tmp=nontypePrimary();
state._fsp--;
exp = tmp;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "primaryPrefix"
// $ANTLR start "typePrimary"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:223:1: typePrimary returns [Expression exp] : ({...}?tmp= staticMethod |{...}?tmp= staticField |{...}?tmp= existentialDeclaration );
public final Expression typePrimary() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:224:2: ({...}?tmp= staticMethod |{...}?tmp= staticField |{...}?tmp= existentialDeclaration )
int alt15=3;
int LA15_0 = input.LA(1);
if ( (LA15_0==IDENTIFIER) ) {
int LA15_1 = input.LA(2);
if ( ((SJavaParser.lookaheadStaticMethod(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
alt15=1;
}
else if ( ((SJavaParser.lookaheadStaticField(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
alt15=2;
}
else if ( ((SJavaParser.lookaheadExistential(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
alt15=3;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 15, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 15, 0, input);
throw nvae;
}
switch (alt15) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:224:4: {...}?tmp= staticMethod
{
if ( !((SJavaParser.lookaheadStaticMethod(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
throw new FailedPredicateException(input, "typePrimary", "SJavaParser.lookaheadStaticMethod(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)");
}
pushFollow(FOLLOW_staticMethod_in_typePrimary990);
tmp=staticMethod();
state._fsp--;
exp = tmp;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:225:4: {...}?tmp= staticField
{
if ( !((SJavaParser.lookaheadStaticField(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
throw new FailedPredicateException(input, "typePrimary", "SJavaParser.lookaheadStaticField(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)");
}
pushFollow(FOLLOW_staticField_in_typePrimary1003);
tmp=staticField();
state._fsp--;
exp = tmp;
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:226:4: {...}?tmp= existentialDeclaration
{
if ( !((SJavaParser.lookaheadExistential(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports))) ) {
throw new FailedPredicateException(input, "typePrimary", "SJavaParser.lookaheadExistential(JavaJadexParser.this.input, helper.getBuildContext().getTypeModel(), imports)");
}
pushFollow(FOLLOW_existentialDeclaration_in_typePrimary1016);
tmp=existentialDeclaration();
state._fsp--;
exp = tmp;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "typePrimary"
// $ANTLR start "nontypePrimary"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:232:1: nontypePrimary returns [Expression exp] : ({...}?tmp= pseudovariable |{...}?tmp= variable );
public final Expression nontypePrimary() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:233:2: ({...}?tmp= pseudovariable |{...}?tmp= variable )
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==IDENTIFIER) ) {
int LA16_1 = input.LA(2);
if ( (LA16_1==34) ) {
int LA16_2 = input.LA(3);
if ( (LA16_2==IDENTIFIER) ) {
int LA16_4 = input.LA(4);
if ( ((helper.isPseudoVariable(JavaJadexParser.this.input.LT(1).getText()) && !"(".equals(JavaJadexParser.this.input.LT(4).getText()))) ) {
alt16=1;
}
else if ( ((helper.getVariable(JavaJadexParser.this.input.LT(1).getText())!=null)) ) {
alt16=2;
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 16, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 16, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA16_1==EOF||(LA16_1 >= 25 && LA16_1 <= 27)||(LA16_1 >= 29 && LA16_1 <= 33)||(LA16_1 >= 35 && LA16_1 <= 44)||LA16_1==47) ) {
alt16=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 16, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 16, 0, input);
throw nvae;
}
switch (alt16) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:233:4: {...}?tmp= pseudovariable
{
if ( !((helper.isPseudoVariable(JavaJadexParser.this.input.LT(1).getText()) && !"(".equals(JavaJadexParser.this.input.LT(4).getText()))) ) {
throw new FailedPredicateException(input, "nontypePrimary", "helper.isPseudoVariable(JavaJadexParser.this.input.LT(1).getText()) && !\"(\".equals(JavaJadexParser.this.input.LT(4).getText())");
}
pushFollow(FOLLOW_pseudovariable_in_nontypePrimary1041);
tmp=pseudovariable();
state._fsp--;
exp = tmp;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:234:4: {...}?tmp= variable
{
if ( !((helper.getVariable(JavaJadexParser.this.input.LT(1).getText())!=null)) ) {
throw new FailedPredicateException(input, "nontypePrimary", "helper.getVariable(JavaJadexParser.this.input.LT(1).getText())!=null");
}
pushFollow(FOLLOW_variable_in_nontypePrimary1054);
tmp=variable();
state._fsp--;
exp = tmp;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "nontypePrimary"
// $ANTLR start "staticMethod"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:240:1: staticMethod returns [Expression exp] : (otype= type '.' tmp1= IDENTIFIER '(' ')' |otype= type '.' tmp2= IDENTIFIER '(' p1= expression ( ',' p2= expression )* ')' );
public final Expression staticMethod() throws RecognitionException {
Expression exp = null;
Token tmp1=null;
Token tmp2=null;
OAVObjectType otype =null;
Expression p1 =null;
Expression p2 =null;
List params = new ArrayList();
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:242:2: (otype= type '.' tmp1= IDENTIFIER '(' ')' |otype= type '.' tmp2= IDENTIFIER '(' p1= expression ( ',' p2= expression )* ')' )
int alt18=2;
alt18 = dfa18.predict(input);
switch (alt18) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:242:4: otype= type '.' tmp1= IDENTIFIER '(' ')'
{
pushFollow(FOLLOW_type_in_staticMethod1082);
otype=type();
state._fsp--;
match(input,34,FOLLOW_34_in_staticMethod1084);
tmp1=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_staticMethod1090);
match(input,28,FOLLOW_28_in_staticMethod1092);
match(input,29,FOLLOW_29_in_staticMethod1094);
exp = new StaticMethodAccess((OAVJavaType)otype, tmp1.getText(), null);
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:243:4: otype= type '.' tmp2= IDENTIFIER '(' p1= expression ( ',' p2= expression )* ')'
{
pushFollow(FOLLOW_type_in_staticMethod1105);
otype=type();
state._fsp--;
match(input,34,FOLLOW_34_in_staticMethod1107);
tmp2=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_staticMethod1113);
match(input,28,FOLLOW_28_in_staticMethod1115);
pushFollow(FOLLOW_expression_in_staticMethod1121);
p1=expression();
state._fsp--;
params.add(p1);
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:244:2: ( ',' p2= expression )*
loop17:
while (true) {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==32) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:244:3: ',' p2= expression
{
match(input,32,FOLLOW_32_in_staticMethod1127);
pushFollow(FOLLOW_expression_in_staticMethod1133);
p2=expression();
state._fsp--;
params.add(p2);
}
break;
default :
break loop17;
}
}
match(input,29,FOLLOW_29_in_staticMethod1141);
exp = new StaticMethodAccess((OAVJavaType)otype, tmp2.getText(), (Expression[])params.toArray(new Expression[params.size()]));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "staticMethod"
// $ANTLR start "staticField"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:254:1: staticField returns [Expression exp] : otype= type '.' field= IDENTIFIER ;
public final Expression staticField() throws RecognitionException {
Expression exp = null;
Token field=null;
OAVObjectType otype =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:255:2: (otype= type '.' field= IDENTIFIER )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:255:4: otype= type '.' field= IDENTIFIER
{
pushFollow(FOLLOW_type_in_staticField1165);
otype=type();
state._fsp--;
match(input,34,FOLLOW_34_in_staticField1167);
field=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_staticField1173);
try
{
Class clazz = ((OAVJavaType)otype).getClazz();
Field f = clazz.getField(field.getText());
exp = new LiteralExpression(f.get(null));
if((f.getModifiers()&Modifier.FINAL)==0)
System.out.println("Warning: static field should be final: "+clazz+", "+field.getText());
}
catch(Exception e)
{
throw new RuntimeException(e);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "staticField"
// $ANTLR start "existentialDeclaration"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:275:1: existentialDeclaration returns [Expression exp] : otype= type varname= IDENTIFIER ;
public final Expression existentialDeclaration() throws RecognitionException {
Expression exp = null;
Token varname=null;
OAVObjectType otype =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:276:2: (otype= type varname= IDENTIFIER )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:276:4: otype= type varname= IDENTIFIER
{
pushFollow(FOLLOW_type_in_existentialDeclaration1197);
otype=type();
state._fsp--;
varname=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_existentialDeclaration1203);
Variable var = new Variable(varname.getText(), otype);
exp = new ExistentialDeclaration(otype, var);
helper.addVariable(var);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "existentialDeclaration"
// $ANTLR start "collectExpression"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:287:1: collectExpression returns [Expression exp] : 'collect(' tmp= expression ')' ;
public final Expression collectExpression() throws RecognitionException {
Expression exp = null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:288:2: ( 'collect(' tmp= expression ')' )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:288:4: 'collect(' tmp= expression ')'
{
match(input,45,FOLLOW_45_in_collectExpression1223);
pushFollow(FOLLOW_expression_in_collectExpression1231);
tmp=expression();
state._fsp--;
match(input,29,FOLLOW_29_in_collectExpression1233);
//Variable var = helper.getBuildContext().getVariable(varname.getText());
exp = new CollectExpression(/*var,*/ tmp);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "collectExpression"
// $ANTLR start "type"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:298:1: type returns [OAVObjectType otype] : tmp= IDENTIFIER ({...}? '.' tmp2= IDENTIFIER )* ;
public final OAVObjectType type() throws RecognitionException {
OAVObjectType otype = null;
Token tmp=null;
Token tmp2=null;
String name = null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:300:2: (tmp= IDENTIFIER ({...}? '.' tmp2= IDENTIFIER )* )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:300:4: tmp= IDENTIFIER ({...}? '.' tmp2= IDENTIFIER )*
{
tmp=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_type1262);
name = tmp.getText();
try
{
otype = helper.getBuildContext().getTypeModel().getObjectType(name);
}
catch(Exception e)
{
Class clazz = SReflect.findClass0(name, imports, helper.getBuildContext().getTypeModel().getClassLoader());
if(clazz!=null)
otype = helper.getBuildContext().getTypeModel().getJavaType(clazz);
}
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:314:2: ({...}? '.' tmp2= IDENTIFIER )*
loop19:
while (true) {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==34) ) {
int LA19_2 = input.LA(2);
if ( ((otype==null)) ) {
alt19=1;
}
}
switch (alt19) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:314:4: {...}? '.' tmp2= IDENTIFIER
{
if ( !((otype==null)) ) {
throw new FailedPredicateException(input, "type", "$otype==null");
}
match(input,34,FOLLOW_34_in_type1274);
tmp2=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_type1280);
name += "."+tmp2.getText();
Class clazz = SReflect.findClass0(name, imports, helper.getBuildContext().getTypeModel().getClassLoader());
if(clazz!=null)
otype = helper.getBuildContext().getTypeModel().getJavaType(clazz);
}
break;
default :
break loop19;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return otype;
}
// $ANTLR end "type"
// $ANTLR start "primarySuffix"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:328:1: primarySuffix returns [Suffix suff] : (tmp= fieldAccess |tmp= methodAccess |tmp= arrayAccess );
public final Suffix primarySuffix() throws RecognitionException {
Suffix suff = null;
Suffix tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:329:2: (tmp= fieldAccess |tmp= methodAccess |tmp= arrayAccess )
int alt20=3;
int LA20_0 = input.LA(1);
if ( (LA20_0==34) ) {
int LA20_1 = input.LA(2);
if ( (LA20_1==IDENTIFIER) ) {
int LA20_3 = input.LA(3);
if ( (LA20_3==28) ) {
alt20=2;
}
else if ( (LA20_3==EOF||(LA20_3 >= 25 && LA20_3 <= 27)||(LA20_3 >= 29 && LA20_3 <= 44)||LA20_3==47) ) {
alt20=1;
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 20, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 20, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA20_0==43) ) {
alt20=3;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 20, 0, input);
throw nvae;
}
switch (alt20) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:329:4: tmp= fieldAccess
{
pushFollow(FOLLOW_fieldAccess_in_primarySuffix1310);
tmp=fieldAccess();
state._fsp--;
suff = tmp;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:330:4: tmp= methodAccess
{
pushFollow(FOLLOW_methodAccess_in_primarySuffix1321);
tmp=methodAccess();
state._fsp--;
suff = tmp;
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:331:4: tmp= arrayAccess
{
pushFollow(FOLLOW_arrayAccess_in_primarySuffix1332);
tmp=arrayAccess();
state._fsp--;
suff = tmp;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return suff;
}
// $ANTLR end "primarySuffix"
// $ANTLR start "fieldAccess"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:337:1: fieldAccess returns [Suffix suff] : '.' tmp= IDENTIFIER ;
public final Suffix fieldAccess() throws RecognitionException {
Suffix suff = null;
Token tmp=null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:338:2: ( '.' tmp= IDENTIFIER )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:338:4: '.' tmp= IDENTIFIER
{
match(input,34,FOLLOW_34_in_fieldAccess1351);
tmp=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_fieldAccess1357);
suff = new FieldAccess(tmp.getText());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return suff;
}
// $ANTLR end "fieldAccess"
// $ANTLR start "methodAccess"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:344:1: methodAccess returns [Suffix suff] : ( '.' tmp1= IDENTIFIER '(' ')' | '.' tmp2= IDENTIFIER '(' p1= expression ( ',' p2= expression )* ')' );
public final Suffix methodAccess() throws RecognitionException {
Suffix suff = null;
Token tmp1=null;
Token tmp2=null;
Expression p1 =null;
Expression p2 =null;
List params = new ArrayList();
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:346:2: ( '.' tmp1= IDENTIFIER '(' ')' | '.' tmp2= IDENTIFIER '(' p1= expression ( ',' p2= expression )* ')' )
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==34) ) {
int LA22_1 = input.LA(2);
if ( (LA22_1==IDENTIFIER) ) {
int LA22_2 = input.LA(3);
if ( (LA22_2==28) ) {
int LA22_3 = input.LA(4);
if ( (LA22_3==29) ) {
alt22=1;
}
else if ( (LA22_3==BooleanLiteral||(LA22_3 >= CharacterLiteral && LA22_3 <= DecimalLiteral)||LA22_3==FloatingPointLiteral||(LA22_3 >= HexLiteral && LA22_3 <= IDENTIFIER)||(LA22_3 >= OctalLiteral && LA22_3 <= StringLiteral)||LA22_3==24||LA22_3==28||LA22_3==31||LA22_3==33||(LA22_3 >= 45 && LA22_3 <= 46)||LA22_3==48) ) {
alt22=2;
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 22, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 22, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 22, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 22, 0, input);
throw nvae;
}
switch (alt22) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:346:4: '.' tmp1= IDENTIFIER '(' ')'
{
match(input,34,FOLLOW_34_in_methodAccess1381);
tmp1=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodAccess1387);
match(input,28,FOLLOW_28_in_methodAccess1389);
match(input,29,FOLLOW_29_in_methodAccess1391);
suff = new MethodAccess(tmp1.getText(), null);
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:347:4: '.' tmp2= IDENTIFIER '(' p1= expression ( ',' p2= expression )* ')'
{
match(input,34,FOLLOW_34_in_methodAccess1398);
tmp2=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodAccess1404);
match(input,28,FOLLOW_28_in_methodAccess1406);
pushFollow(FOLLOW_expression_in_methodAccess1412);
p1=expression();
state._fsp--;
params.add(p1);
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:348:2: ( ',' p2= expression )*
loop21:
while (true) {
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==32) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:348:3: ',' p2= expression
{
match(input,32,FOLLOW_32_in_methodAccess1418);
pushFollow(FOLLOW_expression_in_methodAccess1424);
p2=expression();
state._fsp--;
params.add(p2);
}
break;
default :
break loop21;
}
}
match(input,29,FOLLOW_29_in_methodAccess1432);
suff = new MethodAccess(tmp2.getText(), (Expression[])params.toArray(new Expression[params.size()]));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return suff;
}
// $ANTLR end "methodAccess"
// $ANTLR start "arrayAccess"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:358:1: arrayAccess returns [Suffix suff] : '[' tmp= expression ']' ;
public final Suffix arrayAccess() throws RecognitionException {
Suffix suff = null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:359:2: ( '[' tmp= expression ']' )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:359:4: '[' tmp= expression ']'
{
match(input,43,FOLLOW_43_in_arrayAccess1452);
pushFollow(FOLLOW_expression_in_arrayAccess1458);
tmp=expression();
state._fsp--;
match(input,44,FOLLOW_44_in_arrayAccess1460);
suff = new ArrayAccess(tmp);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return suff;
}
// $ANTLR end "arrayAccess"
// $ANTLR start "variable"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:368:1: variable returns [Expression exp] : tmp= IDENTIFIER ;
public final Expression variable() throws RecognitionException {
Expression exp = null;
Token tmp=null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:369:2: (tmp= IDENTIFIER )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:369:4: tmp= IDENTIFIER
{
tmp=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variable1484);
String name = tmp.getText();
Variable var = helper.getVariable(name);
if(var==null)
{
throw new RuntimeException("No such variable: "+name);
}
exp = new VariableExpression(var);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "variable"
// $ANTLR start "pseudovariable"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:384:1: pseudovariable returns [Expression exp] : tmp= IDENTIFIER '.' tmp2= IDENTIFIER ;
public final Expression pseudovariable() throws RecognitionException {
Expression exp = null;
Token tmp=null;
Token tmp2=null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:385:2: (tmp= IDENTIFIER '.' tmp2= IDENTIFIER )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:385:4: tmp= IDENTIFIER '.' tmp2= IDENTIFIER
{
tmp=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_pseudovariable1508);
match(input,34,FOLLOW_34_in_pseudovariable1510);
tmp2=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_pseudovariable1514);
String name = tmp.getText()+"."+tmp2.getText();
Variable var = helper.getVariable(name);
if(var==null)
throw new RuntimeException("No such variable: "+name);
exp = new VariableExpression(var);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "pseudovariable"
// $ANTLR start "literal"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:395:1: literal returns [Expression exp] : (tmp= floatingPointLiteral |tmp= integerLiteral | CharacterLiteral | StringLiteral | BooleanLiteral | 'null' );
public final Expression literal() throws RecognitionException {
Expression exp = null;
Token CharacterLiteral1=null;
Token StringLiteral2=null;
Token BooleanLiteral3=null;
Expression tmp =null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:396:2: (tmp= floatingPointLiteral |tmp= integerLiteral | CharacterLiteral | StringLiteral | BooleanLiteral | 'null' )
int alt23=6;
switch ( input.LA(1) ) {
case FloatingPointLiteral:
{
alt23=1;
}
break;
case DecimalLiteral:
case HexLiteral:
case OctalLiteral:
{
alt23=2;
}
break;
case CharacterLiteral:
{
alt23=3;
}
break;
case StringLiteral:
{
alt23=4;
}
break;
case BooleanLiteral:
{
alt23=5;
}
break;
case 46:
{
alt23=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 23, 0, input);
throw nvae;
}
switch (alt23) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:396:4: tmp= floatingPointLiteral
{
pushFollow(FOLLOW_floatingPointLiteral_in_literal1536);
tmp=floatingPointLiteral();
state._fsp--;
exp = tmp;
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:397:4: tmp= integerLiteral
{
pushFollow(FOLLOW_integerLiteral_in_literal1547);
tmp=integerLiteral();
state._fsp--;
exp = tmp;
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:398:4: CharacterLiteral
{
CharacterLiteral1=(Token)match(input,CharacterLiteral,FOLLOW_CharacterLiteral_in_literal1554);
// Auto-generated non-null check on literal produces scary findbugs warning when used inline.
String text = (CharacterLiteral1!=null?CharacterLiteral1.getText():null);
exp = new LiteralExpression(text==null ? null : Character.valueOf(text.charAt(0)));
}
break;
case 4 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:404:4: StringLiteral
{
StringLiteral2=(Token)match(input,StringLiteral,FOLLOW_StringLiteral_in_literal1562);
// Auto-generated non-null check on literal produces scary findbugs warning when used inline.
String text = (StringLiteral2!=null?StringLiteral2.getText():null);
exp = new LiteralExpression(text==null ? null : text.substring(1, text.length()-1));
}
break;
case 5 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:410:4: BooleanLiteral
{
BooleanLiteral3=(Token)match(input,BooleanLiteral,FOLLOW_BooleanLiteral_in_literal1570);
// Auto-generated non-null check on literal produces scary findbugs warning when used inline.
String text = (BooleanLiteral3!=null?BooleanLiteral3.getText():null);
exp = new LiteralExpression(text==null ? null : text.equals("true")? Boolean.TRUE: Boolean.FALSE);
}
break;
case 6 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:416:4: 'null'
{
match(input,46,FOLLOW_46_in_literal1578);
exp = new LiteralExpression(null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "literal"
// $ANTLR start "floatingPointLiteral"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:419:1: floatingPointLiteral returns [Expression exp] : FloatingPointLiteral ;
public final Expression floatingPointLiteral() throws RecognitionException {
Expression exp = null;
Token FloatingPointLiteral4=null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:420:2: ( FloatingPointLiteral )
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:420:4: FloatingPointLiteral
{
FloatingPointLiteral4=(Token)match(input,FloatingPointLiteral,FOLLOW_FloatingPointLiteral_in_floatingPointLiteral1595);
// Auto-generated non-null check on literal produces scary findbugs warning when used inline.
String text = (FloatingPointLiteral4!=null?FloatingPointLiteral4.getText():null);
exp = new LiteralExpression(text==null ? null : Double.valueOf(text));
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "floatingPointLiteral"
// $ANTLR start "integerLiteral"
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:428:1: integerLiteral returns [Expression exp] : ( HexLiteral | OctalLiteral | DecimalLiteral );
public final Expression integerLiteral() throws RecognitionException {
Expression exp = null;
Token HexLiteral5=null;
Token OctalLiteral6=null;
Token DecimalLiteral7=null;
try {
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:429:2: ( HexLiteral | OctalLiteral | DecimalLiteral )
int alt24=3;
switch ( input.LA(1) ) {
case HexLiteral:
{
alt24=1;
}
break;
case OctalLiteral:
{
alt24=2;
}
break;
case DecimalLiteral:
{
alt24=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 24, 0, input);
throw nvae;
}
switch (alt24) {
case 1 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:429:4: HexLiteral
{
HexLiteral5=(Token)match(input,HexLiteral,FOLLOW_HexLiteral_in_integerLiteral1613);
// Auto-generated non-null check on literal produces scary findbugs warning when used inline.
String text = (HexLiteral5!=null?HexLiteral5.getText():null);
exp = new LiteralExpression(text==null ? null : Integer.valueOf(text));
}
break;
case 2 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:435:4: OctalLiteral
{
OctalLiteral6=(Token)match(input,OctalLiteral,FOLLOW_OctalLiteral_in_integerLiteral1621);
// Auto-generated non-null check on literal produces scary findbugs warning when used inline.
String text = (OctalLiteral6!=null?OctalLiteral6.getText():null);
exp = new LiteralExpression(text==null ? null : Integer.valueOf(text));
}
break;
case 3 :
// C:\\Files\\Checkouts\\jadex\\jadex-rules\\src\\main\\java\\jadex\\rules\\parser\\conditions\\javagrammar\\JavaJadex.g:441:4: DecimalLiteral
{
DecimalLiteral7=(Token)match(input,DecimalLiteral,FOLLOW_DecimalLiteral_in_integerLiteral1629);
// Auto-generated non-null check on literal produces scary findbugs warning when used inline.
String text = (DecimalLiteral7!=null?DecimalLiteral7.getText():null);
exp = new LiteralExpression(text==null ? null : Integer.valueOf(text));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return exp;
}
// $ANTLR end "integerLiteral"
// Delegated rules
protected DFA18 dfa18 = new DFA18(this);
static final String DFA18_eotS =
"\7\uffff";
static final String DFA18_eofS =
"\7\uffff";
static final String DFA18_minS =
"\1\16\1\42\1\16\1\34\1\4\2\uffff";
static final String DFA18_maxS =
"\1\16\1\42\1\16\1\42\1\60\2\uffff";
static final String DFA18_acceptS =
"\5\uffff\1\1\1\2";
static final String DFA18_specialS =
"\7\uffff}>";
static final String[] DFA18_transitionS = {
"\1\1",
"\1\2",
"\1\3",
"\1\4\5\uffff\1\2",
"\1\6\1\uffff\2\6\3\uffff\1\6\1\uffff\2\6\5\uffff\2\6\2\uffff\1\6\3\uffff"+
"\1\6\1\5\1\uffff\1\6\1\uffff\1\6\13\uffff\2\6\1\uffff\1\6",
"",
""
};
static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);
static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);
static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);
static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);
static final short[][] DFA18_transition;
static {
int numStates = DFA18_transitionS.length;
DFA18_transition = new short[numStates][];
for (int i=0; i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy