sisc.interpreter
Class CallFrame
java.lang.Object
sisc.util.Util
sisc.data.Expression
sisc.data.Value
sisc.data.Procedure
sisc.interpreter.CallFrame
- All Implemented Interfaces:
- java.io.Externalizable, java.io.Serializable, Immediate, ExpressionVisitee, Version
public class CallFrame
- extends Procedure
- See Also:
- Serialized Form
Fields inherited from class sisc.util.Util |
BACKQUOTE, BEGIN, bundles, caseSensitive, EMPTYLIST, EMPTYVEC, EOF, ERRORK, EVAL, EXPSC, EXPTOP, FALSE, FCONT, FIVE, JEXCEPTION, LAMBDA, LOCATION, maxFloatPrecision, MESSAGE, minFloatPrecision, NAME, OTHER, PARENT, permitInterrupts, QUOTE, QUOTESYM, REPORT, SETBANG, SISC, SISC_SPECIFIC, SISCB, SOURCE_COLUMN, SOURCE_FILE, SOURCE_LINE, SYMENV, THIS, TOPLEVEL, TRUE, UNQUOTE, UNQUOTE_SPLICING, VOID, ZV |
Method Summary |
void |
apply(Interpreter r)
Called when applying this procedure to a number of arguments in
the Interpreter's vlr register. |
CallFrame |
capture(Interpreter r)
|
void |
clear()
|
void |
deserialize(Deserializer s)
All Expressions must implement a default (no-argument) constructor. |
void |
display(ValueWriter w)
|
Value |
express()
A debugging function, express returns a Scheme value that describes
this expression. |
void |
init(Expression n,
Value[] v,
boolean vk,
Value[] l,
Value[] e,
SymbolicEnvironment t,
CallFrame f,
CallFrame p,
StackTracer tr)
|
void |
serialize(Serializer s)
All Expressions must implement a default (no-argument) constructor. |
boolean |
visit(ExpressionVisitor v)
|
static boolean |
visitValueArray(ExpressionVisitor v,
Value[] va)
|
Methods inherited from class sisc.data.Value |
displayNamedOpaque, equals, eqv, eval, getValue, synopsis, synopsis, toString, valueEqual, valueHashCode, write, writeReplace |
Methods inherited from class sisc.data.Expression |
deserializeAnnotations, getAnnotation, getAnnotation, getAnnotationKeys, getAnnotations, getName, readExternal, readResolve, serializeAnnotations, setAnnotation, setAnnotation, setName, visitAnnotations, writeExternal |
Methods inherited from class sisc.util.Util |
annotated, annotatedAppEval, append, argCheck, argsToSymbols, assq, bininport, bininstream, binoutport, binoutstream, box, character, charinport, charinreader, charoutport, charoutwriter, charsetFromString, chr, cont, currentClassLoader, env, error, error, error, error, error, error, error, expr, getDefaultCharacterSet, immutablePair, immutableVector, inport, javaExceptionToString, javaWrap, justify, length, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, list, list, list, list, list, makeURL, mapcar, memq, nlib, num, outport, pair, pairToExpressions, pairToExpVect, pairToValues, proc, read, registerBundle, reverse, reverseInPlace, simpleErrorToString, sourceAnnotations, str, string, sym, symbol, symval, truePair, truth, truth, typeError, typeError, updateName, url, url, url, valArrayToList, valArrayToList, valArrayToVec, vec, warn, warn, warn |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
nxp
public Expression nxp
vlr
public Value[] vlr
lcl
public Value[] lcl
env
public Value[] env
vlk
public boolean vlk
fk
public CallFrame fk
parent
public CallFrame parent
tpl
public SymbolicEnvironment tpl
tracer
public StackTracer tracer
CallFrame
public CallFrame(Expression n,
Value[] v,
boolean vk,
Value[] l,
Value[] e,
SymbolicEnvironment t,
CallFrame f,
CallFrame p,
StackTracer tr)
CallFrame
public CallFrame()
init
public final void init(Expression n,
Value[] v,
boolean vk,
Value[] l,
Value[] e,
SymbolicEnvironment t,
CallFrame f,
CallFrame p,
StackTracer tr)
clear
public final void clear()
capture
public final CallFrame capture(Interpreter r)
display
public void display(ValueWriter w)
throws java.io.IOException
- Specified by:
display
in class Value
- Throws:
java.io.IOException
visitValueArray
public static boolean visitValueArray(ExpressionVisitor v,
Value[] va)
visit
public boolean visit(ExpressionVisitor v)
- Specified by:
visit
in interface ExpressionVisitee
- Overrides:
visit
in class Expression
apply
public void apply(Interpreter r)
throws ContinuationException
- Description copied from class:
Procedure
- Called when applying this procedure to a number of arguments in
the Interpreter's vlr register. The code can return a
value by setting the Interpreter's acc register and/or
cause additional expressions to be evaluated by setting the
Interpreter's nxp register.
- Specified by:
apply
in class Procedure
- Parameters:
r
- the Interpreter
- Throws:
ContinuationException
express
public Value express()
- Description copied from class:
Expression
- A debugging function, express returns a Scheme value that describes
this expression. See examples in sisc.exprs.*
- Overrides:
express
in class Value
serialize
public void serialize(Serializer s)
throws java.io.IOException
- Description copied from class:
Expression
- All Expressions must implement a default (no-argument) constructor.
Those that wish to be serialized to a heap must implement both this
and the deserialize method. The Expression may use any method of
the Serializer, which implements java.io.DataOutput
to write its state.
- Overrides:
serialize
in class Expression
- Parameters:
s
- the Serializer
- Throws:
java.io.IOException
deserialize
public void deserialize(Deserializer s)
throws java.io.IOException
- Description copied from class:
Expression
- All Expressions must implement a default (no-argument) constructor.
Those that wish to b serialized to a heap must implement both this
and the serialize method. The Expression may use any method of the
DataInput stream and the Deserializer serialization context
to read its state.
- Overrides:
deserialize
in class Expression
- Parameters:
s
- the Deserializer
- Throws:
java.io.IOException