traceIn("forwardOrReverseStep"); try { returnAST = null; ASTPair currentAST = new ASTPair(); org.exist.xquery.parser.XQueryAST forwardOrReverseStep_AST = null;  boolean synPredMatched167 = false; if ((((LA(1) >= LITERAL_child && LA(1) <= 124)))) { int _m167 = mark(); synPredMatched167 = true;
returnAST = null; ASTPair currentAST = new ASTPair(); org.exist.xquery.parser.XQueryAST forwardOrReverseStep_AST = null;  boolean synPredMatched167 = false; if ((((LA(1) >= LITERAL_child && LA(1) <= 124)))) { int _m167 = mark(); synPredMatched167 = true; inputState.guessing++; try { { forwardAxisSpecifier(); match(COLON); } } catch (RecognitionException pe) { synPredMatched167 = false; } rewind(_m167); inputState.guessing--; } if ( synPredMatched167 ) { forwardAxis(); astFactory.addASTChild(currentAST, returnAST); nodeTest(); astFactory.addASTChild(currentAST, returnAST); forwardOrReverseStep_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root; } else { boolean synPredMatched169 = false; if ((((LA(1) >= LITERAL_parent && LA(1) <= 128)))) { int _m169 = mark(); synPredMatched169 = true;
	public final void forwardOrReverseStep() throws RecognitionException, TokenStreamException {				traceIn("forwardOrReverseStep");		try { // debugging			returnAST = null;			ASTPair currentAST = new ASTPair();			org.exist.xquery.parser.XQueryAST forwardOrReverseStep_AST = null;						boolean synPredMatched167 = false;			if ((((LA(1) >= LITERAL_child && LA(1) <= 124)))) {				int _m167 = mark();				synPredMatched167 = true;				inputState.guessing++;				try {					{					forwardAxisSpecifier();					match(COLON);					}				}				catch (RecognitionException pe) {					synPredMatched167 = false;				}				rewind(_m167);				inputState.guessing--;			}			if ( synPredMatched167 ) {				forwardAxis();				astFactory.addASTChild(currentAST, returnAST);				nodeTest();				astFactory.addASTChild(currentAST, returnAST);				forwardOrReverseStep_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			}			else {				boolean synPredMatched169 = false;				if ((((LA(1) >= LITERAL_parent && LA(1) <= 128)))) {					int _m169 = mark();					synPredMatched169 = true;					inputState.guessing++;					try {						{						reverseAxisSpecifier();						match(COLON);						}					}					catch (RecognitionException pe) {						synPredMatched169 = false;					}					rewind(_m169);					inputState.guessing--;				}				if ( synPredMatched169 ) {					reverseAxis();					astFactory.addASTChild(currentAST, returnAST);					nodeTest();					astFactory.addASTChild(currentAST, returnAST);					forwardOrReverseStep_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				}				else if ((_tokenSet_8.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;			} finally { // debugging				traceOut("forwardOrReverseStep");			}		}