sisc.exprs
Class FreeReferenceExp
java.lang.Object
sisc.util.Util
sisc.data.Expression
sisc.exprs.FreeReferenceExp
- All Implemented Interfaces:
- java.io.Externalizable, java.io.Serializable, Immediate, ExpressionVisitee, Version
public class FreeReferenceExp
- extends Expression
- implements Immediate
- 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 |
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, notify, notifyAll, toString, wait, wait, wait |
FreeReferenceExp
public FreeReferenceExp(FreeReference ref)
FreeReferenceExp
public FreeReferenceExp(Symbol sym,
SymbolicEnvironment senv)
FreeReferenceExp
public FreeReferenceExp()
getSym
public Symbol getSym()
eval
public void eval(Interpreter r)
throws ContinuationException
- Description copied from class:
Expression
- All expressions can be evaluated to some Scheme value. This function
implements the exact manner in which an expression is evaluated.
An expression, when evaluated, performs some action that results
in its value being placed in the acc register of the given
Interpreter.
An expression that immediately evaluates to a value (i.e. does not
require that an additional expression be evaluated to obtain its
value) must clear the nxp register by setting it to
null.
Otherwise, nxp should be set to the expression that is to
be evaluated next before this method returns.
- Specified by:
eval
in class Expression
- Parameters:
r
- the Interpreter
- Throws:
ContinuationException
getValue
public Value getValue(Interpreter r)
throws ContinuationException
- Description copied from class:
Expression
- If an expression implements the Immediate interface, it must
override getValue, which returns as a Value, the immediate value
of this expression.
- Specified by:
getValue
in interface Immediate
- Overrides:
getValue
in class Expression
- Parameters:
r
- the Interpreter
- Returns:
- the immediate value of this expression, or null if the value
cannot be obtained immediately.
- Throws:
ContinuationException
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
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.*
- Specified by:
express
in class Expression
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
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
visit
public boolean visit(ExpressionVisitor v)
- Specified by:
visit
in interface ExpressionVisitee
- Overrides:
visit
in class Expression
getReference
public FreeReference getReference()