tenua.symbol
Class Assignment

java.lang.Object
  extended by tenua.symbol.Symbol
      extended by tenua.symbol.Assignment

public class Assignment
extends Symbol

A Symbol that handles assignment to a variable from the stack

Author:
Daniel Wachsstock

Field Summary
 
Fields inherited from class tenua.symbol.Symbol
CLEAR_STACK, maxPrecedence
 
Method Summary
 void eval(DoubleStack s, VariableMemento v)
          assigns a value to the stored variable
 Variable getTarget()
           
 java.lang.String toString()
           
 void toString(java.util.Stack stringStack, java.util.Stack precedenceStack, SymbolTable st)
          pushes a StringBuffer that reflects this Symbol, with all its arguments
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

eval

public void eval(DoubleStack s,
                 VariableMemento v)
assigns a value to the stored variable

Specified by:
eval in class Symbol
Parameters:
s - the stack to pop the value from
v - the memento to have the variable use

getTarget

public Variable getTarget()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toString

public void toString(java.util.Stack stringStack,
                     java.util.Stack precedenceStack,
                     SymbolTable st)
Description copied from class: Symbol
pushes a StringBuffer that reflects this Symbol, with all its arguments

Overrides:
toString in class Symbol
Parameters:
stringStack - the stack of StringBuffer from which to pop arguments and to which to push results
precedenceStack - a stack to be push'ed and pop'ed in parallel with stringStack that contains Integers, corresponding to the precedence of the arguments onstringStack. This is used to determine placement of parentheses. Anything other than a binary operation should push Symbol.maxPrecedence
st - the SymbolTable to get Symbol names from Note: the name is a misnomer; it uses StringBuffer's, not String's