AST __t1571 = _t;
AST __t1572 = _t;
	public final void expression(AST _t) throws RecognitionException {				AST expression_AST_in = (_t == ASTNULL) ? null : (AST)_t;				if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case OR:		{			AST __t1558 = _t;			AST tmp24_AST_in = (AST)_t;			match(_t,OR);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1558;			_t = _t.getNextSibling();			break;		}		case AND:		{			AST __t1559 = _t;			AST tmp25_AST_in = (AST)_t;			match(_t,AND);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1559;			_t = _t.getNextSibling();			break;		}		case NOT:		{			AST __t1560 = _t;			AST tmp26_AST_in = (AST)_t;			match(_t,NOT);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			_t = __t1560;			_t = _t.getNextSibling();			break;		}		case MATCHES:		{			AST __t1561 = _t;			AST tmp27_AST_in = (AST)_t;			match(_t,MATCHES);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1561;			_t = _t.getNextSibling();			break;		}		case BEGINS:		{			AST __t1562 = _t;			AST tmp28_AST_in = (AST)_t;			match(_t,BEGINS);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1562;			_t = _t.getNextSibling();			break;		}		case CONTAINS:		{			AST __t1563 = _t;			AST tmp29_AST_in = (AST)_t;			match(_t,CONTAINS);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1563;			_t = _t.getNextSibling();			break;		}		case EQ:		{			AST __t1564 = _t;			AST tmp30_AST_in = (AST)_t;			match(_t,EQ);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1564;			_t = _t.getNextSibling();			break;		}		case NE:		{			AST __t1565 = _t;			AST tmp31_AST_in = (AST)_t;			match(_t,NE);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1565;			_t = _t.getNextSibling();			break;		}		case GTHAN:		{			AST __t1566 = _t;			AST tmp32_AST_in = (AST)_t;			match(_t,GTHAN);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1566;			_t = _t.getNextSibling();			break;		}		case GE:		{			AST __t1567 = _t;			AST tmp33_AST_in = (AST)_t;			match(_t,GE);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1567;			_t = _t.getNextSibling();			break;		}		case LTHAN:		{			AST __t1568 = _t;			AST tmp34_AST_in = (AST)_t;			match(_t,LTHAN);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1568;			_t = _t.getNextSibling();			break;		}		case LE:		{			AST __t1569 = _t;			AST tmp35_AST_in = (AST)_t;			match(_t,LE);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1569;			_t = _t.getNextSibling();			break;		}		case PLUS:		{			AST __t1570 = _t;			AST tmp36_AST_in = (AST)_t;			match(_t,PLUS);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1570;			_t = _t.getNextSibling();			break;		}		case MINUS:		{			AST __t1571 = _t;			AST tmp37_AST_in = (AST)_t;			match(_t,MINUS);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1571;			_t = _t.getNextSibling();			break;		}		case MULTIPLY:		{			AST __t1572 = _t;			AST tmp38_AST_in = (AST)_t;			match(_t,MULTIPLY);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1572;			_t = _t.getNextSibling();			break;		}		case DIVIDE:		{			AST __t1573 = _t;			AST tmp39_AST_in = (AST)_t;			match(_t,DIVIDE);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1573;			_t = _t.getNextSibling();			break;		}		case MODULO:		{			AST __t1574 = _t;			AST tmp40_AST_in = (AST)_t;			match(_t,MODULO);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			expression(_t);			_t = _retTree;			_t = __t1574;			_t = _t.getNextSibling();			break;		}		case UNARY_MINUS:		{			AST __t1575 = _t;			AST tmp41_AST_in = (AST)_t;			match(_t,UNARY_MINUS);			_t = _t.getFirstChild();			exprt(_t);			_t = _retTree;			_t = __t1575;			_t = _t.getNextSibling();			break;		}		case UNARY_PLUS:		{			AST __t1576 = _t;			AST tmp42_AST_in = (AST)_t;			match(_t,UNARY_PLUS);			_t = _t.getFirstChild();			exprt(_t);			_t = _retTree;			_t = __t1576;			_t = _t.getNextSibling();			break;		}		default:			if (_t==null) _t=ASTNULL;			if ((_tokenSet_1.member(_t.getType()))) {				exprt(_t);				_t = _retTree;			}		else {			throw new NoViableAltException(_t);		}		}		_retTree = _t;	}