opendap/src/main/java/opendap/servers/parsers/Ceparse.java
public boolean constraint_expression(CEEvaluator ceEval,
                                         BaseTypeFactory factory,
                                         ClauseFactory clauseFactory)
            throws DAP2Exception, ParseException
    {
        ServerDDS sdds = ceEval.getDDS();
        if (!parse()) return false;
        ast.init(ceEval,factory,clauseFactory,sdds,getASTnodeset());
        ast.walkConstraint();
        return true;
    }
public boolean constraint_expression(CEEvaluator ceEval,
                                         BaseTypeFactory factory,
                                         ClauseFactory clauseFactory)
            throws DAP2Exception, ParseException
    {
        ServerDDS sdds = ceEval.getDDS();
        if (!parse()) return false;
        ast.init(ceEval,factory,clauseFactory,sdds,getASTnodeset());
        ast.walkConstraint();
        return true;
    }
This parses, then fills in the evaluator from the AST