synPredMatched520 = false;
synPredMatched14 = false;
	public final void prolog() throws RecognitionException, TokenStreamException {				returnAST = null;		ASTPair currentAST = new ASTPair();		AST prolog_AST = null;		AST v_AST = null;		AST nd_AST = null;		AST dnd_AST = null;		AST fd_AST = null;				{		boolean synPredMatched516 = false;		if (((LA(1)==XQUERY))) {			int _m516 = mark();			synPredMatched516 = true;			inputState.guessing++;			try {				{				match(XQUERY);				match(VERSION);				}			}			catch (RecognitionException pe) {				synPredMatched516 = false;			}			rewind(_m516);			inputState.guessing--;		}		if ( synPredMatched516 ) {			version();			v_AST = (AST)returnAST;			astFactory.addASTChild(currentAST, returnAST);			match(SEMICOLON);		}		else if ((_tokenSet_0.member(LA(1)))) {		}		else {			throw new NoViableAltException(LT(1), getFilename());		}				}		{		_loop527:		do {			if ((LA(1)==LITERAL_declare)) {				{				boolean synPredMatched520 = false;				if (((LA(1)==LITERAL_declare))) {					int _m520 = mark();					synPredMatched520 = true;					inputState.guessing++;					try {						{						match(LITERAL_declare);						match(LITERAL_namespace);						}					}					catch (RecognitionException pe) {						synPredMatched520 = false;					}					rewind(_m520);					inputState.guessing--;				}				if ( synPredMatched520 ) {					namespaceDecl();					nd_AST = (AST)returnAST;					astFactory.addASTChild(currentAST, returnAST);				}				else {					boolean synPredMatched522 = false;					if (((LA(1)==LITERAL_declare))) {						int _m522 = mark();						synPredMatched522 = true;						inputState.guessing++;						try {							{							match(LITERAL_declare);							match(LITERAL_default);							}						}						catch (RecognitionException pe) {							synPredMatched522 = false;						}						rewind(_m522);						inputState.guessing--;					}					if ( synPredMatched522 ) {						defaultNamespaceDecl();						dnd_AST = (AST)returnAST;						astFactory.addASTChild(currentAST, returnAST);					}					else {						boolean synPredMatched524 = false;						if (((LA(1)==LITERAL_declare))) {							int _m524 = mark();							synPredMatched524 = true;							inputState.guessing++;							try {								{								match(LITERAL_declare);								match(LITERAL_function);								}							}							catch (RecognitionException pe) {								synPredMatched524 = false;							}							rewind(_m524);							inputState.guessing--;						}						if ( synPredMatched524 ) {							functionDecl();							fd_AST = (AST)returnAST;							astFactory.addASTChild(currentAST, returnAST);						}						else {							boolean synPredMatched526 = false;							if (((LA(1)==LITERAL_declare))) {								int _m526 = mark();								synPredMatched526 = true;								inputState.guessing++;								try {									{									match(LITERAL_declare);									match(LITERAL_variable);									}								}								catch (RecognitionException pe) {									synPredMatched526 = false;								}								rewind(_m526);								inputState.guessing--;							}							if ( synPredMatched526 ) {								varDecl();								astFactory.addASTChild(currentAST, returnAST);							}							else {								throw new NoViableAltException(LT(1), getFilename());							}							}}}							}							match(SEMICOLON);						}						else {							break _loop527;						}											} while (true);					}					prolog_AST = (AST)currentAST.root;					returnAST = prolog_AST;				}