tenua.symbol
Class Interpreted
java.lang.Object
tenua.symbol.Symbol
tenua.symbol.Interpreted
public class Interpreted
- extends Symbol
A Symbol that uses the BeanShell interpreter to evaluate itself
- Author:
- Daniel Wachsstock
Constructor Summary |
Interpreted(java.lang.String name,
int numArgs,
bsh.Interpreter interpreter)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Interpreted
public Interpreted(java.lang.String name,
int numArgs,
bsh.Interpreter interpreter)
eval
public void eval(DoubleStack s,
VariableMemento v)
- evaluate this symbol.
- Specified by:
eval
in class Symbol
- Parameters:
s
- the stack from which to pull arguments and to which
to push the result if and only if it is a Numberv
- ignored
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 resultsprecedenceStack
- 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