next up previous
Next: Node * peel_while_loop (whileNode Up: Class Definition Previous: Node * at_loop (loopNode

Node * peel_loop (loopNode *);

// A loop may be either a for, while, or do.

Node * LoopPeelingChanger::peel_loop (loopNode *p) {

        // call the appropriate peeling functions depending on the type of 
        // this node

        switch (p->typ()) {
                case While:
                        return peel_while_loop ((whileNode *) p);
                case Do:
                        return peel_do_loop ((doNode *) p);
                case For:
                        return peel_for_loop ((forNode *) p);
                default:
                        fprintf (stderr, "unknown loop type!\n");
                        exit (0);
        }
}



Adam C. Brown 2006-01-26