match(138);
match(139);
	public final void compXmlPI() throws RecognitionException, TokenStreamException, XPathException {				returnAST = null;		ASTPair currentAST = new ASTPair();		org.exist.xquery.parser.XQueryAST compXmlPI_AST = null;		org.exist.xquery.parser.XQueryAST e1_AST = null;		org.exist.xquery.parser.XQueryAST e2_AST = null;		org.exist.xquery.parser.XQueryAST e3_AST = null;					String qn;						boolean synPredMatched281 = false;		if (((LA(1)==138))) {			int _m281 = mark();			synPredMatched281 = true;			inputState.guessing++;			try {				{				match(138);				match(LCURLY);				}			}			catch (RecognitionException pe) {				synPredMatched281 = false;			}			rewind(_m281);			inputState.guessing--;		}		if ( synPredMatched281 ) {			match(138);			match(LCURLY);			expr();			e1_AST = (org.exist.xquery.parser.XQueryAST)returnAST;			astFactory.addASTChild(currentAST, returnAST);			match(RCURLY);			match(LCURLY);			expr();			e2_AST = (org.exist.xquery.parser.XQueryAST)returnAST;			astFactory.addASTChild(currentAST, returnAST);			match(RCURLY);			if ( inputState.guessing==0 ) {				compXmlPI_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				compXmlPI_AST = (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(COMP_PI_CONSTRUCTOR)).add(compXmlPI_AST));				currentAST.root = compXmlPI_AST;				currentAST.child = compXmlPI_AST!=null &&compXmlPI_AST.getFirstChild()!=null ?					compXmlPI_AST.getFirstChild() : compXmlPI_AST;				currentAST.advanceChildToEnd();			}			compXmlPI_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;		}		else if ((LA(1)==138)) {			match(138);			qn=qName();			astFactory.addASTChild(currentAST, returnAST);			match(LCURLY);			expr();			e3_AST = (org.exist.xquery.parser.XQueryAST)returnAST;			astFactory.addASTChild(currentAST, returnAST);			match(RCURLY);			if ( inputState.guessing==0 ) {				compXmlPI_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				compXmlPI_AST = (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(3)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(COMP_PI_CONSTRUCTOR,qn)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(STRING_LITERAL,qn)).add(e3_AST));				currentAST.root = compXmlPI_AST;				currentAST.child = compXmlPI_AST!=null &&compXmlPI_AST.getFirstChild()!=null ?					compXmlPI_AST.getFirstChild() : compXmlPI_AST;				currentAST.advanceChildToEnd();			}			compXmlPI_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;		}		else {			throw new NoViableAltException(LT(1), getFilename());		}				returnAST = compXmlPI_AST;	}