org.armedbear.lisp
Class Readtable

java.lang.Object
  extended by org.armedbear.lisp.LispObject
      extended by org.armedbear.lisp.Readtable
Direct Known Subclasses:
FaslReadtable

public class Readtable
extends LispObject


Nested Class Summary
protected static class Readtable.DispatchTable
           
 
Field Summary
protected  CharHashMap<Readtable.DispatchTable> dispatchTables
           
protected  CharHashMap<LispObject> readerMacroFunctions
           
protected  LispObject readtableCase
           
protected  CharHashMap<java.lang.Byte> syntax
           
static byte SYNTAX_TYPE_CONSTITUENT
           
static byte SYNTAX_TYPE_MULTIPLE_ESCAPE
           
static byte SYNTAX_TYPE_NON_TERMINATING_MACRO
           
static byte SYNTAX_TYPE_SINGLE_ESCAPE
           
static byte SYNTAX_TYPE_TERMINATING_MACRO
           
static byte SYNTAX_TYPE_WHITESPACE
           
 
Constructor Summary
Readtable()
           
Readtable(LispObject obj)
           
 
Method Summary
 void checkInvalid(char c, Stream stream)
           
 LispObject classOf()
           
 LispObject getDispatchMacroCharacter(char dispChar, char subChar)
           
 LispObject getReaderMacroFunction(char c)
           
 LispObject getReadtableCase()
           
 byte getSyntaxType(char c)
           
protected  void initialize()
           
 boolean isInvalid(char c)
           
 boolean isWhitespace(char c)
           
 void setDispatchMacroCharacter(char dispChar, char subChar, LispObject function)
           
 java.lang.String toString()
           
 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, 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, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, writeToString, zerop, ZEROP
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SYNTAX_TYPE_CONSTITUENT

public static final byte SYNTAX_TYPE_CONSTITUENT
See Also:
Constant Field Values

SYNTAX_TYPE_WHITESPACE

public static final byte SYNTAX_TYPE_WHITESPACE
See Also:
Constant Field Values

SYNTAX_TYPE_TERMINATING_MACRO

public static final byte SYNTAX_TYPE_TERMINATING_MACRO
See Also:
Constant Field Values

SYNTAX_TYPE_NON_TERMINATING_MACRO

public static final byte SYNTAX_TYPE_NON_TERMINATING_MACRO
See Also:
Constant Field Values

SYNTAX_TYPE_SINGLE_ESCAPE

public static final byte SYNTAX_TYPE_SINGLE_ESCAPE
See Also:
Constant Field Values

SYNTAX_TYPE_MULTIPLE_ESCAPE

public static final byte SYNTAX_TYPE_MULTIPLE_ESCAPE
See Also:
Constant Field Values

syntax

protected final CharHashMap<java.lang.Byte> syntax

readerMacroFunctions

protected final CharHashMap<LispObject> readerMacroFunctions

dispatchTables

protected final CharHashMap<Readtable.DispatchTable> dispatchTables

readtableCase

protected LispObject readtableCase
Constructor Detail

Readtable

public Readtable()

Readtable

public Readtable(LispObject obj)
Method Detail

initialize

protected void initialize()

typeOf

public final LispObject typeOf()
Overrides:
typeOf in class LispObject

classOf

public final LispObject classOf()
Overrides:
classOf in class LispObject

typep

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

toString

public final java.lang.String toString()
Overrides:
toString in class java.lang.Object

getReadtableCase

public final LispObject getReadtableCase()

isWhitespace

public final boolean isWhitespace(char c)

getSyntaxType

public final byte getSyntaxType(char c)

isInvalid

public final boolean isInvalid(char c)

checkInvalid

public final void checkInvalid(char c,
                               Stream stream)

getReaderMacroFunction

public final LispObject getReaderMacroFunction(char c)

getDispatchMacroCharacter

public final LispObject getDispatchMacroCharacter(char dispChar,
                                                  char subChar)

setDispatchMacroCharacter

public final void setDispatchMacroCharacter(char dispChar,
                                            char subChar,
                                            LispObject function)