| java.lang.Object EDU.purdue.cs.bloat.tree.OperandStack
OperandStack | public class OperandStack (Code) | | OperandStack is used to simulate the JVM stack. A stack of
expressions is maintained. OperandStack has methods to push and
pop (both wide and non-wide) expressions, replace an expression at a given
depth in the stack, peek into the stack, etc.
See Also: Expr See Also: Tree |
Method Summary | |
public Expr | get(int index) Returns the expression at index from the bottom of the stack. | public int | height() | public boolean | isEmpty() | public Expr | peek() Returns the expression at the top of the stack, but does not modify the
stack. | public Expr | peek(int depth) Get the expression that is depth expressions from the top of the stack,
but do not modify the stack.
Parameters: depth - Number of expressions deep to get. | public Expr | pop(Type type) Pops an operand off the stack. | public Expr | pop1() Pops a non-wide expression off the stack. | public Expr[] | pop2() Pops a (possibly) wide expression off of the stack and returns the result
as an array of Expr. | public void | push(Expr expr) Push an expression onto the stack. | public void | replace(int depth, Expr expr) Replaces the expression that is depth expressions from the top of the
stack. | public void | set(int index, Expr expr) | public int | size() Returns the number of expressions on the stack. | public String | toString() Returns a String represntation of this stack. |
OperandStack | public OperandStack()(Code) | | Constructor.
|
get | public Expr get(int index)(Code) | | Returns the expression at index from the bottom of the stack.
|
height | public int height()(Code) | | The number of elements in the stack. |
isEmpty | public boolean isEmpty()(Code) | | True, if the stack is empty. |
peek | public Expr peek()(Code) | | Returns the expression at the top of the stack, but does not modify the
stack.
|
peek | public Expr peek(int depth)(Code) | | Get the expression that is depth expressions from the top of the stack,
but do not modify the stack.
Parameters: depth - Number of expressions deep to get. The expression that is depth expression from the top of thestack. |
pop | public Expr pop(Type type)(Code) | | Pops an operand off the stack. Checks to make sure the top of the stack
is of the expected Type.
Parameters: type - The expected Type of the top of the stack Expression on the top of the stack |
pop1 | public Expr pop1()(Code) | | Pops a non-wide expression off the stack.
|
pop2 | public Expr[] pop2()(Code) | | Pops a (possibly) wide expression off of the stack and returns the result
as an array of Expr. If the expression at the top of the
stack is indeed wide, it is returned in element [0] of the array. If the
expression at the top of the stack is not wide, the top two
expressions are returned in the array as elements 0 and 1.
|
replace | public void replace(int depth, Expr expr)(Code) | | Replaces the expression that is depth expressions from the top of the
stack.
Parameters: depth - The number of expressions from the top of the stack. Parameters: expr - The new expression |
set | public void set(int index, Expr expr)(Code) | | Sets the entry at a specified index from the bottom of the stack
Parameters: index - The position in the stack. Parameters: expr - The new value of the expression. |
size | public int size()(Code) | | Returns the number of expressions on the stack.
|
toString | public String toString()(Code) | | Returns a String represntation of this stack.
|
|
|