if ( inputState.guessing==0 ) { letVarBinding_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root; letVarBinding_AST= (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(VARIABLE_BINDING,varName)).add(letVarBinding_AST)); currentAST.root = letVarBinding_AST; currentAST.child = letVarBinding_AST!=null &&letVarBinding_AST.getFirstChild()!=null ? letVarBinding_AST.getFirstChild() : letVarBinding_AST; currentAST.advanceChildToEnd(); }
break; } case COLON: { break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } match(COLON); match(EQ); exprSingle(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) {
	public final void letVarBinding() throws RecognitionException, TokenStreamException {				traceIn("letVarBinding");		try { // debugging			returnAST = null;			ASTPair currentAST = new ASTPair();			org.exist.xquery.parser.XQueryAST letVarBinding_AST = null;			String varName;						match(DOLLAR);			varName=qName();			{			switch ( LA(1)) {			case LITERAL_as:			{				typeDeclaration();				astFactory.addASTChild(currentAST, returnAST);				break;			}			case COLON:			{				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			match(COLON);			match(EQ);			exprSingle();			astFactory.addASTChild(currentAST, returnAST);			if ( inputState.guessing==0 ) {				letVarBinding_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				letVarBinding_AST= (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(VARIABLE_BINDING,varName)).add(letVarBinding_AST));				currentAST.root = letVarBinding_AST;				currentAST.child = letVarBinding_AST!=null &&letVarBinding_AST.getFirstChild()!=null ?					letVarBinding_AST.getFirstChild() : letVarBinding_AST;				currentAST.advanceChildToEnd();			}			letVarBinding_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			returnAST = letVarBinding_AST;		} finally { // debugging			traceOut("letVarBinding");		}	}