protected void
    compileAST(CEAST ast)
            throws DapException
    {
        switch (ast.sort) {
        case CONSTRAINT:
            for(CEAST clause : ast.clauses) {
                compileAST(clause);
            }
            // invoke semantic checks
            this.ce.expand();
            this.ce.finish();
            break;
        case PROJECTION:
            scopestack.clear();
            compileAST(ast.tree);
            break;
        case SEGMENT:
            compilesegment(ast);
            break;
        case SELECTION:
            scopestack.clear();
            compileselection(ast);
            break;
        case DEFINE:
            dimredef(ast);
            break;
        default:
            assert false : "uknown CEAST node type";
        }
    }
protected void
    compileAST(CEAST ast)
            throws DapException
    {
        switch (ast.sort) {
        case CONSTRAINT:
            for(CEAST clause : ast.clauses) {
                compileAST(clause);
            }
            
            this.ce.expand();
            this.ce.finish();
            break;
        case PROJECTION:
            scopestack.clear();
            compileAST(ast.tree);
            break;
        case SEGMENT:
            compilesegment(ast);
            break;
        case SELECTION:
            scopestack.clear();
            compileselection(ast);
            break;
        case DEFINE:
            dimredef(ast);
            break;
        default:
            assert false : "uknown CEAST node type";
        }
    }
protected void compileAST ( CEAST ast ) throws DapException { switch ( ast . sort ) { case CONSTRAINT : for ( CEAST clause : ast . clauses ) { compileAST ( clause ) ; } // invoke semantic checks this . ce . expand ( ) ; this . ce . finish ( ) ; break ; case PROJECTION : scopestack . clear ( ) ; compileAST ( ast . tree ) ; break ; case SEGMENT : compilesegment ( ast ) ; break ; case SELECTION : scopestack . clear ( ) ; compileselection ( ast ) ; break ; case DEFINE : dimredef ( ast ) ; break ; default : assert false : "uknown CEAST node type" ; } }
Recursive AST walker; compilation of filters is done elsewhere.
Recursive AST walker ; compilation of filters is done elsewhere .