|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjsint.Symbol
public class Symbol
In Jscheme 1.0 to 1.4, symbols were implemented as Strings. In 1.5, we add a Symbol class, with a field for the global value. This makes global lookup faster, but limits us to only one global environment.
Field Summary | |
---|---|
static Symbol |
BEGIN
|
static Symbol |
CAR
|
static Symbol |
CDR
|
static Symbol |
DEFINE
|
static Symbol |
IF
|
static Symbol |
LAMBDA
|
static Symbol |
MACRO
|
static Symbol |
NEWLINE
|
static Symbol |
NULL
|
static Symbol |
OR
|
static Symbol |
PACKAGE
|
static Symbol |
QUASIQUOTE
|
static Symbol |
QUOTE
|
static Symbol |
SET
|
static Symbol |
SPACE
|
static java.util.Hashtable |
symbolTable
The symbolTable keeps a unique mapping from String name to Symbol. |
static Symbol |
UNQUOTE
|
static Symbol |
UNQUOTE_SPLICING
|
Method Summary | |
---|---|
java.lang.Object |
getGlobalValue()
Getting the value of an undefined SchemeSymbol throws a SchemeException |
static Symbol |
intern(java.lang.String name)
Intern a string: look up or make a symbol. |
boolean |
isDefined()
SchemeSymbols are initially undefined. |
java.lang.Object |
setGlobalValue(java.lang.Object newval)
The value can be set to anything |
java.lang.String |
toString()
A symbol can be printed using its name. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.util.Hashtable symbolTable
public static final Symbol BEGIN
public static final Symbol CAR
public static final Symbol CDR
public static final Symbol DEFINE
public static final Symbol IF
public static final Symbol LAMBDA
public static final Symbol MACRO
public static final Symbol NEWLINE
public static final Symbol NULL
public static final Symbol OR
public static final Symbol QUASIQUOTE
public static final Symbol QUOTE
public static final Symbol SET
public static final Symbol SPACE
public static final Symbol UNQUOTE
public static final Symbol UNQUOTE_SPLICING
public static final Symbol PACKAGE
Method Detail |
---|
public static Symbol intern(java.lang.String name)
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object getGlobalValue()
SchemeSymbol
getGlobalValue
in interface SchemeSymbol
public java.lang.Object setGlobalValue(java.lang.Object newval)
SchemeSymbol
setGlobalValue
in interface SchemeSymbol
public boolean isDefined()
SchemeSymbol
isDefined
in interface SchemeSymbol
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |