27 lines
758 B
C++
27 lines
758 B
C++
/// AUTOGENERATED COPYRIGHT HEADER START
|
|
// Copyright (C) 2017-2024 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
|
|
// AUTOGENERATED COPYRIGHT HEADER END
|
|
#pragma once
|
|
|
|
// Compiling requires several steps
|
|
// 1. Lexing to known tokens
|
|
// - This part may require a unicode library/framework, like Qt or ICU
|
|
// 2. Parsing the lexical tokens into an Abstract Syntax Tree (AST)
|
|
// - This is where we convert everything to logical steps, like math and function calls.
|
|
// 3. Compiling from the AST to some kind of runnable binary.
|
|
// - In our case, we convert the AST to LLVM IR, and then compile it with LLVM.
|
|
|
|
/*
|
|
#include <filesystem>
|
|
#include <string>
|
|
|
|
|
|
namespace blitz {
|
|
class compiler {
|
|
public:
|
|
compiler();
|
|
~compiler();
|
|
};
|
|
} // namespace blitz
|
|
*/
|