summaryrefslogtreecommitdiff
path: root/MLKLLVMCompiler.h
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-10 12:16:57 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-10 12:16:57 +0200
commitddf78cc594ae390a8bfff95555dc285c1bbd28f5 (patch)
tree773578f1bcd8f1b0d16170f4299f2f2134ad7c62 /MLKLLVMCompiler.h
parent113c5905ecad09fa34a6440209b0814acf0012e3 (diff)
Modularise the compiler.
Diffstat (limited to 'MLKLLVMCompiler.h')
-rw-r--r--MLKLLVMCompiler.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/MLKLLVMCompiler.h b/MLKLLVMCompiler.h
index 7b3569d..8ade89c 100644
--- a/MLKLLVMCompiler.h
+++ b/MLKLLVMCompiler.h
@@ -16,21 +16,33 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#import "MLKForm.h"
#import "MLKLexicalContext.h"
+#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
-/*
#ifdef __cplusplus
#include <Value.h>
#include <BasicBlock.h>
using namespace llvm;
#endif
-*/
-@interface MLKLLVMCompiler
--(id) compile:(id)object
+@interface MLKLLVMCompiler : NSObject
++(void) initialize;
+
++(id) compile:(id)object
inContext:(MLKLexicalContext *)context;
--(void) processTopLevelForm:(id)object;
++(void) processTopLevelForm:(id)object;
+
+#ifdef __cplusplus
++(Value *) processForm:(MLKForm *)form
+ inBlock:(BasicBlock **)block;
+#endif
+@end
+
+
+@interface MLKForm (MLKLLVMCompilation)
+-(Value *) processForLLVMInBlock:(BasicBlock **)block;
@end