case 66: { match(66); break; }
	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_declare||LA(1)==LITERAL_import)) {				{				if ((LA(1)==LITERAL_import)) {					importDecl();					astFactory.addASTChild(currentAST, returnAST);				}				else {					boolean synPredMatched20 = false;					if (((LA(1)==LITERAL_declare))) {						int _m20 = mark();						synPredMatched20 = true;						inputState.guessing++;						try {							{							match(LITERAL_declare);							{							switch ( LA(1)) {							case LITERAL_default:							{								match(LITERAL_default);								break;							}							case 63:							{								match(63);								break;							}							case LITERAL_ordering:							{								match(LITERAL_ordering);								break;							}							case LITERAL_construction:							{								match(LITERAL_construction);								break;							}							case 66:							{								match(66);								break;							}							case 67:							{								match(67);								break;							}							default:							{								throw new NoViableAltException(LT(1), getFilename());							}							}							}							}						}						catch (RecognitionException pe) {							synPredMatched20 = false;						}						rewind(_m20);						inputState.guessing--;					}					if ( synPredMatched20 ) {						setter();						astFactory.addASTChild(currentAST, returnAST);						if ( inputState.guessing==0 ) {																		if(!inSetters)												throw new TokenStreamException("Default declarations have to come first");																}					}					else {						boolean synPredMatched22 = false;						if (((LA(1)==LITERAL_declare))) {							int _m22 = mark();							synPredMatched22 = true;							inputState.guessing++;							try {								{								match(LITERAL_declare);								match(LITERAL_namespace);								}							}							catch (RecognitionException pe) {								synPredMatched22 = false;							}							rewind(_m22);							inputState.guessing--;						}						if ( synPredMatched22 ) {							namespaceDecl();							astFactory.addASTChild(currentAST, returnAST);							if ( inputState.guessing==0 ) {								inSetters = false;							}						}						else {							boolean synPredMatched24 = false;							if (((LA(1)==LITERAL_declare))) {								int _m24 = mark();								synPredMatched24 = true;								inputState.guessing++;								try {									{									match(LITERAL_declare);									match(LITERAL_option);									}								}								catch (RecognitionException pe) {									synPredMatched24 = false;								}								rewind(_m24);								inputState.guessing--;							}							if ( synPredMatched24 ) {								optionDecl();								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;						}