public class ReadTable extends RangeTable
Modifier and Type | Field and Description |
---|---|
static int |
CONSTITUENT |
static int |
defaultBracketMode
Default value to pass to setBracketMode() unless overridden.
|
int |
extraFlags |
protected boolean |
finalColonIsKeyword
True if "IDENTIFIER:" should be treated as a keyword.
|
protected boolean |
hexEscapeAfterBackslash
Control whether we should handle R6RS inline hex escape.
|
static int |
ILLEGAL
Kinds of characters.
|
protected boolean |
initialColonIsKeyword
True if ":IDENTIFIER" should be treated as a keyword.
|
static int |
MULTIPLE_ESCAPE |
static int |
NON_TERMINATING_MACRO |
char |
postfixLookupOperator
A character
X such that PreXWord -> ($lookup$ Pre 'Word) , if X > 0 . |
static int |
SINGLE_ESCAPE |
static int |
TERMINATING_MACRO |
static int |
WHITESPACE |
Constructor and Description |
---|
ReadTable() |
Modifier and Type | Method and Description |
---|---|
static ReadTable |
createInitial()
Create a new ReadTable and initialize it appropriately for Common Lisp.
|
static ReadTable |
getCurrent() |
java.lang.Object |
getReaderCtor(java.lang.String key)
Resolve a SRFI-10 constructor tags to a functions.
|
void |
initialize(boolean sharpIsTerminating) |
ReadTableEntry |
lookup(int ch) |
protected java.lang.Object |
makeSymbol(java.lang.String name) |
void |
putReaderCtor(java.lang.String key,
Procedure proc)
Add a mapping for a SRFI-10 constructor tag.
|
void |
putReaderCtor(java.lang.String key,
Type type)
Add a mapping for a SRFI-10 constructor tag.
|
void |
putReaderCtorFld(java.lang.String key,
java.lang.String cname,
java.lang.String fname)
Map a SRFI-10 constructor tag to Procedure-valued lazy field
|
void |
setBracketMode()
Specify how '[' and ']' are handled.
|
void |
setBracketMode(int mode)
Specify how
'[' and ']' (and '<' ) are handled. |
static void |
setCurrent(ReadTable rt) |
void |
setFinalColonIsKeyword(boolean whenFinal)
Set whether "IDENTIFIER:" should be treated as a keyword.
|
void |
setInitialColonIsKeyword(boolean whenInitial)
Set whether ":IDENTIFIER" should be treated as a keyword.
|
public static final int ILLEGAL
public static final int WHITESPACE
public static final int CONSTITUENT
public static final int SINGLE_ESCAPE
public static final int MULTIPLE_ESCAPE
public static final int TERMINATING_MACRO
public static final int NON_TERMINATING_MACRO
public static int defaultBracketMode
public char postfixLookupOperator
X
such that PreXWord -> ($lookup$ Pre 'Word)
, if X > 0
.protected boolean initialColonIsKeyword
protected boolean finalColonIsKeyword
public int extraFlags
protected boolean hexEscapeAfterBackslash
"\x"<hexdigits>";"
.public void setInitialColonIsKeyword(boolean whenInitial)
public void setFinalColonIsKeyword(boolean whenFinal)
public void initialize(boolean sharpIsTerminating)
public static ReadTable createInitial()
public void setBracketMode(int mode)
'['
and ']'
(and '<'
) are handled.
The value -2 means [a b c]
is ($bracket-list$ a b c)
and f[a b]
is ($bracket-apply$ f a b)
.
The value -1 means that '[' and ']' are plain token constituents.
The value 0 means that '[' and ']' are equivalent to '(' and ')'.
The value 1 means that '[' and ']' are equivalent to '(' and ')', except
within a token starting with '<',
in which case they are constituents.
This is so '['
is non-terminating when reading say '<char[]>'
public void setBracketMode()
public void putReaderCtor(java.lang.String key, Procedure proc)
public void putReaderCtor(java.lang.String key, Type type)
public void putReaderCtorFld(java.lang.String key, java.lang.String cname, java.lang.String fname)
public java.lang.Object getReaderCtor(java.lang.String key)
public static ReadTable getCurrent()
public static void setCurrent(ReadTable rt)
public ReadTableEntry lookup(int ch)
protected java.lang.Object makeSymbol(java.lang.String name)