int _m60 = mark(); synPredMatched60 = true;
int _m61 = mark(); synPredMatched61 = true;
	public final void exprSingle() throws RecognitionException, TokenStreamException {				returnAST = null;		ASTPair currentAST = new ASTPair();		AST exprSingle_AST = null;				boolean synPredMatched58 = false;		if (((LA(1)==LITERAL_for||LA(1)==LITERAL_let))) {			int _m58 = mark();			synPredMatched58 = true;			inputState.guessing++;			try {				{				{				switch ( LA(1)) {				case LITERAL_for:				{					match(LITERAL_for);					break;				}				case LITERAL_let:				{					match(LITERAL_let);					break;				}				default:				{					throw new NoViableAltException(LT(1), getFilename());				}				}				}				match(DOLLAR);				}			}			catch (RecognitionException pe) {				synPredMatched58 = false;			}			rewind(_m58);			inputState.guessing--;		}		if ( synPredMatched58 ) {			flworExpr();			astFactory.addASTChild(currentAST, returnAST);			exprSingle_AST = (AST)currentAST.root;		}		else {			boolean synPredMatched60 = false;			if (((LA(1)==LITERAL_if))) {				int _m60 = mark();				synPredMatched60 = true;				inputState.guessing++;				try {					{					match(LITERAL_if);					match(LPAREN);					}				}				catch (RecognitionException pe) {					synPredMatched60 = false;				}				rewind(_m60);				inputState.guessing--;			}			if ( synPredMatched60 ) {				ifExpr();				astFactory.addASTChild(currentAST, returnAST);				exprSingle_AST = (AST)currentAST.root;			}			else if ((_tokenSet_4.member(LA(1)))) {				orExpr();				astFactory.addASTChild(currentAST, returnAST);				exprSingle_AST = (AST)currentAST.root;			}			else {				throw new NoViableAltException(LT(1), getFilename());			}			}			returnAST = exprSingle_AST;		}