sisc.exprs
Class AnnotatedExpr

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.data.Value
              extended by sisc.exprs.AnnotatedExpr
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, OptimisticHost, ExpressionVisitee, Version

public class AnnotatedExpr
extends Value
implements OptimisticHost

See Also:
Serialized Form

Field Summary
 Value annotation
           
 Expression expr
           
 Value stripped
           
 
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
AnnotatedExpr()
           
AnnotatedExpr(Expression expr, Value annotation)
           
 
Method Summary
 void alter(Interpreter r, int uexpPosition, Expression replaceWith)
          Instructs the host to replace the uExp referenced at the given (Expression dependent) position, with the given Expression.
 void deserialize(Deserializer s)
          All Expressions must implement a default (no-argument) constructor.
 void display(ValueWriter w)
           
 void eval(Interpreter r)
          Called to evaluate this value.
 Value express()
          A debugging function, express returns a Scheme value that describes this expression.
 Value getValue(Interpreter r)
          Called to obtain the value of this Value.
 void serialize(Serializer s)
          All Expressions must implement a default (no-argument) constructor.
 void setHosts()
           
 boolean visit(ExpressionVisitor v)
           
 
Methods inherited from class sisc.data.Value
apply, displayNamedOpaque, equals, eqv, 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

expr

public Expression expr

annotation

public Value annotation

stripped

public Value stripped
Constructor Detail

AnnotatedExpr

public AnnotatedExpr(Expression expr,
                     Value annotation)

AnnotatedExpr

public AnnotatedExpr()
Method Detail

setHosts

public void setHosts()
Specified by:
setHosts in interface OptimisticHost

eval

public final void eval(Interpreter r)
                throws ContinuationException
Description copied from class: Value
Called to evaluate this value. As Values ordinarily evaluate to themselves, this method simply sets acc to this.

Overrides:
eval in class Value
Parameters:
r - the Interpreter
Throws:
ContinuationException

getValue

public final Value getValue(Interpreter r)
                     throws ContinuationException
Description copied from class: Value
Called to obtain the value of this Value. Simply this.

Specified by:
getValue in interface Immediate
Overrides:
getValue in class Value
Parameters:
r - the Interpreter
Returns:
the immediate value of this expression, or null if the value cannot be obtained immediately.
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

display

public void display(ValueWriter w)
             throws java.io.IOException
Specified by:
display in class Value
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

visit

public boolean visit(ExpressionVisitor v)
Specified by:
visit in interface ExpressionVisitee
Overrides:
visit in class Expression

alter

public void alter(Interpreter r,
                  int uexpPosition,
                  Expression replaceWith)
Description copied from interface: OptimisticHost
Instructs the host to replace the uExp referenced at the given (Expression dependent) position, with the given Expression.

Specified by:
alter in interface OptimisticHost
uexpPosition - Expression dependent uExp index
replaceWith - Expression to revert to