Modifier and Type | Field and Description |
---|---|
static Symbol |
bracket_apply_sym |
static Symbol |
bracket_list_sym |
static Namespace |
constructNamespace |
protected ReadTable |
defaultReadTable
The default
ReadTable for this language. |
static SimpleSymbol |
dots3_sym |
static Namespace |
entityNamespace |
static StaticFieldLocation |
getNamedPartLocation |
static Symbol |
lookup_sym
Used for Kawa infix ':' operator.
|
static java.lang.String |
quasiquote_str |
static Symbol |
quasiquote_sym |
static java.lang.String |
quote_str |
static java.lang.String |
splice_colon_str |
static Symbol |
splice_colon_sym |
static java.lang.String |
splice_str |
static Symbol |
splice_sym |
static Namespace |
unitNamespace
The unit namespace contains the bindings for symbols such as `cm',
`s', etc.
|
static java.lang.String |
unquote_str |
static java.lang.String |
unquotesplicing_str |
current, environ, FUNCTION_NAMESPACE, global, NAMESPACE_PREFIX_NAMESPACE, PARSE_CURRENT_NAMES, PARSE_EMIT_MAIN, PARSE_EXPLICIT, PARSE_FOR_APPLET, PARSE_FOR_EVAL, PARSE_FOR_LINT, PARSE_FOR_SERVLET, PARSE_IMMEDIATE, PARSE_INTERACTIVE_MODULE, PARSE_ONE_LINE, PARSE_PROLOG, requirePedantic, userEnv, VALUE_NAMESPACE
Constructor and Description |
---|
LispLanguage() |
Modifier and Type | Method and Description |
---|---|
abstract ReadTable |
createReadTable()
Create a fresh
ReadTable appropriate for this language. |
Declaration |
declFromField(ModuleExp mod,
java.lang.Object fvalue,
Field fld) |
static Type |
decodeArrayType(java.lang.String name) |
protected void |
defSntxStFld(java.lang.String name,
java.lang.String cname) |
protected void |
defSntxStFld(java.lang.String name,
java.lang.String cname,
java.lang.String fname)
Declare in the current Environment a Syntax bound to a static field.
|
protected Symbol |
fromLangSymbol(java.lang.Object sym) |
java.lang.String |
getCompilationClass() |
LispReader |
getLexer(gnu.kawa.io.InPort inp,
SourceMessages messages) |
Type |
getNamedType(java.lang.String name)
Get the corresponding
Type for a given name. |
Type |
getPackageStyleType(java.lang.String name)
Try to get a type of the form lang:type.
|
java.lang.String |
getPrimaryPrompt() |
java.lang.String |
getSecondaryPrompt() |
Type |
getTypeFor(java.lang.Class clas) |
Type |
getTypeFor(java.lang.Object spec,
boolean lenient)
Convert a "type value" to a Type.
|
protected java.util.HashMap<java.lang.String,Type> |
getTypeMap() |
boolean |
keywordsAreSelfEvaluating()
Are keywords self-evaluating?
True in CommonLisp.
|
static Symbol |
langSymbolToSymbol(java.lang.Object sym)
Convert the Language's idea of a symbol to a gnu.mapping.Symbol.
|
boolean |
parse(Compilation comp,
int options) |
void |
resolve(Compilation comp)
Resolve names and other post-parsing processing.
|
boolean |
selfEvaluatingSymbol(java.lang.Object obj) |
asType, booleanObject, booleanValue, coerceFromObject, coerceToObject, decodeType, defAliasStFld, define, defineFunction, defineFunction, defProcStFld, defProcStFld, defProcStFld, defProcStFldAs, detect, detect, detect, encodeType, eval, eval, eval, eval, eval, eval, eval, eval, eval, formatType, getCompilation, getCompilation, getDefaultLanguage, getEnvironment, getEnvPropertyFor, getEnvPropertyFor, getExtensions, getFormat, getInstance, getInstance, getInstanceFromFilenameExtension, getLangEnvironment, getLangTypeFor, getLanguages, getName, getNamespaceOf, getNewEnvironment, getOutputConsumer, getSymbol, getTypeFor, getTypeFor, getTypeFor, hasNamespace, hasSeparateFunctionNamespace, isTrue, isValidJavaName, loadClass, lookup, lookupBuiltin, mangleName, noValue, parse, parse, parse, parse, registerLanguage, restoreCurrent, runAsApplication, setCurrentLanguage, setDefaults, setSaveCurrent, unionType
public static final java.lang.String quote_str
public static final java.lang.String unquote_str
public static final java.lang.String unquotesplicing_str
public static final java.lang.String quasiquote_str
public static final Symbol quasiquote_sym
public static final SimpleSymbol dots3_sym
public static final java.lang.String splice_str
public static final Symbol splice_sym
public static final java.lang.String splice_colon_str
public static final Symbol splice_colon_sym
public static final Symbol lookup_sym
public static final Symbol bracket_list_sym
public static final Symbol bracket_apply_sym
public static StaticFieldLocation getNamedPartLocation
public static final Namespace unitNamespace
public static final Namespace constructNamespace
public static final Namespace entityNamespace
protected ReadTable defaultReadTable
ReadTable
for this language.public abstract ReadTable createReadTable()
ReadTable
appropriate for this language.public LispReader getLexer(gnu.kawa.io.InPort inp, SourceMessages messages)
public java.lang.String getCompilationClass()
getCompilationClass
in class Language
public boolean parse(Compilation comp, int options) throws java.io.IOException, SyntaxException
parse
in class Language
java.io.IOException
SyntaxException
public void resolve(Compilation comp)
public Declaration declFromField(ModuleExp mod, java.lang.Object fvalue, Field fld)
declFromField
in class Language
protected void defSntxStFld(java.lang.String name, java.lang.String cname, java.lang.String fname)
name
- the procedure's source-level name.cname
- the name of the class containing the field.fname
- the name of the field, which should be a static
final field whose type extends kawa.lang.Syntax.protected void defSntxStFld(java.lang.String name, java.lang.String cname)
public boolean keywordsAreSelfEvaluating()
public boolean selfEvaluatingSymbol(java.lang.Object obj)
public static Symbol langSymbolToSymbol(java.lang.Object sym)
protected Symbol fromLangSymbol(java.lang.Object sym)
protected java.util.HashMap<java.lang.String,Type> getTypeMap()
public Type getPackageStyleType(java.lang.String name)
name
- The package-style type name as a string.Type
.public static Type decodeArrayType(java.lang.String name)
public Type getNamedType(java.lang.String name)
Language
Type
for a given name.
This is currently used as a hook in the conversion of type designators to
types. LispLanguage
uses it to check for package
style type designators such as emacs:buffer
,
and CommonLisp uses it to check for a type designator "boolean",
so that is can return the appropriate boolean type.
This is a bit over-specialised, but it beats actually
overriding getTypeFor(String) in LispLanguage, CommonLisp just for these minor
changes... FIXME!getNamedType
in class Language
name
- The name of a type to search for.Type
if a suitable one can be found,
otherwise null
.public Type getTypeFor(java.lang.Object spec, boolean lenient)
Language
getTypeFor
in class Language
public Type getTypeFor(java.lang.Class clas)
getTypeFor
in class Language
public java.lang.String getPrimaryPrompt()
getPrimaryPrompt
in class Language
public java.lang.String getSecondaryPrompt()
getSecondaryPrompt
in class Language