At least we got an empty Module now ...

This commit is contained in:
Markus Hauschild
2013-06-01 14:36:34 +02:00
parent b159da0f03
commit c4e0c2f298
3 changed files with 10 additions and 4 deletions

View File

@@ -3,12 +3,14 @@
#include "ASTVisitor.h"
#include "llvm/IRBuilder.h"
#include "llvm/Module.h"
#include "llvm/PassManager.h"
#include <map>
#include <string>
class CodeGenVisitor : public ASTVisitor {
public:
CodeGenVisitor();
CodeGenVisitor(llvm::Module* module, llvm::FunctionPassManager* fpm);
virtual ~CodeGenVisitor();
virtual void visit(AssignmentExpression* e);
@@ -29,6 +31,8 @@ public:
virtual void visit(VariableDefinition* e);
private:
llvm::IRBuilder<>* builder_;
llvm::FunctionPassManager* fpm_;
llvm::Module* module_;
std::map<std::string, llvm::Value*> namedValues_;
};

View File

@@ -1,11 +1,13 @@
#include "AST/CodeGenVisitor.h"
CodeGenVisitor::CodeGenVisitor() {
CodeGenVisitor::CodeGenVisitor(llvm::Module* module, llvm::FunctionPassManager *fpm) {
builder_ = new llvm::IRBuilder<>(llvm::getGlobalContext());
module_ = module;
fpm_ = fpm;
}
CodeGenVisitor::~CodeGenVisitor() {
//
delete builder_;
}
void CodeGenVisitor::visit(AssignmentExpression* e) {

View File

@@ -105,7 +105,7 @@ int main() {
fpm->doInitialization();
CodeGenVisitor* cv = new CodeGenVisitor();
CodeGenVisitor* cv = new CodeGenVisitor(module, fpm);
void* parser = scullyParserAlloc(malloc);