rewind(_m155);
rewind(_m158);
	public final void stepExpr() throws RecognitionException, TokenStreamException {				traceIn("stepExpr");		try { // debugging			returnAST = null;			ASTPair currentAST = new ASTPair();			org.exist.xquery.parser.XQueryAST stepExpr_AST = null;						boolean synPredMatched155 = false;			if (((_tokenSet_8.member(LA(1))))) {				int _m155 = mark();				synPredMatched155 = true;				inputState.guessing++;				try {					{					{					switch ( LA(1)) {					case LITERAL_text:					{						match(LITERAL_text);						break;					}					case LITERAL_node:					{						match(LITERAL_node);						break;					}					case LITERAL_element:					{						match(LITERAL_element);						break;					}					default:					{						throw new NoViableAltException(LT(1), getFilename());					}					}					}					match(LPAREN);					}				}				catch (RecognitionException pe) {					synPredMatched155 = false;				}				rewind(_m155);				inputState.guessing--;			}			if ( synPredMatched155 ) {				axisStep();				astFactory.addASTChild(currentAST, returnAST);				stepExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			}			else {				boolean synPredMatched158 = false;				if (((_tokenSet_9.member(LA(1))))) {					int _m158 = mark();					synPredMatched158 = true;					inputState.guessing++;					try {						{						switch ( LA(1)) {						case DOLLAR:						{							match(DOLLAR);							break;						}						case NCNAME:						case LITERAL_module:						case LITERAL_namespace:						case XQUERY:						case VERSION:						case LITERAL_default:						case LITERAL_function:						case LITERAL_variable:						case LITERAL_import:						case LITERAL_at:						case LITERAL_as:						case LITERAL_empty:						case LITERAL_item:						case LITERAL_for:						case LITERAL_let:						case LITERAL_some:						case LITERAL_every:						case LITERAL_if:						case LITERAL_order:						case LITERAL_by:						case LITERAL_then:						case LITERAL_else:						case LITERAL_or:						case LITERAL_and:						case LITERAL_cast:						case LITERAL_is:						case LITERAL_isnot:						case LITERAL_div:						case LITERAL_mod:						case LITERAL_union:						case LITERAL_intersect:						case LITERAL_except:						case LITERAL_text:						case LITERAL_node:						case LITERAL_child:						case LITERAL_self:						case LITERAL_attribute:						case LITERAL_descendant:						case 123:						case 124:						case LITERAL_parent:						case LITERAL_ancestor:						case 127:						case 128:						case LITERAL_comment:						case LITERAL_document:						case LITERAL_collection:						{							{							qName();							match(LPAREN);							}							break;						}						case SELF:						{							match(SELF);							break;						}						case LPAREN:						{							match(LPAREN);							break;						}						case STRING_LITERAL:						case DOUBLE_LITERAL:						case DECIMAL_LITERAL:						case INTEGER_LITERAL:						{							literal();							break;						}						case XML_COMMENT:						{							match(XML_COMMENT);							break;						}						case LT:						{							match(LT);							break;						}						default:						{							throw new NoViableAltException(LT(1), getFilename());						}						}						}					}					catch (RecognitionException pe) {						synPredMatched158 = false;					}					rewind(_m158);					inputState.guessing--;				}				if ( synPredMatched158 ) {					filterStep();					astFactory.addASTChild(currentAST, returnAST);					stepExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				}				else if ((_tokenSet_8.member(LA(1)))) {					axisStep();					astFactory.addASTChild(currentAST, returnAST);					stepExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				}				else {					throw new NoViableAltException(LT(1), getFilename());				}				}				returnAST = stepExpr_AST;			} finally { // debugging				traceOut("stepExpr");			}		}