break; } case 63: { match(63);
	public final void prolog() throws RecognitionException, TokenStreamException, XPathException {				returnAST = null;		ASTPair currentAST = new ASTPair();		org.exist.xquery.parser.XQueryAST prolog_AST = null;		boolean inSetters = true;				{		_loop29:		do {			if ((LA(1)==LITERAL_import||LA(1)==LITERAL_declare)) {				{				boolean synPredMatched19 = false;				if (((LA(1)==LITERAL_import))) {					int _m19 = mark();					synPredMatched19 = true;					inputState.guessing++;					try {						{						match(LITERAL_import);						match(LITERAL_module);						}					}					catch (RecognitionException pe) {						synPredMatched19 = false;					}					rewind(_m19);					inputState.guessing--;				}				if ( synPredMatched19 ) {					moduleImport();					astFactory.addASTChild(currentAST, returnAST);				}				else {					boolean synPredMatched22 = false;					if (((LA(1)==LITERAL_declare))) {						int _m22 = mark();						synPredMatched22 = true;						inputState.guessing++;						try {							{							match(LITERAL_declare);							{							switch ( LA(1)) {							case LITERAL_default:							{								match(LITERAL_default);								break;							}							case LITERAL_xmlspace:							{								match(LITERAL_xmlspace);								break;							}							case LITERAL_ordering:							{								match(LITERAL_ordering);								break;							}							case LITERAL_construction:							{								match(LITERAL_construction);								break;							}							default:							{								throw new NoViableAltException(LT(1), getFilename());							}							}							}							}						}						catch (RecognitionException pe) {							synPredMatched22 = false;						}						rewind(_m22);						inputState.guessing--;					}					if ( synPredMatched22 ) {						setter();						astFactory.addASTChild(currentAST, returnAST);						if ( inputState.guessing==0 ) {																		if(!inSetters)												throw new TokenStreamException("Default declarations have to come first");																}					}					else {						boolean synPredMatched24 = false;						if (((LA(1)==LITERAL_declare))) {							int _m24 = mark();							synPredMatched24 = true;							inputState.guessing++;							try {								{								match(LITERAL_declare);								match(LITERAL_namespace);								}							}							catch (RecognitionException pe) {								synPredMatched24 = false;							}							rewind(_m24);							inputState.guessing--;						}						if ( synPredMatched24 ) {							namespaceDecl();							astFactory.addASTChild(currentAST, returnAST);							if ( inputState.guessing==0 ) {								inSetters = false;							}						}						else {							boolean synPredMatched26 = false;							if (((LA(1)==LITERAL_declare))) {								int _m26 = mark();								synPredMatched26 = true;								inputState.guessing++;								try {									{									match(LITERAL_declare);									match(LITERAL_function);									}								}								catch (RecognitionException pe) {									synPredMatched26 = false;								}								rewind(_m26);								inputState.guessing--;							}							if ( synPredMatched26 ) {								functionDecl();								astFactory.addASTChild(currentAST, returnAST);								if ( inputState.guessing==0 ) {									inSetters = false;								}							}							else {								boolean synPredMatched28 = false;								if (((LA(1)==LITERAL_declare))) {									int _m28 = mark();									synPredMatched28 = true;									inputState.guessing++;									try {										{										match(LITERAL_declare);										match(LITERAL_variable);										}									}									catch (RecognitionException pe) {										synPredMatched28 = false;									}									rewind(_m28);									inputState.guessing--;								}								if ( synPredMatched28 ) {									varDecl();									astFactory.addASTChild(currentAST, returnAST);									if ( inputState.guessing==0 ) {										inSetters = false;									}								}								else {									throw new NoViableAltException(LT(1), getFilename());								}								}}}}								}								match(SEMICOLON);							}							else {								break _loop29;							}													} while (true);						}						prolog_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;						returnAST = prolog_AST;					}