org.armedbear.lisp
Class Environment

java.lang.Object
  extended by org.armedbear.lisp.LispObject
      extended by org.armedbear.lisp.Environment

public final class Environment
extends LispObject


Field Summary
static Primitive ENVIRONMENT_ADD_FUNCTION_DEFINITION
           
static Primitive ENVIRONMENT_ADD_MACRO_DEFINITION
           
static Primitive ENVIRONMENT_ADD_SYMBOL_BINDING
           
 boolean inactive
           
static Primitive MAKE_ENVIRONMENT
           
 
Constructor Summary
Environment()
           
Environment(Environment parent)
           
Environment(Environment parent, Symbol symbol, LispObject value)
           
 
Method Summary
 void addBlock(LispObject symbol, LispObject block)
           
 void addFunctionBinding(LispObject name, LispObject value)
           
 void addTagBinding(LispObject tag, LispObject code)
           
 void bind(Symbol symbol, LispObject value)
           
 LispObject classOf()
           
 void declareSpecial(Symbol var)
           
 org.armedbear.lisp.Binding getBinding(LispObject symbol)
           
 org.armedbear.lisp.Binding getBlockBinding(LispObject block)
           
 org.armedbear.lisp.Binding getTagBinding(LispObject tag)
           
 boolean isDeclaredSpecial(Symbol var)
          Return true if a symbol is declared special.
 boolean isEmpty()
           
 LispObject lookup(LispObject symbol)
           
 LispObject lookupBlock(LispObject symbol)
           
 LispObject lookupFunction(LispObject name)
           
 java.lang.String printObject()
           
 LispObject processDeclarations(LispObject body)
           
 void rebind(Symbol symbol, LispObject value)
           
 LispObject typeOf()
           
 LispObject typep(LispObject type)
           
 
Methods inherited from class org.armedbear.lisp.LispObject
ABS, add, add, aref_long, aref, AREF, AREF, aset, aset, aset, ash, ash, atom, ATOM, caddr, cadr, car, cddr, cdr, CHAR, characterp, CHARACTERP, chars, COMPLEXP, constantp, CONSTANTP, copyToArray, decr, DENOMINATOR, dispatch, divideBy, doubleValue, elt, endp, ENDP, EQ, eql, eql, eql, EQL, equal, equal, EQUAL, equalp, equalp, evenp, EVENP, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, floatp, FLOATP, floatValue, getBooleanValue, getCallCount, getDescription, getDocumentation, getFixnumSlotValue, getHotCount, getInstance, getParts, getPropertyList, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValue, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolSetfFunction, getSymbolSetfFunctionOrDie, getSymbolValue, incr, incrementCallCount, incrementHotCount, integerp, INTEGERP, intValue, IS_E, IS_GE, IS_GT, IS_LE, IS_LT, IS_NE, isEqualTo, isEqualTo, isGreaterThan, isGreaterThan, isGreaterThanOrEqualTo, isGreaterThanOrEqualTo, isLessThan, isLessThan, isLessThanOrEqualTo, isLessThanOrEqualTo, isNotEqualTo, isNotEqualTo, isSpecialOperator, isSpecialVariable, javaInstance, javaInstance, LDB, length, LENGTH, listp, LISTP, lockableInstance, LOGAND, LOGAND, LOGIOR, LOGIOR, LOGNOT, LOGXOR, LOGXOR, longValue, minusp, MINUSP, MOD, MOD, multiplyBy, multiplyBy, negate, noFillPointer, NOT, nreverse, NTH, NTH, nthcdr, numberp, NUMBERP, NUMERATOR, oddp, ODDP, plusp, PLUSP, princToString, psxhash, psxhash, push, rationalp, RATIONALP, realp, REALP, resolve, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, setHotCount, setPropertyList, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, setSlotValue, setSlotValue, SIMPLE_STRING_P, SLOT_VALUE, STRING, stringp, STRINGP, subtract, subtract, SVREF, svset, sxhash, SYMBOLP, truncate, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inactive

public boolean inactive

MAKE_ENVIRONMENT

public static final Primitive MAKE_ENVIRONMENT

ENVIRONMENT_ADD_MACRO_DEFINITION

public static final Primitive ENVIRONMENT_ADD_MACRO_DEFINITION

ENVIRONMENT_ADD_FUNCTION_DEFINITION

public static final Primitive ENVIRONMENT_ADD_FUNCTION_DEFINITION

ENVIRONMENT_ADD_SYMBOL_BINDING

public static final Primitive ENVIRONMENT_ADD_SYMBOL_BINDING
Constructor Detail

Environment

public Environment()

Environment

public Environment(Environment parent)

Environment

public Environment(Environment parent,
                   Symbol symbol,
                   LispObject value)
Method Detail

typeOf

public LispObject typeOf()
Overrides:
typeOf in class LispObject

classOf

public LispObject classOf()
Overrides:
classOf in class LispObject

typep

public LispObject typep(LispObject type)
Overrides:
typep in class LispObject

isEmpty

public boolean isEmpty()

bind

public void bind(Symbol symbol,
                 LispObject value)

rebind

public void rebind(Symbol symbol,
                   LispObject value)

lookup

public LispObject lookup(LispObject symbol)

getBinding

public org.armedbear.lisp.Binding getBinding(LispObject symbol)

addFunctionBinding

public void addFunctionBinding(LispObject name,
                               LispObject value)

lookupFunction

public LispObject lookupFunction(LispObject name)

addBlock

public void addBlock(LispObject symbol,
                     LispObject block)

lookupBlock

public LispObject lookupBlock(LispObject symbol)

getBlockBinding

public org.armedbear.lisp.Binding getBlockBinding(LispObject block)

addTagBinding

public void addTagBinding(LispObject tag,
                          LispObject code)

getTagBinding

public org.armedbear.lisp.Binding getTagBinding(LispObject tag)

processDeclarations

public LispObject processDeclarations(LispObject body)

declareSpecial

public void declareSpecial(Symbol var)

isDeclaredSpecial

public boolean isDeclaredSpecial(Symbol var)
Return true if a symbol is declared special. If there is no binding in the current (lexical) environment, the current dynamic environment (thread) is checked.


printObject

public java.lang.String printObject()
Overrides:
printObject in class LispObject