if ( synPredMatched221 ) { org.exist.xquery.parser.XQueryAST tmp239_AST = null; tmp239_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp239_AST);
if ( synPredMatched231 ) { org.exist.xquery.parser.XQueryAST tmp248_AST = null; tmp248_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp248_AST);
	public final void pathExpr() throws RecognitionException, TokenStreamException, XPathException {				returnAST = null;		ASTPair currentAST = new ASTPair();		org.exist.xquery.parser.XQueryAST pathExpr_AST = null;		org.exist.xquery.parser.XQueryAST relPath_AST = null;		org.exist.xquery.parser.XQueryAST relPath2_AST = null;				switch ( LA(1)) {		case LPAREN:		case NCNAME:		case LITERAL_xquery:		case LITERAL_version:		case LITERAL_module:		case LITERAL_namespace:		case STRING_LITERAL:		case LITERAL_declare:		case LITERAL_default:		case 63:		case LITERAL_ordering:		case LITERAL_construction:		case 66:		case LITERAL_option:		case LITERAL_function:		case LITERAL_variable:		case LITERAL_import:		case LITERAL_encoding:		case LITERAL_collation:		case LITERAL_element:		case LITERAL_order:		case LITERAL_empty:		case LITERAL_preserve:		case LITERAL_strip:		case LITERAL_ordered:		case LITERAL_unordered:		case 84:		case LITERAL_inherit:		case 86:		case DOLLAR:		case LITERAL_external:		case LITERAL_at:		case LITERAL_schema:		case LITERAL_as:		case STAR:		case LITERAL_item:		case LITERAL_for:		case LITERAL_let:		case LITERAL_some:		case LITERAL_every:		case LITERAL_if:		case LITERAL_typeswitch:		case LITERAL_update:		case LITERAL_replace:		case LITERAL_value:		case LITERAL_insert:		case LITERAL_delete:		case LITERAL_rename:		case LITERAL_with:		case LITERAL_into:		case LITERAL_preceding:		case LITERAL_following:		case LITERAL_return:		case LITERAL_by:		case LITERAL_case:		case LITERAL_then:		case LITERAL_else:		case LITERAL_or:		case LITERAL_and:		case LITERAL_instance:		case LITERAL_of:		case LITERAL_treat:		case LITERAL_cast:		case LT:		case LITERAL_eq:		case LITERAL_ne:		case LITERAL_lt:		case LITERAL_le:		case LITERAL_gt:		case LITERAL_ge:		case LITERAL_is:		case LITERAL_isnot:		case LITERAL_to:		case LITERAL_div:		case LITERAL_mod:		case LITERAL_union:		case LITERAL_intersect:		case LITERAL_except:		case LITERAL_text:		case LITERAL_node:		case LITERAL_attribute:		case LITERAL_comment:		case 165:		case 166:		case LITERAL_document:		case SELF:		case XML_COMMENT:		case XML_PI:		case AT:		case PARENT:		case LITERAL_child:		case LITERAL_self:		case LITERAL_descendant:		case 178:		case 179:		case LITERAL_parent:		case LITERAL_ancestor:		case 182:		case 183:		case DOUBLE_LITERAL:		case DECIMAL_LITERAL:		case INTEGER_LITERAL:		case LITERAL_collection:		case LITERAL_validate:		{			relativePathExpr();			astFactory.addASTChild(currentAST, returnAST);			pathExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			break;		}		case DSLASH:		{			org.exist.xquery.parser.XQueryAST tmp238_AST = null;			tmp238_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));			astFactory.addASTChild(currentAST, tmp238_AST);			match(DSLASH);			relativePathExpr();			relPath2_AST = (org.exist.xquery.parser.XQueryAST)returnAST;			astFactory.addASTChild(currentAST, returnAST);			if ( inputState.guessing==0 ) {				pathExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				pathExpr_AST= (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(ABSOLUTE_DSLASH,"AbsoluteSlashSlash")).add(relPath2_AST));				currentAST.root = pathExpr_AST;				currentAST.child = pathExpr_AST!=null &&pathExpr_AST.getFirstChild()!=null ?					pathExpr_AST.getFirstChild() : pathExpr_AST;				currentAST.advanceChildToEnd();			}			pathExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			break;		}		default:			boolean synPredMatched221 = false;			if (((LA(1)==SLASH))) {				int _m221 = mark();				synPredMatched221 = true;				inputState.guessing++;				try {					{					match(SLASH);					relativePathExpr();					}				}				catch (RecognitionException pe) {					synPredMatched221 = false;				}				rewind(_m221);				inputState.guessing--;			}			if ( synPredMatched221 ) {				org.exist.xquery.parser.XQueryAST tmp239_AST = null;				tmp239_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));				astFactory.addASTChild(currentAST, tmp239_AST);				match(SLASH);				relativePathExpr();				relPath_AST = (org.exist.xquery.parser.XQueryAST)returnAST;				astFactory.addASTChild(currentAST, returnAST);				if ( inputState.guessing==0 ) {					pathExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;					pathExpr_AST= (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(ABSOLUTE_SLASH,"AbsoluteSlash")).add(relPath_AST));					currentAST.root = pathExpr_AST;					currentAST.child = pathExpr_AST!=null &&pathExpr_AST.getFirstChild()!=null ?						pathExpr_AST.getFirstChild() : pathExpr_AST;					currentAST.advanceChildToEnd();				}				pathExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			}			else if ((LA(1)==SLASH)) {				org.exist.xquery.parser.XQueryAST tmp240_AST = null;				tmp240_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));				astFactory.addASTChild(currentAST, tmp240_AST);				match(SLASH);				if ( inputState.guessing==0 ) {					pathExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;					pathExpr_AST= (org.exist.xquery.parser.XQueryAST)astFactory.create(ABSOLUTE_SLASH,"AbsoluteSlash");					currentAST.root = pathExpr_AST;					currentAST.child = pathExpr_AST!=null &&pathExpr_AST.getFirstChild()!=null ?						pathExpr_AST.getFirstChild() : pathExpr_AST;					currentAST.advanceChildToEnd();				}				pathExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			}		else {			throw new NoViableAltException(LT(1), getFilename());		}		}		returnAST = pathExpr_AST;	}