sisc.exprs
Class LetrecExp

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

public class LetrecExp
extends AppExp

See Also:
Serialized Form

Field Summary
 
Fields inherited from class sisc.exprs.AppExp
allImmediate, exp, l, nxp, POS_EXP, POS_NXP, rands
 
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
LetrecExp()
           
LetrecExp(Expression exp, Expression[] rands, Expression nxp, int[] localIndices, int[] lexicalIndices, boolean allImmediate)
           
 
Method Summary
 void deserialize(Deserializer s)
          All Expressions must implement a default (no-argument) constructor.
 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 serialize(Serializer s)
          All Expressions must implement a default (no-argument) constructor.
 
Methods inherited from class sisc.exprs.AppExp
alter, setHosts, visit
 
Methods inherited from class sisc.data.Expression
deserializeAnnotations, getAnnotation, getAnnotation, getAnnotationKeys, getAnnotations, getName, getValue, 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
 

Constructor Detail

LetrecExp

public LetrecExp(Expression exp,
                 Expression[] rands,
                 Expression nxp,
                 int[] localIndices,
                 int[] lexicalIndices,
                 boolean allImmediate)

LetrecExp

public LetrecExp()
Method Detail

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.

Overrides:
eval in class AppExp
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 AppExp

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 AppExp
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 AppExp
Parameters:
s - the Deserializer
Throws:
java.io.IOException