sisc.exprs.fp
Class FixedAppExp_0

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.exprs.fp.FixedAppExp_0
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, OptimisticExpression, ExpressionVisitee, Version
Direct Known Subclasses:
FixedAppExp_1

public class FixedAppExp_0
extends Expression
implements Immediate, OptimisticExpression

See Also:
Serialized Form

Field Summary
 OptimisticHost host
           
 FreeReference ref
           
 int uexpPosition
           
 
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
FixedAppExp_0()
           
FixedAppExp_0(FreeReference ref)
           
 
Method Summary
 void deserialize(Deserializer s)
          All Expressions must implement a default (no-argument) constructor.
 Value doGetValue(FixableProcedure proc, Interpreter r)
           
 void dropSafe()
          Called to clear the safe expressions
 void eval(Interpreter r)
          All expressions can be evaluated to some Scheme value.
 Value express()
          A debugging function, express returns a Scheme value that describes this expression.
 void forceRevert(Interpreter r)
           
 Expression[] getOperands()
           
 Value getValue(Interpreter r)
          If an expression implements the Immediate interface, it must override getValue, which returns as a Value, the immediate value of this expression.
 void revert(Interpreter r)
           
 void revert(Interpreter r, Expression[] rands)
           
 void revert(Interpreter r, Expression[] rands, int flags)
           
 void serialize(Serializer s)
          All Expressions must implement a default (no-argument) constructor.
 void setHost(OptimisticHost host, int uexpPos)
          Called to set up backward references to the hosts
 boolean visit(ExpressionVisitor v)
           
 
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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ref

public FreeReference ref

host

public OptimisticHost host

uexpPosition

public int uexpPosition
Constructor Detail

FixedAppExp_0

public FixedAppExp_0(FreeReference ref)

FixedAppExp_0

public FixedAppExp_0()
Method Detail

setHost

public void setHost(OptimisticHost host,
                    int uexpPos)
Description copied from interface: OptimisticExpression
Called to set up backward references to the hosts

Specified by:
setHost in interface OptimisticExpression

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

doGetValue

public Value doGetValue(FixableProcedure proc,
                        Interpreter r)
                 throws ContinuationException
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

getOperands

public Expression[] getOperands()

forceRevert

public final void forceRevert(Interpreter r)

revert

public final void revert(Interpreter r)

revert

public final void revert(Interpreter r,
                         Expression[] rands)

revert

public final void revert(Interpreter r,
                         Expression[] rands,
                         int flags)

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

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

visit

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

dropSafe

public void dropSafe()
Description copied from interface: OptimisticExpression
Called to clear the safe expressions

Specified by:
dropSafe in interface OptimisticExpression