org.armedbear.lisp
Class Readtable

java.lang.Object
  extended by org.armedbear.lisp.Lisp
      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  Readtable.DispatchTable[] dispatchTables
           
protected  LispObject[] readerMacroFunctions
           
protected  LispObject readtableCase
           
protected  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
           
 
Fields inherited from class org.armedbear.lisp.Lisp
_AUTOLOAD_VERBOSE_, _BACKQUOTE_COUNT_, _BATCH_MODE_, _BQ_VECTOR_FLAG_, _CL_PACKAGE_, _COMPILE_FILE_ENVIRONMENT_, _COMPILE_FILE_TYPE_, _COMPILE_FILE_ZIP_, _CURRENT_PRINT_LENGTH_, _CURRENT_PRINT_LEVEL_, _DEBUG_, _DISASSEMBLER_, _ENABLE_INLINE_EXPANSION_, _EXPLAIN_, _KEYWORD_PACKAGE_, _LOAD_DEPTH_, _LOAD_STREAM_, _NOINFORM_, _PRINT_FASL_, _PRINT_STRUCTURE_, _REQUIRE_STACK_FRAME_, _SAFETY_, _SAVED_BACKTRACE_, _SLOT_UNBOUND_, _SOURCE_, _SOURCE_POSITION_, _SPACE_, _SPEED_, _TRACED_NAMES_, _WARN_ON_REDEFINITION_, ARRAY_DIMENSION_MAX, CALL_REGISTERS_LIMIT, CALL_REGISTERS_MAX, CHAR_MAX, cold, COMPILE_FILE_TYPE, debug, EOF, FUNCTION_NAME, initialized, interrupted, NIL, NULL_VALUE, PACKAGE_CL, PACKAGE_CL_USER, PACKAGE_EXT, PACKAGE_JAVA, PACKAGE_JVM, PACKAGE_KEYWORD, PACKAGE_LOOP, PACKAGE_MOP, PACKAGE_PROF, PACKAGE_SYS, PACKAGE_TPL, profiling, REMEMBER, sampleNow, sampling, STANDARD_READTABLE, T, TRAP_OVERFLOW, TRAP_UNDERFLOW, UNBOUND_VALUE, UNSIGNED_BYTE_16, UNSIGNED_BYTE_32, UNSIGNED_BYTE_32_MAX_VALUE, UNSIGNED_BYTE_8
 
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, getInstance, getParts, getPropertyList, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValue, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolValue, incr, incrementCallCount, 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, 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, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, 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, writeToString, zerop, ZEROP
 
Methods inherited from class org.armedbear.lisp.Lisp
assq, bindArg, checkArray, checkBinaryInputStream, checkBounds, checkCharacter, checkCharacterInputStream, checkCharacterOutputStream, checkEnvironment, checkFunction, checkList, checkPackage, checkReadtable, checkStream, checkSymbol, checkVector, coerceJavaByteToLispObject, coerceLispObjectToJavaByte, coerceToFunction, coerceToPackage, coerceToPathname, currentReadtable, designator_readtable, error, error, eval, eval, evalCall, exit, exportConstant, exportSpecial, format, funcall, gensym, gensym, get, get, getCurrentPackage, getf, getStandardInput, getStandardOutput, getTerminalIO, getUpgradedArrayElementType, handleInterrupt, inSynonymOf, intern, internConstant, internInPackage, internKeyword, internSpecial, isValidSetfFunctionName, javaString, list, list1, list2, list3, list4, list5, list6, list7, list8, list9, loadCompiledFunction, loadTimeValue, macroexpand_1, macroexpand, makeCompiledClosure, memq, memql, mix, mod, multipleValueCall1, multipleValueList, number, number, number, progn, progvBindVars, put, putf, readObjectFromString, recall, remprop, resetIO, resetIO, safeWriteToString, setInterrupted, type_error, writeByte
 
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 byte[] syntax

readerMacroFunctions

protected final LispObject[] readerMacroFunctions

dispatchTables

protected final Readtable.DispatchTable[] dispatchTables

readtableCase

protected LispObject readtableCase
Constructor Detail

Readtable

public Readtable()

Readtable

public Readtable(LispObject obj)
          throws ConditionThrowable
Throws:
ConditionThrowable
Method Detail

initialize

protected void initialize()

typeOf

public LispObject typeOf()
Overrides:
typeOf in class LispObject

classOf

public LispObject classOf()
Overrides:
classOf in class LispObject

typep

public LispObject typep(LispObject type)
                 throws ConditionThrowable
Overrides:
typep in class LispObject
Throws:
ConditionThrowable

toString

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

getReadtableCase

public LispObject getReadtableCase()

isWhitespace

public boolean isWhitespace(char c)

getSyntaxType

public byte getSyntaxType(char c)

isInvalid

public boolean isInvalid(char c)

checkInvalid

public void checkInvalid(char c,
                         Stream stream)
                  throws ConditionThrowable
Throws:
ConditionThrowable

getReaderMacroFunction

public LispObject getReaderMacroFunction(char c)

getDispatchMacroCharacter

public LispObject getDispatchMacroCharacter(char dispChar,
                                            char subChar)
                                     throws ConditionThrowable
Throws:
ConditionThrowable

setDispatchMacroCharacter

public void setDispatchMacroCharacter(char dispChar,
                                      char subChar,
                                      LispObject function)
                               throws ConditionThrowable
Throws:
ConditionThrowable