opendap/src/main/java/opendap/servers/parsers/AST.java
public Clause translate()
        throws DAP2ServerSideException, DAP2Exception,
        NoSuchFunctionException, NoSuchVariableException
    {
        Clause clause = null;
        if(boolfcn != null)
            clause = boolfcn.translate();
        else {
            Vector<SubClause> cvtrhs = new Vector<SubClause>();
            for(ASTvalue v : rhs) cvtrhs.addElement(v.translate());
            SubClause lhsclause = lhs.translate();
            clause = getClauseFactory().newRelOpClause(operator, lhsclause, cvtrhs);
        }
        return clause;
    }
public Clause translate()
        throws DAP2ServerSideException, DAP2Exception,
        NoSuchFunctionException, NoSuchVariableException
    {
        Clause clause = null;
        if(boolfcn != null)
            clause = boolfcn.translate();
        else {
            Vector<SubClause> cvtrhs = new Vector<SubClause>();
            for(ASTvalue v : rhs) cvtrhs.addElement(v.translate());
            SubClause lhsclause = lhs.translate();
            clause = getClauseFactory().newRelOpClause(operator, lhsclause, cvtrhs);
        }
        return clause;
    }
/*
public String toString()
{
if(boolfcn != null) {
return "&"+boolfcn.toString();
} else {
StringBuilder buf = new StringBuilder("&");
buf.append(lhs.toString());
buf.append(operatorString(operator));
boolean first = true;
if (rhs.size() > 1) buf.append("{");
if (rhs != null)
for(ASTvalue value : rhs) {
buf.append((first ? "" : ",") + value.toString());
first = false;
}
if (rhs.size() > 1) buf.append("}");
return buf.toString();
}
}