boolean synPredMatched202 = false;
boolean synPredMatched203 = false;
	public final void forwardOrReverseStep() throws RecognitionException, TokenStreamException, XPathException {				returnAST = null;		ASTPair currentAST = new ASTPair();		org.exist.xquery.parser.XQueryAST forwardOrReverseStep_AST = null;				boolean synPredMatched202 = false;		if (((_tokenSet_8.member(LA(1))))) {			int _m202 = mark();			synPredMatched202 = true;			inputState.guessing++;			try {				{				forwardAxisSpecifier();				match(COLON);				}			}			catch (RecognitionException pe) {				synPredMatched202 = false;			}			rewind(_m202);			inputState.guessing--;		}		if ( synPredMatched202 ) {			forwardAxis();			astFactory.addASTChild(currentAST, returnAST);			nodeTest();			astFactory.addASTChild(currentAST, returnAST);			forwardOrReverseStep_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;		}		else {			boolean synPredMatched204 = false;			if ((((LA(1) >= LITERAL_parent && LA(1) <= 157)))) {				int _m204 = mark();				synPredMatched204 = true;				inputState.guessing++;				try {					{					reverseAxisSpecifier();					match(COLON);					}				}				catch (RecognitionException pe) {					synPredMatched204 = false;				}				rewind(_m204);				inputState.guessing--;			}			if ( synPredMatched204 ) {				reverseAxis();				astFactory.addASTChild(currentAST, returnAST);				nodeTest();				astFactory.addASTChild(currentAST, returnAST);				forwardOrReverseStep_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			}			else if ((_tokenSet_6.member(LA(1)))) {				abbrevStep();				astFactory.addASTChild(currentAST, returnAST);				forwardOrReverseStep_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			}			else {				throw new NoViableAltException(LT(1), getFilename());			}			}			returnAST = forwardOrReverseStep_AST;		}