_t = __t179;
_t = __t180;
	public final Expression  nodeComp(AST _t,		PathExpr path	) throws RecognitionException, PermissionDeniedException,EXistException,XPathException {		Expression step;				org.exist.xquery.parser.XQueryAST nodeComp_AST_in = (_t == ASTNULL) ? null : (org.exist.xquery.parser.XQueryAST)_t;		org.exist.xquery.parser.XQueryAST is = null;		org.exist.xquery.parser.XQueryAST isnot = null;		org.exist.xquery.parser.XQueryAST before = null;		org.exist.xquery.parser.XQueryAST after = null;					step= null;			PathExpr left= new PathExpr(context);			PathExpr right= new PathExpr(context);						if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case LITERAL_is:		{			AST __t179 = _t;			is = _t==ASTNULL ? null :(org.exist.xquery.parser.XQueryAST)_t;			match(_t,LITERAL_is);			_t = _t.getFirstChild();			step=expr(_t,left);			_t = _retTree;			step=expr(_t,right);			_t = _retTree;									step = new NodeComparison(context, left, right, Constants.IS);			step.setASTNode(is);						path.add(step);								_t = __t179;			_t = _t.getNextSibling();			break;		}		case LITERAL_isnot:		{			AST __t180 = _t;			isnot = _t==ASTNULL ? null :(org.exist.xquery.parser.XQueryAST)_t;			match(_t,LITERAL_isnot);			_t = _t.getFirstChild();			step=expr(_t,left);			_t = _retTree;			step=expr(_t,right);			_t = _retTree;									step = new NodeComparison(context, left, right, Constants.ISNOT);			step.setASTNode(isnot);						path.add(step);								_t = __t180;			_t = _t.getNextSibling();			break;		}		case BEFORE:		{			AST __t181 = _t;			before = _t==ASTNULL ? null :(org.exist.xquery.parser.XQueryAST)_t;			match(_t,BEFORE);			_t = _t.getFirstChild();			step=expr(_t,left);			_t = _retTree;			step=expr(_t,right);			_t = _retTree;									step = new NodeComparison(context, left, right, Constants.BEFORE);			step.setASTNode(before);						path.add(step);								_t = __t181;			_t = _t.getNextSibling();			break;		}		case AFTER:		{			AST __t182 = _t;			after = _t==ASTNULL ? null :(org.exist.xquery.parser.XQueryAST)_t;			match(_t,AFTER);			_t = _t.getFirstChild();			step=expr(_t,left);			_t = _retTree;			step=expr(_t,right);			_t = _retTree;									step = new NodeComparison(context, left, right, Constants.AFTER);			step.setASTNode(after);						path.add(step);								_t = __t182;			_t = _t.getNextSibling();			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		_retTree = _t;		return step;	}