synPredMatched154 = false;
synPredMatched156 = false;
	public final void forwardOrReverseStep() throws RecognitionException, TokenStreamException {				returnAST = null;		ASTPair currentAST = new ASTPair();		AST forwardOrReverseStep_AST = null;				boolean synPredMatched152 = false;		if ((((LA(1) >= LITERAL_child && LA(1) <= 116)))) {			int _m152 = mark();			synPredMatched152 = true;			inputState.guessing++;			try {				{				forwardAxisSpecifier();				match(COLON);				}			}			catch (RecognitionException pe) {				synPredMatched152 = false;			}			rewind(_m152);			inputState.guessing--;		}		if ( synPredMatched152 ) {			forwardAxis();			astFactory.addASTChild(currentAST, returnAST);			nodeTest();			astFactory.addASTChild(currentAST, returnAST);			forwardOrReverseStep_AST = (AST)currentAST.root;		}		else {			boolean synPredMatched154 = false;			if ((((LA(1) >= LITERAL_parent && LA(1) <= 120)))) {				int _m154 = mark();				synPredMatched154 = true;				inputState.guessing++;				try {					{					reverseAxisSpecifier();					match(COLON);					}				}				catch (RecognitionException pe) {					synPredMatched154 = false;				}				rewind(_m154);				inputState.guessing--;			}			if ( synPredMatched154 ) {				reverseAxis();				astFactory.addASTChild(currentAST, returnAST);				nodeTest();				astFactory.addASTChild(currentAST, returnAST);				forwardOrReverseStep_AST = (AST)currentAST.root;			}			else if ((_tokenSet_6.member(LA(1)))) {				abbrevStep();				astFactory.addASTChild(currentAST, returnAST);				forwardOrReverseStep_AST = (AST)currentAST.root;			}			else {				throw new NoViableAltException(LT(1), getFilename());			}			}			returnAST = forwardOrReverseStep_AST;		}