diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-11 19:07:12 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-11 19:07:12 +0200 |
commit | 7af4077884b2a9aadbed2fd8ff56266874252c35 (patch) | |
tree | 6623316f70164b9b2bf62ed1625d278c6fc26a80 /MLKLLVMCompiler.h | |
parent | 0e5c25802c9d069a290555629f35f93091839b09 (diff) |
LLVM compiler: Support %LAMBDA, PROGN, %LOOP, lexical variables, and function calls.
Diffstat (limited to 'MLKLLVMCompiler.h')
-rw-r--r-- | MLKLLVMCompiler.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/MLKLLVMCompiler.h b/MLKLLVMCompiler.h index 507c652..c0e9e7c 100644 --- a/MLKLLVMCompiler.h +++ b/MLKLLVMCompiler.h @@ -37,14 +37,25 @@ using namespace llvm; +(void) processTopLevelForm:(id)object; #ifdef __cplusplus -+(Value *) processForm:(MLKForm *)form - inBlock:(BasicBlock **)block; ++(Value *) processForm:(MLKForm *)form; + ++(Value *) insertMethodCall:(NSString *)messageName + onObject:(Value *)object; #endif @end #ifdef __cplusplus @interface MLKForm (MLKLLVMCompilation) --(Value *) processForLLVMInBlock:(BasicBlock **)block; +-(Value *) processForLLVM; +@end + + +@interface MLKLexicalContext (MLKLLVMCompilation) +-(BOOL) isHeapVariable:(id)name; +-(Value *) functionCellForSymbol:(id)name; +-(Value *) closureDataPointerForSymbol:(id)name; +-(Value *) bindingForSymbol:(id)name; +-(Value *) valueForSymbol:(id)name; @end #endif |