Gyoji Compiler
Loading...
Searching...
No Matches
src
codegen
gyoji-codegen.hpp
1
#pragma once
2
3
#include <gyoji-misc/pointers.hpp>
4
#include <gyoji-mir.hpp>
5
6
namespace
Gyoji::codegen {
7
class
CodeGeneratorLLVMContext;
8
16
class
CodeGeneratorLLVM
{
17
public
:
18
CodeGeneratorLLVM
(
19
const
Gyoji::context::CompilerContext
& _compiler_context,
20
const
Gyoji::mir::MIR
& _mir
21
);
22
~CodeGeneratorLLVM
();
23
void
initialize();
24
void
generate();
25
int
output(
const
std::string
& filename);
26
private
:
27
Gyoji::owned<CodeGeneratorLLVMContext>
context;
28
29
};
30
31
void
generate_code(
const
Gyoji::context::CompilerContext
& _context,
const
Gyoji::mir::MIR
& _mir,
const
std::string
& _filename);
32
};
std::basic_string
std::unique_ptr
Gyoji::codegen::CodeGeneratorLLVM
Definition
gyoji-codegen.hpp:16
Gyoji::context::CompilerContext
Compiler Context.
Definition
gyoji-context.hpp:30
Gyoji::mir::MIR
The middle-tier intermediate representation (MIR) of a translation unit.
Definition
gyoji-mir.hpp:57
Generated by
1.9.8