Package | Description |
---|---|
gnu.commonlisp.lang | |
gnu.expr |
Supports
Expression ,
and various related classes need to compile programming languages. |
gnu.kawa.functions |
Various core run-time functions and operators.
|
gnu.kawa.lispexpr |
Support classes for compiling and running Lisp languages.
|
gnu.kawa.reflect |
Contains classes to use reflection.
|
gnu.kawa.xml |
Classes for using XML within Kawa.
|
gnu.kawa.xslt | |
gnu.q2.lang |
Support for the experimental Q2 language.
|
gnu.xquery.lang | |
gnu.xquery.util | |
kawa.lang |
Core Kawa classes for Scheme and Lisp compile-time.
|
kawa.standard |
Primitive Scheme syntax and functions.
|
Modifier and Type | Class and Description |
---|---|
class |
Lisp2Compilation |
Modifier and Type | Method and Description |
---|---|
static Compilation |
Compilation.findForImmediateLiterals(int key) |
Compilation |
ModuleInfo.getCompilation() |
Compilation |
ExpVisitor.getCompilation()
Get the Compilation associated with this visitor.
|
Compilation |
CommandCompleter.getCompilation() |
Compilation |
Language.getCompilation(Lexer lexer,
int options,
ModuleInfo info) |
Compilation |
Language.getCompilation(SourceMessages messages,
NameLookup lexical) |
static Compilation |
Compilation.getCurrent() |
Compilation |
Language.parse(gnu.kawa.io.InPort port,
SourceMessages messages,
int options)
Parse one or more expressions.
|
Compilation |
Language.parse(gnu.kawa.io.InPort port,
SourceMessages messages,
int options,
ModuleInfo info) |
Compilation |
Language.parse(Lexer lexer,
int options,
ModuleInfo info) |
static Compilation |
Compilation.setSaveCurrent(Compilation comp) |
Modifier and Type | Method and Description |
---|---|
void |
ModuleExp.allocChildClasses(Compilation comp) |
void |
LambdaExp.allocChildClasses(Compilation comp) |
void |
LambdaExp.allocFrame(Compilation comp) |
static void |
ANormalize.aNormalize(Expression exp,
Compilation comp) |
static void |
ChainLambdas.chainLambdas(Expression exp,
Compilation comp) |
ClassType |
ModuleExp.classFor(Compilation comp)
Return the class for this module.
|
boolean |
PrimProcedure.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
Inlineable.compile(ApplyExp exp,
Compilation comp,
Target target) |
static void |
ApplyExp.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
Expression.compile(Compilation comp,
Declaration lhs)
Compile an expression with checking suitable for a known Declaration.
|
void |
ReferenceExp.compile(Compilation comp,
Target target) |
void |
BeginExp.compile(Compilation comp,
Target target) |
void |
ThisExp.compile(Compilation comp,
Target target) |
void |
ObjectExp.compile(Compilation comp,
Target target) |
abstract void |
Expression.compile(Compilation comp,
Target target) |
void |
SynchronizedExp.compile(Compilation comp,
Target target) |
void |
CatchClause.compile(Compilation comp,
Target target) |
void |
TryExp.compile(Compilation comp,
Target target) |
void |
SetExp.compile(Compilation comp,
Target target) |
void |
LambdaExp.compile(Compilation comp,
Target target) |
void |
ClassExp.compile(Compilation comp,
Target target) |
void |
QuoteExp.compile(Compilation comp,
Target target) |
void |
CaseExp.compile(Compilation comp,
Target target) |
void |
IfExp.compile(Compilation comp,
Target target) |
void |
LetExp.compile(Compilation comp,
Target target) |
void |
ApplyExp.compile(Compilation comp,
Target target) |
void |
ErrorExp.compile(Compilation comp,
Target target) |
void |
BlockExp.compile(Compilation comp,
Target target) |
void |
LangExp.compile(Compilation comp,
Target target) |
void |
ExitExp.compile(Compilation comp,
Target target) |
void |
FluidLetExp.compile(Compilation comp,
Target target) |
void |
Expression.compile(Compilation comp,
Type type) |
static void |
IfExp.compile(Expression test,
Expression then_clause,
Expression else_clause,
Compilation comp,
Target target) |
static void |
ApplyExp.compileArgsToContext(ApplyExp exp,
Method setupMethod,
Compilation comp) |
void |
LambdaExp.compileBody(Compilation comp) |
void |
LambdaExp.compileEnd(Compilation comp) |
abstract void |
Target.compileFromStack(Compilation comp,
Type stackType) |
void |
StackTarget.compileFromStack(Compilation comp,
Type stackType) |
void |
ConsumerTarget.compileFromStack(Compilation comp,
Type stackType) |
void |
IgnoreTarget.compileFromStack(Compilation comp,
Type stackType) |
void |
ConditionalTarget.compileFromStack(Compilation comp,
Type stackType) |
protected boolean |
StackTarget.compileFromStack0(Compilation comp,
Type stackType) |
static void |
PrimProcedure.compileInvoke(Compilation comp,
Method method,
Target target,
boolean isTailCall,
int op_code,
Type returnType,
boolean doFixUnsigned)
Emit the actual invoke operation, after arguments have been pushed.
|
ClassType |
ClassExp.compileMembers(Compilation comp) |
void |
ClassExp.compilePushClass(Compilation comp,
Target target) |
static void |
PrimProcedure.compileRestArg(Type arg_type,
ApplyExp exp,
int startArg,
int i,
Compilation comp) |
Field |
LambdaExp.compileSetField(Compilation comp) |
Field |
ClassExp.compileSetField(Compilation comp) |
void |
Declaration.compileStore(Compilation comp) |
static void |
ConsumerTarget.compileUsingConsumer(Expression exp,
Compilation comp,
Target target)
Compile an expression using a temporary Consumer, if needed.
|
static void |
ConsumerTarget.compileUsingConsumer(Expression exp,
Compilation comp,
Target target,
Method makeMethod,
Method resultMethod) |
static void |
ConsumerTarget.compileUsingValues(Expression exp,
Compilation comp,
Target target) |
void |
Expression.compileWithPosition(Compilation comp,
Target target)
Same as compile, but emit line number beforehard.
|
void |
Expression.compileWithPosition(Compilation comp,
Target target,
Expression position)
Same as 2-argument compileWithPosition,
but use some other Expression's line number.
|
boolean |
ConsumerTarget.compileWrite(Expression exp,
Compilation comp) |
static void |
StackTarget.convert(Compilation comp,
Type stackType,
Type targetType) |
static void |
BindingInitializer.create(Declaration decl,
Expression value,
Compilation comp)
Create a BindingInitializer and link it into the correct
initializer chain.
|
void |
ClassExp.createFields(Compilation comp)
Create a Field in the instanceClass for each declared field.
|
void |
ClassExp.declareParts(Compilation comp) |
protected void |
StackTarget.doCoerce(Compilation comp) |
protected void |
CheckedTarget.doCoerce(Compilation comp) |
static void |
ScopeExp.duplicateDeclarationError(Declaration oldDecl,
Declaration newDecl,
Compilation comp) |
void |
ProcInitializer.emit(Compilation comp) |
abstract void |
Initializer.emit(Compilation comp) |
void |
BindingInitializer.emit(Compilation comp) |
void |
ClassInitializer.emit(Compilation comp) |
static void |
CheckedTarget.emitCheckedCoerce(Compilation comp,
LambdaExp proc,
int argno,
Type stackType,
Type type,
Variable argValue) |
static void |
CheckedTarget.emitCheckedCoerce(Compilation comp,
java.lang.String procname,
int argno,
Type type) |
protected static void |
StackTarget.emitCoerceFromObject(Type type,
Compilation comp) |
void |
TypeValue.emitIsInstance(Variable incoming,
Compilation comp,
Target target)
Emit code for incoming instanceof this_type.
|
static void |
ProcInitializer.emitLoadModuleMethod(LambdaExp proc,
Compilation comp)
Create and load a CompiledProc for the given procedure.
|
void |
TypeValue.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp)
Emit code for
if (incoming instanceof this_type) decl = incoming ....
|
static boolean |
ModuleExp.evalModule(Environment env,
CallContext ctx,
Compilation comp,
java.net.URL url,
gnu.kawa.io.OutPort msg) |
static java.lang.Object |
ModuleExp.evalModule1(Environment env,
Compilation comp,
java.net.URL url,
gnu.kawa.io.OutPort msg)
Parse and compile a module.
|
static java.lang.Class |
ModuleExp.evalToClass(Compilation comp,
java.net.URL url)
Compile to a class for immediate evaluation.
|
ModuleInfo |
ModuleManager.find(Compilation comp) |
static void |
FindCapturedVars.findCapturedVars(Expression exp,
Compilation comp) |
static void |
FindTailCalls.findTailCalls(Expression exp,
Compilation comp) |
static Type |
StackTarget.forceLazy(Compilation comp,
Type stackType,
Type type) |
static Type |
StackTarget.forceLazyIfNeeded(Compilation comp,
Type stackType,
Type type) |
void |
LambdaExp.generateApplyMethods(Compilation comp) |
void |
ClassExp.generateBridgeMethod(Compilation comp,
Method src_method,
Type[] bridge_arg_types,
Type bridge_return_type)
Given an existing method and a desired bridge method signature,
generates an appropriate bridge method.
|
java.lang.String |
ClassExp.getClassName(Compilation comp) |
protected ClassType |
LambdaExp.getCompiledClassType(Compilation comp)
Return the ClassType of the Procedure this is being compiled into.
|
protected ClassType |
ClassExp.getCompiledClassType(Compilation comp) |
Declaration |
ScopeExp.getDefine(java.lang.Object name,
Compilation parser)
Add a new Declaration, with a message if there is an existing one.
|
boolean |
Declaration.inExternalModule(Compilation comp) |
static Expression |
InlineCalls.inlineCalls(Expression exp,
Compilation comp) |
void |
Declaration.load(AccessExp access,
int flags,
Compilation comp,
Target target) |
Type |
Declaration.loadFieldLocation(Declaration owner,
Compilation comp) |
void |
LambdaExp.loadHeapFrame(Compilation comp)
Generate code to load heapFrame on the JVM stack.
|
static Target |
ConsumerTarget.makeContextTarget(Compilation comp,
Type type)
Make a Target that uses the current CallContext's current Consumer.
|
void |
Declaration.makeField(ClassType frameType,
Compilation comp,
Expression value) |
void |
Declaration.makeField(Compilation comp,
Expression value) |
static Expression |
Expression.makeWhile(java.lang.Object cond,
java.lang.Object body,
Compilation parser)
Helper method to create a `while' statement.
|
void |
Declaration.maybeIndirectBinding(Compilation comp) |
boolean |
Language.parse(Compilation tr) |
abstract boolean |
Language.parse(Compilation comp,
int options) |
void |
BeginExp.popOptions(Compilation comp) |
static void |
PushApply.pushApply(Expression exp,
Compilation comp) |
void |
Declaration.pushIndirectBinding(Compilation comp)
Create a Location object, given that isIndirectBinding().
|
void |
BeginExp.pushOptions(Compilation comp) |
static int |
Compilation.registerForImmediateLiterals(Compilation comp) |
void |
ProcInitializer.reportError(java.lang.String message,
Compilation comp) |
void |
Initializer.reportError(java.lang.String message,
Compilation comp) |
void |
Language.resolve(Compilation comp)
Perform any need post-processing after we've read all the modules
to be compiled.
|
static void |
Compilation.restoreCurrent(Compilation saved) |
void |
LambdaExp.setCallConvention(Compilation comp) |
void |
ModuleInfo.setCompilation(Compilation comp) |
void |
ExpVisitor.setContext(Compilation comp) |
static void |
Compilation.setCurrent(Compilation comp) |
void |
Expression.setLine(Compilation comp)
Set line number from current position in
Compilation . |
static Compilation |
Compilation.setSaveCurrent(Compilation comp) |
void |
ClassExp.setTypes(Compilation comp) |
Constructor and Description |
---|
ClassInitializer(ClassExp cexp,
Field field,
Compilation comp) |
CommandCompleter(int prefixLength,
java.util.List<java.lang.String> candidates,
java.lang.String word,
int wordCursor,
Compilation comp) |
ErrorExp(java.lang.String message,
Compilation comp) |
InlineCalls(Compilation comp) |
LitTable(Compilation comp) |
ProcInitializer(LambdaExp lexp,
Compilation comp,
Field field) |
ResolveNames(Compilation comp) |
Modifier and Type | Method and Description |
---|---|
void |
CompileArith.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
MakeList.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
GetModuleClass.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
ValuesMap.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
AppendValues.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
CallCC.compile(ApplyExp exp,
Compilation comp,
Target target) |
static void |
MakeList.compile(Expression[] args,
int offset,
Compilation comp) |
static void |
CompileMisc.compileCallCC(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
static boolean |
CompileMisc.compileConvert(ApplyExp exp,
Compilation comp,
Target target,
Procedure procedure) |
static boolean |
CompileMisc.compileEq(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
void |
CompileArith.compileGeneric(ApplyExp exp,
Compilation comp,
Target target) |
static void |
ValuesMap.compileInlined(LambdaExp lambda,
Expression vals,
int startCounter,
Method matchesMethod,
Compilation comp,
Target target) |
boolean |
CompileArith.compileIntNum(Expression arg1,
Expression arg2,
int kind1,
int kind2,
Compilation comp) |
static boolean |
CompileMisc.compileMakeDynamic(ApplyExp exp,
Compilation comp,
Target target,
Procedure procedure) |
static boolean |
CompileMisc.compileNot(ApplyExp exp,
Compilation comp,
Target target,
Procedure procedure) |
static boolean |
CompileMisc.compileNumberCompare(ApplyExp exp,
Compilation comp,
Target target,
Procedure procedure) |
static boolean |
CompileMisc.compileNumPredicate(ApplyExp exp,
Compilation comp,
Target target,
Procedure procedure) |
static Expression |
GetModuleClass.getModuleClassURI(Compilation comp)
Return an expression that evaluates to a module-relative URL.
|
Modifier and Type | Method and Description |
---|---|
void |
LangObjType.emitIsInstance(Variable incoming,
Compilation comp,
Target target) |
void |
LangPrimType.emitIsInstance(Variable incoming,
Compilation comp,
Target target) |
void |
GenArrayType.emitIsInstance(Variable incoming,
Compilation comp,
Target target) |
void |
LangObjType.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp) |
void |
LangPrimType.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp) |
void |
GenArrayType.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp) |
static void |
LangPrimType.emitTestIfNumber(Variable incoming,
Declaration decl,
Type type,
Compilation comp) |
boolean |
LispLanguage.parse(Compilation comp,
int options) |
void |
LispLanguage.resolve(Compilation comp)
Resolve names and other post-parsing processing.
|
Modifier and Type | Method and Description |
---|---|
Compilation |
CompileBuildObject.getCompilation() |
Modifier and Type | Method and Description |
---|---|
static int |
CompileReflect.checkKnownClass(Type type,
Compilation comp)
Check if class exists.
|
void |
TypeSwitch.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
SlotGet.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
Throw.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
InstanceOf.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
SlotSet.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
StaticSet.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
StaticGet.compile(ApplyExp exp,
Compilation comp,
Target target) |
static boolean |
CompileArrays.compileGet(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
static boolean |
CompileArrays.compileLength(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
static boolean |
CompileArrays.compileMake(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
static boolean |
CompileArrays.compileNew(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
static boolean |
CompileArrays.compileSet(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
static void |
CompileArrays.createArray(Type elementType,
Compilation comp,
Expression[] args,
int start,
int end)
Optimized code generation of array creation with splicing support.
|
static void |
InstanceOf.emitIsInstance(TypeValue type,
Variable incoming,
Compilation comp,
Target target) |
void |
OccurrenceType.emitIsInstance(Variable incoming,
Compilation comp,
Target target) |
void |
MappedArrayType.emitIsInstance(Variable incoming,
Compilation comp,
Target target) |
void |
OccurrenceType.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp) |
void |
MappedArrayType.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp) |
Modifier and Type | Method and Description |
---|---|
void |
MakeText.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
CoerceNodes.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
NodeConstructor.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
SortNodes.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
UnionNodes.compile(ApplyExp exp,
Compilation comp,
Target target) |
static void |
NodeConstructor.compileChild(Expression arg,
boolean stringIsText,
Compilation comp,
ConsumerTarget target) |
static void |
Focus.compileGetCurrent(Compilation comp) |
void |
MakeText.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
void |
MakeProcInst.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
void |
MakeElement.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
void |
DocumentConstructor.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
void |
MakeAttribute.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
void |
MakeWithBaseUri.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
abstract void |
NodeConstructor.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
static void |
NodeConstructor.compileUsingNodeTree(Expression exp,
Compilation comp,
Target target)
Compile an expression using a fresh NodeTree.
|
protected void |
NodeType.emitCoerceOrNullMethod(Variable incoming,
Compilation comp) |
protected void |
ElementType.emitCoerceOrNullMethod(Variable incoming,
Compilation comp) |
protected void |
ProcessingInstructionType.emitCoerceOrNullMethod(Variable incoming,
Compilation comp) |
protected void |
AttributeType.emitCoerceOrNullMethod(Variable incoming,
Compilation comp) |
void |
NodeType.emitIsInstance(Variable incoming,
Compilation comp,
Target target) |
void |
XDataType.emitIsInstance(Variable incoming,
Compilation comp,
Target target) |
void |
NodeType.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp) |
void |
XDataType.emitTestIf(Variable incoming,
Declaration decl,
Compilation comp) |
Modifier and Type | Method and Description |
---|---|
void |
ApplyTemplates.compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
void |
XslTranslator.parse(Compilation comp) |
boolean |
XSLT.parse(Compilation comp,
int options) |
Modifier and Type | Class and Description |
---|---|
class |
Q2Translator |
Modifier and Type | Method and Description |
---|---|
Compilation |
XQuery.getCompilation(Lexer lexer,
SourceMessages messages,
NameLookup lexical) |
Modifier and Type | Method and Description |
---|---|
Expression |
XQParser.parse(Compilation comp)
Parse an expression.
|
boolean |
XQuery.parse(Compilation tr,
int options) |
void |
XQuery.resolve(Compilation comp) |
Constructor and Description |
---|
XQResolveNames(Compilation comp) |
Modifier and Type | Method and Description |
---|---|
void |
OrderedMap.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
CastableAs.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
RelativeStep.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
ValuesFilter.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
CastAs.compile(ApplyExp exp,
Compilation comp,
Target target) |
static void |
CompileMisc.compileOrderedMap(ApplyExp exp,
Compilation comp,
Target target,
Procedure proc) |
Modifier and Type | Class and Description |
---|---|
class |
Translator
Used to translate from source to Expression.
|
Modifier and Type | Method and Description |
---|---|
static Compilation |
CompileFile.read(gnu.kawa.io.InPort port,
SourceMessages messages) |
static Compilation |
CompileFile.read(java.lang.String name,
SourceMessages messages) |
Modifier and Type | Method and Description |
---|---|
void |
GetFieldProc.compile(ApplyExp exp,
Compilation comp,
Target target) |
void |
SetFieldProc.compile(ApplyExp exp,
Compilation comp,
Target target) |
Modifier and Type | Class and Description |
---|---|
class |
SchemeCompilation |
Modifier and Type | Method and Description |
---|---|
static boolean |
require.importDefinitions(java.lang.String className,
ModuleInfo info,
require.DeclSetMapper mapper,
Translator.FormStack forms,
ScopeExp defs,
Compilation tr)
Import a module with a known source path.
|
java.util.Map<Symbol,Expression> |
require.DeclSetMapper.map(java.util.Map<Symbol,Expression> decls,
Compilation comp) |