Latest stuff, rewriting lexer

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2024-06-25 18:59:15 +02:00
parent 7f669f55e2
commit fa81c2a7fa
23 changed files with 1263 additions and 310 deletions
+12 -2
View File
@@ -1,12 +1,22 @@
/// AUTOGENERATED COPYRIGHT HEADER START
// Copyright (C) 2017-2024 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
// AUTOGENERATED COPYRIGHT HEADER END
#pragma once
#include <string>
#include <filesystem>
// 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.
namespace blitz {
class compiler {
public:
compiler();
~compiler();
bool compile(std::string in, std::string out);
};
}