AST tmp107_AST = null; tmp107_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp107_AST);
AST tmp126_AST = null; tmp126_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp126_AST);
	public final void pathExpr() throws RecognitionException, TokenStreamException {				returnAST = null;		ASTPair currentAST = new ASTPair();		AST pathExpr_AST = null;		AST relPath_AST = null;		AST relPath2_AST = null;				switch ( LA(1)) {		case LPAREN:		case NCNAME:		case DOLLAR:		case LITERAL_or:		case LITERAL_and:		case LT:		case STAR:		case LITERAL_div:		case LITERAL_mod:		case LITERAL_text:		case LITERAL_node:		case SELF:		case XML_COMMENT:		case AT:		case PARENT:		case LITERAL_child:		case LITERAL_self:		case LITERAL_attribute:		case LITERAL_descendant:		case 64:		case 65:		case LITERAL_parent:		case LITERAL_ancestor:		case 68:		case 69:		case STRING_LITERAL:		case DOUBLE_LITERAL:		case DECIMAL_LITERAL:		case INTEGER_LITERAL:		case XML_PI:		{			relativePathExpr();			astFactory.addASTChild(currentAST, returnAST);			pathExpr_AST = (AST)currentAST.root;			break;		}		case DSLASH:		{			AST tmp105_AST = null;			tmp105_AST = astFactory.create(LT(1));			astFactory.addASTChild(currentAST, tmp105_AST);			match(DSLASH);			relativePathExpr();			relPath2_AST = (AST)returnAST;			astFactory.addASTChild(currentAST, returnAST);			if ( inputState.guessing==0 ) {				pathExpr_AST = (AST)currentAST.root;				pathExpr_AST= (AST)astFactory.make( (new ASTArray(2)).add(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 = (AST)currentAST.root;			break;		}		default:			boolean synPredMatched44 = false;			if (((LA(1)==SLASH))) {				int _m44 = mark();				synPredMatched44 = true;				inputState.guessing++;				try {					{					match(SLASH);					relativePathExpr();					}				}				catch (RecognitionException pe) {					synPredMatched44 = false;				}				rewind(_m44);				inputState.guessing--;			}			if ( synPredMatched44 ) {				AST tmp106_AST = null;				tmp106_AST = astFactory.create(LT(1));				astFactory.addASTChild(currentAST, tmp106_AST);				match(SLASH);				relativePathExpr();				relPath_AST = (AST)returnAST;				astFactory.addASTChild(currentAST, returnAST);				if ( inputState.guessing==0 ) {					pathExpr_AST = (AST)currentAST.root;					pathExpr_AST= (AST)astFactory.make( (new ASTArray(2)).add(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 = (AST)currentAST.root;			}			else if ((LA(1)==SLASH)) {				AST tmp107_AST = null;				tmp107_AST = astFactory.create(LT(1));				astFactory.addASTChild(currentAST, tmp107_AST);				match(SLASH);				if ( inputState.guessing==0 ) {					pathExpr_AST = (AST)currentAST.root;					pathExpr_AST= 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 = (AST)currentAST.root;			}		else {			throw new NoViableAltException(LT(1), getFilename());		}		}		returnAST = pathExpr_AST;	}