From 7a76bb7e336323233ec296920f1ce0d5de263881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Grodzi=C5=84ski?= Date: Sat, 21 Jun 2025 13:33:50 +0900 Subject: [PATCH] Cleaned up structure --- CMakeLists.txt | 2 ++ src/{ => Compiler}/CodeGenerator.cpp | 0 src/{ => Compiler}/CodeGenerator.h | 14 +++++++------- src/{ => Compiler}/ModuleBuilder.cpp | 0 src/{ => Compiler}/ModuleBuilder.h | 16 ++++++++-------- src/{ => Lexer}/Lexer.cpp | 0 src/{ => Lexer}/Lexer.h | 0 src/{ => Lexer}/Token.cpp | 0 src/{ => Lexer}/Token.h | 0 src/{ => Parser}/Expression.cpp | 0 src/{ => Parser}/Expression.h | 2 +- src/{ => Parser}/Parser.cpp | 0 src/{ => Parser}/Parser.h | 2 +- src/{ => Parser}/Statement.cpp | 0 src/{ => Parser}/Statement.h | 2 +- src/main.cpp | 18 +++++++++--------- 16 files changed, 29 insertions(+), 27 deletions(-) rename src/{ => Compiler}/CodeGenerator.cpp (100%) rename src/{ => Compiler}/CodeGenerator.h (58%) rename src/{ => Compiler}/ModuleBuilder.cpp (100%) rename src/{ => Compiler}/ModuleBuilder.h (89%) rename src/{ => Lexer}/Lexer.cpp (100%) rename src/{ => Lexer}/Lexer.h (100%) rename src/{ => Lexer}/Token.cpp (100%) rename src/{ => Lexer}/Token.h (100%) rename src/{ => Parser}/Expression.cpp (100%) rename src/{ => Parser}/Expression.h (99%) rename src/{ => Parser}/Parser.cpp (100%) rename src/{ => Parser}/Parser.h (98%) rename src/{ => Parser}/Statement.cpp (100%) rename src/{ => Parser}/Statement.h (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 77c5a88..f756e38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,4 +12,6 @@ file(GLOB_RECURSE SOURCES src/**/*.cpp) add_executable(brb ${SOURCES}) +target_include_directories(brb PRIVATE ${CMAKE_SOURCE_DIR}/src) + target_link_libraries(brb llvm) diff --git a/src/CodeGenerator.cpp b/src/Compiler/CodeGenerator.cpp similarity index 100% rename from src/CodeGenerator.cpp rename to src/Compiler/CodeGenerator.cpp diff --git a/src/CodeGenerator.h b/src/Compiler/CodeGenerator.h similarity index 58% rename from src/CodeGenerator.h rename to src/Compiler/CodeGenerator.h index 48efa5d..fc69427 100644 --- a/src/CodeGenerator.h +++ b/src/Compiler/CodeGenerator.h @@ -3,13 +3,13 @@ #include -#include "llvm/IR/Module.h" -#include "llvm/Support/FileSystem.h" -#include "llvm/IR/LegacyPassManager.h" -#include "llvm/Target/TargetMachine.h" -#include "llvm/MC/TargetRegistry.h" -#include "llvm/Support/TargetSelect.h" -#include "llvm/TargetParser/Host.h" +#include +#include +#include +#include +#include +#include +#include using namespace std; diff --git a/src/ModuleBuilder.cpp b/src/Compiler/ModuleBuilder.cpp similarity index 100% rename from src/ModuleBuilder.cpp rename to src/Compiler/ModuleBuilder.cpp diff --git a/src/ModuleBuilder.h b/src/Compiler/ModuleBuilder.h similarity index 89% rename from src/ModuleBuilder.h rename to src/Compiler/ModuleBuilder.h index 3a4e732..cd88b9d 100644 --- a/src/ModuleBuilder.h +++ b/src/Compiler/ModuleBuilder.h @@ -3,15 +3,15 @@ #include -#include "llvm/IR/Module.h" -#include "llvm/IR/IRBuilder.h" -#include "llvm/IR/LLVMContext.h" -#include "llvm/IR/Constants.h" -#include "llvm/Support/raw_ostream.h" -#include "llvm/IR/Verifier.h" +#include +#include +#include +#include +#include +#include -#include "Expression.h" -#include "Statement.h" +#include "Parser/Expression.h" +#include "Parser/Statement.h" using namespace std; diff --git a/src/Lexer.cpp b/src/Lexer/Lexer.cpp similarity index 100% rename from src/Lexer.cpp rename to src/Lexer/Lexer.cpp diff --git a/src/Lexer.h b/src/Lexer/Lexer.h similarity index 100% rename from src/Lexer.h rename to src/Lexer/Lexer.h diff --git a/src/Token.cpp b/src/Lexer/Token.cpp similarity index 100% rename from src/Token.cpp rename to src/Lexer/Token.cpp diff --git a/src/Token.h b/src/Lexer/Token.h similarity index 100% rename from src/Token.h rename to src/Lexer/Token.h diff --git a/src/Expression.cpp b/src/Parser/Expression.cpp similarity index 100% rename from src/Expression.cpp rename to src/Parser/Expression.cpp diff --git a/src/Expression.h b/src/Parser/Expression.h similarity index 99% rename from src/Expression.h rename to src/Parser/Expression.h index 1e6c337..a0a9a03 100644 --- a/src/Expression.h +++ b/src/Parser/Expression.h @@ -1,7 +1,7 @@ #ifndef EXPRESSION_H #define EXPRESSION_H -#include "Token.h" +#include "Lexer/Token.h" #include "Statement.h" #include "Types.h" diff --git a/src/Parser.cpp b/src/Parser/Parser.cpp similarity index 100% rename from src/Parser.cpp rename to src/Parser/Parser.cpp diff --git a/src/Parser.h b/src/Parser/Parser.h similarity index 98% rename from src/Parser.h rename to src/Parser/Parser.h index d3bd810..aa8d1ea 100644 --- a/src/Parser.h +++ b/src/Parser/Parser.h @@ -3,7 +3,7 @@ #include -#include "Token.h" +#include "Lexer/Token.h" #include "Expression.h" #include "Statement.h" diff --git a/src/Statement.cpp b/src/Parser/Statement.cpp similarity index 100% rename from src/Statement.cpp rename to src/Parser/Statement.cpp diff --git a/src/Statement.h b/src/Parser/Statement.h similarity index 99% rename from src/Statement.h rename to src/Parser/Statement.h index c92bdf4..f48f2a3 100644 --- a/src/Statement.h +++ b/src/Parser/Statement.h @@ -3,7 +3,7 @@ #include -#include "Token.h" +#include "Lexer/Token.h" #include "Expression.h" #include "Types.h" diff --git a/src/main.cpp b/src/main.cpp index f6ecc7a..f95a387 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,16 +2,16 @@ #include #include -#include "llvm/Support/CommandLine.h" +#include -#include "Token.h" -#include "Lexer.h" +#include "Lexer/Token.h" +#include "Lexer/Lexer.h" -#include "Expression.h" -#include "Parser.h" +#include "Parser/Expression.h" +#include "Parser/Parser.h" -#include "ModuleBuilder.h" -#include "CodeGenerator.h" +#include "Compiler/ModuleBuilder.h" +#include "Compiler/CodeGenerator.h" using namespace std; @@ -80,8 +80,8 @@ int main(int argc, char **argv) { module->print(llvm::outs(), nullptr); } - CodeGenerator codeGenerator(module); - codeGenerator.generateObjectFile(outputKind); + //CodeGenerator codeGenerator(module); + //codeGenerator.generateObjectFile(outputKind); return 0; } \ No newline at end of file