_t = __t388;
_t = __t393;
	public final Expression  nodeComp(AST _t,		PathExpr path	) throws RecognitionException, PermissionDeniedException,EXistException,XPathException {		Expression step;				AST nodeComp_AST_in = (AST)_t;					step= null;			PathExpr left= new PathExpr(context);			PathExpr right= new PathExpr(context);						if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case LITERAL_is:		{			AST __t388 = _t;			AST tmp61_AST_in = (AST)_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);						path.add(step);								_t = __t388;			_t = _t.getNextSibling();			break;		}		case LITERAL_isnot:		{			AST __t389 = _t;			AST tmp62_AST_in = (AST)_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);						path.add(step);								_t = __t389;			_t = _t.getNextSibling();			break;		}		case BEFORE:		{			AST __t390 = _t;			AST tmp63_AST_in = (AST)_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);						path.add(step);								_t = __t390;			_t = _t.getNextSibling();			break;		}		case AFTER:		{			AST __t391 = _t;			AST tmp64_AST_in = (AST)_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);						path.add(step);								_t = __t391;			_t = _t.getNextSibling();			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		_retTree = _t;		return step;	}