/** Saves a copy of the item on the stack at depth to var. */ Node saveCopy(Symbol var, int depth); /** Loads var on the stack at delve. */ Node loadTemp(Symbol var, int delve); /** Stores var from the stack at delve. */ Node storeTemp(Symbol var, int delve); Node virtualNode(int op, Symbol s, int depth); /** Returns a STACKP node, for TOS */ Node TOS(Symbol s, int depth); Node dropTop(int temp, int depth); Node storeTop(int temp, int depth); Node storeToStack(Symbol s, int index, int depth); void popTemp(Symbol temp, Block b); void pushTemp(Symbol temp, Block b); /** Returns a STACKP node. * var - The variable. * index - Location on stack, 1 is TOS. * depth - Stack depth before this node */ Node stackReg(Symbol var, int index, int depth); Node dummyToStack(Symbol s, int index);