sammine-lang
Loading...
Searching...
No Matches
MLIRGen.h
1#pragma once
2
3#include "ast/Ast.h"
4#include "ast/ASTProperties.h"
5#include "typecheck/Types.h"
6
7#include "mlir/IR/Builders.h"
8#include "mlir/IR/BuiltinOps.h"
9#include "mlir/IR/MLIRContext.h"
10#include "mlir/IR/OwningOpRef.h"
11#include "mlir/IR/Value.h"
12#include "mlir/Dialect/Func/IR/FuncOps.h"
13
14#include "llvm/ADT/ScopedHashTable.h"
15#include "llvm/ADT/StringRef.h"
16
17#include <string>
18
19namespace sammine_lang {
20
23mlir::OwningOpRef<mlir::ModuleOp>
24mlirGen(mlir::MLIRContext &context, AST::ProgramAST *program,
25 const std::string &moduleName, const std::string &fileName,
26 const std::string &sourceText, const AST::ASTProperties &props);
27
28} // namespace sammine_lang
Defined the AST Node classes (ProgramAST, StructDefAST, FuncDefAST) and a visitor interface for trave...
Defines the core Type system for Sammine.
Definition ASTProperties.h:40
Definition Ast.h:197