sisc.env
Class MemorySymEnv

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.data.Value
              extended by sisc.env.MemorySymEnv
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, NamedValue, SymbolicEnvironment, ExpressionVisitee, Version
Direct Known Subclasses:
LibraryAE

public class MemorySymEnv
extends Value
implements SymbolicEnvironment, NamedValue

See Also:
Serialized Form

Field Summary
 Value[] env
           
protected static float EXPFACT
           
protected  int nextFree
           
 SymbolicEnvironment parent
           
 java.util.Map sidecars
           
 java.util.Map symbolMap
           
 
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
MemorySymEnv()
           
MemorySymEnv(Symbol name)
           
MemorySymEnv(SymbolicEnvironment parent)
           
MemorySymEnv(SymbolicEnvironment parent, Symbol name)
           
 
Method Summary
 Value asValue()
           
 int define(Symbol s, Value v)
           
 void deserialize(Deserializer s)
          All Expressions must implement a default (no-argument) constructor.
 void deserializeSidecar(Deserializer s)
           
 void display(ValueWriter w)
           
protected  void expand()
           
 int getLoc(Symbol s)
           
 SymbolicEnvironment getParent()
           
 SymbolicEnvironment getSidecarEnvironment(Symbol name)
           
 Value lookup(int pi)
           
 Value lookup(Symbol s)
           
 void serialize(Serializer s)
          All Expressions must implement a default (no-argument) constructor.
 void serializeSidecar(Serializer s)
           
 void set(int envLoc, Value v)
           
 void setParent(SymbolicEnvironment e)
           
protected  int store(Symbol s, Value v)
           
 void trim()
           
 void undefine(Symbol s)
           
 boolean visit(ExpressionVisitor v)
           
 boolean visitSidecar(ExpressionVisitor v)
           
 
Methods inherited from class sisc.data.Value
apply, displayNamedOpaque, equals, eqv, eval, express, 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
 
Methods inherited from interface sisc.env.SymbolicEnvironment
getName, setName
 
Methods inherited from interface sisc.data.NamedValue
getName, setName
 

Field Detail

EXPFACT

protected static final float EXPFACT
See Also:
Constant Field Values

symbolMap

public java.util.Map symbolMap

sidecars

public java.util.Map sidecars

env

public Value[] env

parent

public SymbolicEnvironment parent

nextFree

protected int nextFree
Constructor Detail

MemorySymEnv

public MemorySymEnv(SymbolicEnvironment parent)

MemorySymEnv

public MemorySymEnv(SymbolicEnvironment parent,
                    Symbol name)

MemorySymEnv

public MemorySymEnv(Symbol name)

MemorySymEnv

public MemorySymEnv()
Method Detail

asValue

public Value asValue()
Specified by:
asValue in interface SymbolicEnvironment

getSidecarEnvironment

public SymbolicEnvironment getSidecarEnvironment(Symbol name)
Specified by:
getSidecarEnvironment in interface SymbolicEnvironment

setParent

public void setParent(SymbolicEnvironment e)
Specified by:
setParent in interface SymbolicEnvironment

getParent

public SymbolicEnvironment getParent()
Specified by:
getParent in interface SymbolicEnvironment

expand

protected void expand()

trim

public void trim()

set

public void set(int envLoc,
                Value v)
Specified by:
set in interface SymbolicEnvironment

define

public int define(Symbol s,
                  Value v)
Specified by:
define in interface SymbolicEnvironment

store

protected int store(Symbol s,
                    Value v)

getLoc

public int getLoc(Symbol s)
Specified by:
getLoc in interface SymbolicEnvironment

lookup

public Value lookup(Symbol s)
Specified by:
lookup in interface SymbolicEnvironment

lookup

public final Value lookup(int pi)
Specified by:
lookup in interface SymbolicEnvironment

undefine

public void undefine(Symbol s)
Specified by:
undefine in interface SymbolicEnvironment

display

public void display(ValueWriter w)
             throws java.io.IOException
Specified by:
display in class Value
Throws:
java.io.IOException

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.

Specified by:
serialize in interface SymbolicEnvironment
Overrides:
serialize in class Expression
Parameters:
s - the Serializer
Throws:
java.io.IOException

serializeSidecar

public void serializeSidecar(Serializer s)
                      throws java.io.IOException
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.

Specified by:
deserialize in interface SymbolicEnvironment
Overrides:
deserialize in class Expression
Parameters:
s - the Deserializer
Throws:
java.io.IOException

deserializeSidecar

public void deserializeSidecar(Deserializer s)
                        throws java.io.IOException
Throws:
java.io.IOException

visit

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

visitSidecar

public boolean visitSidecar(ExpressionVisitor v)