sisc.interpreter
Class CallFrame

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.data.Value
              extended by sisc.data.Procedure
                  extended by sisc.interpreter.CallFrame
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, ExpressionVisitee, Version

public class CallFrame
extends Procedure

See Also:
Serialized Form

Field Summary
 Value[] env
           
 CallFrame fk
           
 Value[] lcl
           
 Expression nxp
           
 CallFrame parent
           
 SymbolicEnvironment tpl
           
 StackTracer tracer
           
 boolean vlk
           
 Value[] vlr
           
 
Fields inherited from class sisc.data.Expression
annotations, EMPTYSET
 
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
 
Fields inherited from interface sisc.util.Version
VERSION
 
Constructor Summary
CallFrame()
           
CallFrame(Expression n, Value[] v, boolean vk, Value[] l, Value[] e, SymbolicEnvironment t, CallFrame f, CallFrame p, StackTracer tr)
           
 
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.Procedure
error, throwArgSizeException, throwNestedPrimException, throwNestedPrimException, throwPrimException
 
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
 

Field Detail

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
Constructor Detail

CallFrame

public CallFrame(Expression n,
                 Value[] v,
                 boolean vk,
                 Value[] l,
                 Value[] e,
                 SymbolicEnvironment t,
                 CallFrame f,
                 CallFrame p,
                 StackTracer tr)

CallFrame

public CallFrame()
Method Detail

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