summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-04 15:13:22 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-04 15:17:53 +0100
commitcd3092186eb698a9ed175dacb6884f0404e7c062 (patch)
treecdc3e0e013f5efb0dfc8c450b706951d3a8e3597
parent14ed88e58517890f5cce1bb9ab5cfb9e94bcfbf6 (diff)
chore! Breaking API changes for CompilerKit and DebuggerKit.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
-rw-r--r--examples/example_01_asm/exit_nekernel_abi.asm (renamed from examples/asm/exit_nekernel_abi.asm)0
-rw-r--r--examples/example_01_asm/return_5_rax.asm (renamed from examples/asm/return_5_rax.asm)0
-rw-r--r--examples/example_02_cxx/example.cc (renamed from examples/cxx/example.cc)0
-rw-r--r--examples/example_03_compilerkit/.keep0
-rw-r--r--examples/example_04_debuggerkit/.keep0
-rw-r--r--src/CompilerKit/AE.h2
-rw-r--r--src/CompilerKit/CodeGenerator.h14
-rw-r--r--src/CompilerKit/Detail/32x0.h (renamed from src/CompilerKit/impl/32x0.h)4
-rw-r--r--src/CompilerKit/Detail/64x0.h (renamed from src/CompilerKit/impl/64x0.h)4
-rw-r--r--src/CompilerKit/Detail/AMD64.h (renamed from src/CompilerKit/impl/X64.h)4
-rw-r--r--src/CompilerKit/Detail/Aarch64.h (renamed from src/CompilerKit/impl/Aarch64.h)4
-rw-r--r--src/CompilerKit/Detail/Config.h (renamed from src/CompilerKit/detail/Config.h)5
-rw-r--r--src/CompilerKit/Detail/Power64.h (renamed from src/CompilerKit/impl/PowerPC.h)0
-rw-r--r--src/CompilerKit/Detail/PreConfig.h (renamed from src/CompilerKit/detail/PreConfig.h)0
-rw-r--r--src/CompilerKit/ErrorID.h2
-rw-r--r--src/CompilerKit/ErrorOr.h2
-rw-r--r--src/CompilerKit/PEF.h2
-rw-r--r--src/CompilerKit/Ref.h2
-rw-r--r--src/CompilerKit/StringKit.h2
-rw-r--r--src/CompilerKit/Utilities/Assembler.h (renamed from src/CompilerKit/utils/AsmUtils.h)4
-rw-r--r--src/CompilerKit/Utilities/Compiler.h (renamed from src/CompilerKit/utils/CompilerUtils.h)9
-rw-r--r--src/CompilerKit/Utilities/DLL.h (renamed from src/CompilerKit/utils/DylibHelpers.h)2
-rw-r--r--src/CompilerKit/XCOFF.h2
-rw-r--r--src/CompilerKit/src/Backend/Assembler32x0.cc4
-rw-r--r--src/CompilerKit/src/Backend/Assembler64x0.cc4
-rw-r--r--src/CompilerKit/src/Backend/AssemblerAMD64.cc4
-rw-r--r--src/CompilerKit/src/Backend/AssemblerARM64.cc6
-rw-r--r--src/CompilerKit/src/Backend/AssemblerPowerPC.cc6
-rw-r--r--src/CompilerKit/src/Frontend/CCompiler64x0.cc42
-rw-r--r--src/CompilerKit/src/Frontend/CCompilerARM64.cc40
-rw-r--r--src/CompilerKit/src/Frontend/CCompilerPower64.cc50
-rw-r--r--src/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc20
-rw-r--r--src/CompilerKit/src/Linker/DynamicLinker64PEF.cc7
-rw-r--r--src/DebuggerKit/DebuggerContract.h2
-rw-r--r--src/DebuggerKit/Detail/Config.h (renamed from src/DebuggerKit/detail/Config.h)2
-rw-r--r--src/DebuggerKit/NeKernelContract.h2
-rw-r--r--src/DebuggerKit/src/NeKernelContract.cc6
-rw-r--r--src/DebuggerKit/src/NeKernelContractCLI.cc4
-rw-r--r--src/DebuggerKit/src/POSIXMachContractCLI.cc4
-rw-r--r--src/ThirdParty/Dialogs/Dialogs.h (renamed from src/ThirdParty/Dialogs.h)0
-rw-r--r--src/Tools/asm.cc2
-rw-r--r--src/Tools/cppdrv.cc2
-rw-r--r--src/Tools/dbg.cc2
-rw-r--r--src/Tools/kdbg.cc2
-rw-r--r--src/Tools/ld64.cc2
-rw-r--r--src/Tools/pef-amd64-cxxdrv.cc6
-rw-r--r--src/Tools/pef-arm64-cdrv.cc6
-rw-r--r--tests/samples/sample.cc.pp3
-rw-r--r--tests/test_01_codegen/codegen_test.cc2
-rw-r--r--tests/test_02_linker/linker_test.cc6
-rw-r--r--tests/test_samples/sample.asm (renamed from tests/samples/sample.asm)0
-rw-r--r--tests/test_samples/sample.cc (renamed from tests/samples/sample.cc)0
52 files changed, 112 insertions, 188 deletions
diff --git a/examples/asm/exit_nekernel_abi.asm b/examples/example_01_asm/exit_nekernel_abi.asm
index 6f69a00..6f69a00 100644
--- a/examples/asm/exit_nekernel_abi.asm
+++ b/examples/example_01_asm/exit_nekernel_abi.asm
diff --git a/examples/asm/return_5_rax.asm b/examples/example_01_asm/return_5_rax.asm
index 82c0320..82c0320 100644
--- a/examples/asm/return_5_rax.asm
+++ b/examples/example_01_asm/return_5_rax.asm
diff --git a/examples/cxx/example.cc b/examples/example_02_cxx/example.cc
index e74acbb..e74acbb 100644
--- a/examples/cxx/example.cc
+++ b/examples/example_02_cxx/example.cc
diff --git a/examples/example_03_compilerkit/.keep b/examples/example_03_compilerkit/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/example_03_compilerkit/.keep
diff --git a/examples/example_04_debuggerkit/.keep b/examples/example_04_debuggerkit/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/example_04_debuggerkit/.keep
diff --git a/src/CompilerKit/AE.h b/src/CompilerKit/AE.h
index 4692d04..cf6e71b 100644
--- a/src/CompilerKit/AE.h
+++ b/src/CompilerKit/AE.h
@@ -10,7 +10,7 @@
#ifndef _NECTI_AE_H_
#define _NECTI_AE_H_
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <fstream>
#define kAEIdentVersion (0x0122)
diff --git a/src/CompilerKit/CodeGenerator.h b/src/CompilerKit/CodeGenerator.h
index 836d588..3a18803 100644
--- a/src/CompilerKit/CodeGenerator.h
+++ b/src/CompilerKit/CodeGenerator.h
@@ -6,7 +6,7 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/Macros.h>
#include <CompilerKit/StringKit.h>
#include <cstring>
@@ -84,7 +84,9 @@ union NumberCast64 final {
~NumberCast64() { raw = 0; }
- Char number[8];
+ static constexpr auto kLimit = 8;
+
+ Char number[kLimit];
UInt64 raw;
};
@@ -94,7 +96,9 @@ union NumberCast32 final {
~NumberCast32() { raw = 0; }
- Char number[4];
+ static constexpr auto kLimit = 4;
+
+ Char number[kLimit];
UInt32 raw;
};
@@ -104,7 +108,9 @@ union NumberCast16 final {
~NumberCast16() { raw = 0; }
- Char number[2];
+ static constexpr auto kLimit = 2;
+
+ Char number[kLimit];
UInt16 raw;
};
diff --git a/src/CompilerKit/impl/32x0.h b/src/CompilerKit/Detail/32x0.h
index 625e09e..fc3e0e9 100644
--- a/src/CompilerKit/impl/32x0.h
+++ b/src/CompilerKit/Detail/32x0.h
@@ -6,11 +6,11 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <vector>
// @brief Open32x0 support.
-// @file impl/32x0.h
+// @file Detail/32x0.h
#define CK_ASM_OPCODE(__NAME, __OPCODE, __FUNCT3, __FUNCT7) \
{.fName = __NAME, .fOpcode = __OPCODE, .fFunct3 = __FUNCT3, .fFunct7 = __FUNCT7},
diff --git a/src/CompilerKit/impl/64x0.h b/src/CompilerKit/Detail/64x0.h
index ea16bca..ba539f6 100644
--- a/src/CompilerKit/impl/64x0.h
+++ b/src/CompilerKit/Detail/64x0.h
@@ -6,11 +6,11 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <vector>
// @brief Open64x0 support.
-// @file impl/64x0.h
+// @file Detail/64x0.h
#define CK_ASM_OPCODE(__NAME, __OPCODE, __FUNCT3, __FUNCT7) \
{.fName = __NAME, .fOpcode = __OPCODE, .fFunct3 = __FUNCT3, .fFunct7 = __FUNCT7},
diff --git a/src/CompilerKit/impl/X64.h b/src/CompilerKit/Detail/AMD64.h
index deba1b3..a123c02 100644
--- a/src/CompilerKit/impl/X64.h
+++ b/src/CompilerKit/Detail/AMD64.h
@@ -6,11 +6,11 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <vector>
// @brief AMD64 support.
-// @file impl/X64.h
+// @file Detail/AMD64.h
#define CK_ASM_OPCODE(__NAME, __OPCODE) {.fName = __NAME, .fOpcode = __OPCODE},
diff --git a/src/CompilerKit/impl/Aarch64.h b/src/CompilerKit/Detail/Aarch64.h
index d2eb197..1ce1719 100644
--- a/src/CompilerKit/impl/Aarch64.h
+++ b/src/CompilerKit/Detail/Aarch64.h
@@ -6,11 +6,11 @@ Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <stdint.h>
/// @brief ARM64 encoding support.
-/// @file impl/Aarch64.h
+/// @file Detail/Aarch64.h
struct CpuOpcodeArm64;
diff --git a/src/CompilerKit/detail/Config.h b/src/CompilerKit/Detail/Config.h
index 1b2d2ae..6137e2a 100644
--- a/src/CompilerKit/detail/Config.h
+++ b/src/CompilerKit/Detail/Config.h
@@ -12,12 +12,11 @@
/// @brief Basic defines and types for CompilerKit.
/// =========================================================== ///
-#include <CompilerKit/detail/PreConfig.h>
+#include <CompilerKit/Detail/PreConfig.h>
namespace CompilerKit {
inline constexpr int kBaseYear = 1900;
-
-typedef std::string STLString;
+using STLString = std::string;
inline STLString current_date() noexcept {
auto time_data = time(nullptr);
diff --git a/src/CompilerKit/impl/PowerPC.h b/src/CompilerKit/Detail/Power64.h
index 7c7f67c..7c7f67c 100644
--- a/src/CompilerKit/impl/PowerPC.h
+++ b/src/CompilerKit/Detail/Power64.h
diff --git a/src/CompilerKit/detail/PreConfig.h b/src/CompilerKit/Detail/PreConfig.h
index 6742c53..6742c53 100644
--- a/src/CompilerKit/detail/PreConfig.h
+++ b/src/CompilerKit/Detail/PreConfig.h
diff --git a/src/CompilerKit/ErrorID.h b/src/CompilerKit/ErrorID.h
index 5781842..3e3b0d7 100644
--- a/src/CompilerKit/ErrorID.h
+++ b/src/CompilerKit/ErrorID.h
@@ -9,7 +9,7 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
/// =========================================================== ///
/// @file ErrorID.h
diff --git a/src/CompilerKit/ErrorOr.h b/src/CompilerKit/ErrorOr.h
index 3a8f160..100624e 100644
--- a/src/CompilerKit/ErrorOr.h
+++ b/src/CompilerKit/ErrorOr.h
@@ -15,7 +15,7 @@
/// @brief ErrorOr for CompilerKit.
/// =========================================================== ///
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
#include <CompilerKit/Ref.h>
diff --git a/src/CompilerKit/PEF.h b/src/CompilerKit/PEF.h
index 68a4f9a..2838f52 100644
--- a/src/CompilerKit/PEF.h
+++ b/src/CompilerKit/PEF.h
@@ -6,7 +6,7 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <fstream>
// @file PEF.h
diff --git a/src/CompilerKit/Ref.h b/src/CompilerKit/Ref.h
index f66e8c1..863a100 100644
--- a/src/CompilerKit/Ref.h
+++ b/src/CompilerKit/Ref.h
@@ -10,7 +10,7 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
namespace CompilerKit {
/// @author Amlal El Mahrouss
diff --git a/src/CompilerKit/StringKit.h b/src/CompilerKit/StringKit.h
index 251ab4e..d3eb3ad 100644
--- a/src/CompilerKit/StringKit.h
+++ b/src/CompilerKit/StringKit.h
@@ -10,7 +10,7 @@
#ifndef __NECTI_STRINGKIT__
#define __NECTI_STRINGKIT__
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorOr.h>
#include <cstring>
diff --git a/src/CompilerKit/utils/AsmUtils.h b/src/CompilerKit/Utilities/Assembler.h
index 2cde706..3da48cc 100644
--- a/src/CompilerKit/utils/AsmUtils.h
+++ b/src/CompilerKit/Utilities/Assembler.h
@@ -8,14 +8,14 @@
#include <CompilerKit/AST.h>
#include <CompilerKit/CodeGenerator.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Utilities/Compiler.h>
using namespace CompilerKit;
/// @brief Get Number from lineBuffer.
/// @param lineBuffer the lineBuffer to fetch from.
/// @param numberKey where to seek that number.
-/// @return
+/// @return A numbercast of 32-bit width.
static NumberCast32 GetNumber32(STLString lineBuffer, STLString numberKey) {
auto pos = lineBuffer.find(numberKey) + numberKey.size();
diff --git a/src/CompilerKit/utils/CompilerUtils.h b/src/CompilerKit/Utilities/Compiler.h
index ebde2b9..165ab53 100644
--- a/src/CompilerKit/utils/CompilerUtils.h
+++ b/src/CompilerKit/Utilities/Compiler.h
@@ -8,9 +8,9 @@
#include <CompilerKit/AST.h>
#include <CompilerKit/CodeGenerator.h>
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
-#include <ThirdParty/Dialogs.h>
+#include <ThirdParty/Dialogs/Dialogs.h>
#include <iostream>
#define kZero64Section ".zero64"
@@ -27,7 +27,10 @@
#define kYellow "\e[0;33m"
#define kStdOut (std::cout << kRed << "drv: " << kWhite)
-#define kStdErr (std::cout << kYellow << "drv: " << kWhite)
+#define kStdErr (std::cerr << kYellow << "drv: " << kWhite)
+
+#define kPrintF kStdOut
+#define kPrintErr kStdErr
inline static UInt32 kErrorLimit = 10;
inline static UInt32 kAcceptableErrors = 0;
diff --git a/src/CompilerKit/utils/DylibHelpers.h b/src/CompilerKit/Utilities/DLL.h
index 6b03823..58e0cc7 100644
--- a/src/CompilerKit/utils/DylibHelpers.h
+++ b/src/CompilerKit/Utilities/DLL.h
@@ -6,7 +6,7 @@
#pragma once
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <dlfcn.h>
#include <mutex>
diff --git a/src/CompilerKit/XCOFF.h b/src/CompilerKit/XCOFF.h
index 64828b9..777f501 100644
--- a/src/CompilerKit/XCOFF.h
+++ b/src/CompilerKit/XCOFF.h
@@ -14,7 +14,7 @@
#ifndef _NECTI_XCOFF_H_
#define _NECTI_XCOFF_H_
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#define kXCOFF64Magic 0x01F7
diff --git a/src/CompilerKit/src/Backend/Assembler32x0.cc b/src/CompilerKit/src/Backend/Assembler32x0.cc
index 51e4265..fd44ffa 100644
--- a/src/CompilerKit/src/Backend/Assembler32x0.cc
+++ b/src/CompilerKit/src/Backend/Assembler32x0.cc
@@ -24,8 +24,8 @@
#include <CompilerKit/AE.h>
#include <CompilerKit/AST.h>
#include <CompilerKit/PEF.h>
-#include <CompilerKit/impl/32x0.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Detail/32x0.h>
+#include <CompilerKit/Utilities/Compiler.h>
/////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/CompilerKit/src/Backend/Assembler64x0.cc b/src/CompilerKit/src/Backend/Assembler64x0.cc
index 75f0a81..f84ee46 100644
--- a/src/CompilerKit/src/Backend/Assembler64x0.cc
+++ b/src/CompilerKit/src/Backend/Assembler64x0.cc
@@ -24,8 +24,8 @@
#include <CompilerKit/AE.h>
#include <CompilerKit/AST.h>
#include <CompilerKit/PEF.h>
-#include <CompilerKit/impl/64x0.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Detail/64x0.h>
+#include <CompilerKit/Utilities/Compiler.h>
#include <algorithm>
#include <filesystem>
#include <fstream>
diff --git a/src/CompilerKit/src/Backend/AssemblerAMD64.cc b/src/CompilerKit/src/Backend/AssemblerAMD64.cc
index 823a1c7..ba1dd77 100644
--- a/src/CompilerKit/src/Backend/AssemblerAMD64.cc
+++ b/src/CompilerKit/src/Backend/AssemblerAMD64.cc
@@ -31,7 +31,7 @@
#include <CompilerKit/AE.h>
#include <CompilerKit/AST.h>
#include <CompilerKit/PEF.h>
-#include <CompilerKit/impl/X64.h>
+#include <CompilerKit/Detail/AMD64.h>
#include <algorithm>
#include <cstdlib>
#include <filesystem>
@@ -75,7 +75,7 @@ static const std::string kUndefinedSymbol = ":UndefinedSymbol:";
// \brief forward decl.
static bool asm_read_attributes(std::string line);
-#include <CompilerKit/utils/AsmUtils.h>
+#include <CompilerKit/Utilities/Assembler.h>
/////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/CompilerKit/src/Backend/AssemblerARM64.cc b/src/CompilerKit/src/Backend/AssemblerARM64.cc
index 78cba1c..abc7d13 100644
--- a/src/CompilerKit/src/Backend/AssemblerARM64.cc
+++ b/src/CompilerKit/src/Backend/AssemblerARM64.cc
@@ -21,11 +21,11 @@
#include <CompilerKit/AE.h>
#include <CompilerKit/AST.h>
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
#include <CompilerKit/PEF.h>
-#include <CompilerKit/impl/Aarch64.h>
-#include <CompilerKit/utils/AsmUtils.h>
+#include <CompilerKit/Detail/Aarch64.h>
+#include <CompilerKit/Utilities/Assembler.h>
#include <algorithm>
#include <filesystem>
#include <fstream>
diff --git a/src/CompilerKit/src/Backend/AssemblerPowerPC.cc b/src/CompilerKit/src/Backend/AssemblerPowerPC.cc
index 0ad59d2..c7d57e3 100644
--- a/src/CompilerKit/src/Backend/AssemblerPowerPC.cc
+++ b/src/CompilerKit/src/Backend/AssemblerPowerPC.cc
@@ -21,11 +21,11 @@
#include <CompilerKit/AE.h>
#include <CompilerKit/AST.h>
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
#include <CompilerKit/PEF.h>
-#include <CompilerKit/impl/PowerPC.h>
-#include <CompilerKit/utils/AsmUtils.h>
+#include <CompilerKit/Detail/Power64.h>
+#include <CompilerKit/Utilities/Assembler.h>
#include <algorithm>
#include <filesystem>
#include <fstream>
diff --git a/src/CompilerKit/src/Frontend/CCompiler64x0.cc b/src/CompilerKit/src/Frontend/CCompiler64x0.cc
index 8cceb37..e0aed61 100644
--- a/src/CompilerKit/src/Frontend/CCompiler64x0.cc
+++ b/src/CompilerKit/src/Frontend/CCompiler64x0.cc
@@ -12,8 +12,8 @@
#include <CompilerKit/AST.h>
#include <CompilerKit/UUID.h>
-#include <CompilerKit/impl/64x0.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Detail/64x0.h>
+#include <CompilerKit/Utilities/Compiler.h>
#include <cstdio>
#include <fstream>
#include <iostream>
@@ -39,11 +39,7 @@
/////////////////////
-#define kExitOK (0)
-
-#define kBlank "\e[0;30m"
-#define kRed "\e[0;31m"
-#define kWhite "\e[0;97m"
+#define kFrontendExt ".c"
/////////////////////////////////////
@@ -1179,25 +1175,10 @@ class AssemblyCCInterface final CK_ASSEMBLY_INTERFACE {
kState.fOutputAssembly->flush();
kState.fOutputAssembly.reset();
- return kExitOK;
+ return EXIT_SUCCESS;
}
};
-/////////////////////////////////////////////////////////////////////////////////////////
-
-#include <CompilerKit/detail/Config.h>
-
-#define kPrintF printf
-#define kSplashCxx() kPrintF(kWhite "NeCTI C Driver, %s, (c) Amlal El Mahrouss\n", kDistVersion)
-
-static void cc_print_help() {
- kSplashCxx();
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-#define kExt ".c"
-
NECTI_MODULE(CompilerCLang64x0) {
::signal(SIGSEGV, Detail::drvi_crash_handler);
@@ -1222,8 +1203,7 @@ NECTI_MODULE(CompilerCLang64x0) {
if (argv[index][0] == '-') {
if (strcmp(argv[index], "--v") == 0 || strcmp(argv[index], "--version") == 0) {
- kSplashCxx();
- return kExitOK;
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "--verbose") == 0) {
@@ -1233,15 +1213,13 @@ NECTI_MODULE(CompilerCLang64x0) {
}
if (strcmp(argv[index], "--h") == 0 || strcmp(argv[index], "--help") == 0) {
- cc_print_help();
-
- return kExitOK;
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "--dialect") == 0) {
if (kCompilerFrontend) std::cout << kCompilerFrontend->Language() << "\n";
- return kExitOK;
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "--fmax-exceptions") == 0) {
@@ -1270,7 +1248,7 @@ NECTI_MODULE(CompilerCLang64x0) {
std::string srcFile = argv[index];
- if (strstr(argv[index], kExt) == nullptr) {
+ if (strstr(argv[index], kFrontendExt) == nullptr) {
if (kState.fVerbose) {
Detail::print_error(srcFile + " is not a valid C source.\n", "cc");
}
@@ -1278,10 +1256,10 @@ NECTI_MODULE(CompilerCLang64x0) {
return 1;
}
- if (kFactory.Compile(srcFile, kMachine) != kExitOK) return 1;
+ if (kFactory.Compile(srcFile, kMachine) != EXIT_SUCCESS) return 1;
}
- return kExitOK;
+ return EXIT_SUCCESS;
}
// Last rev 8-1-24
diff --git a/src/CompilerKit/src/Frontend/CCompilerARM64.cc b/src/CompilerKit/src/Frontend/CCompilerARM64.cc
index ffee4a8..811f4ea 100644
--- a/src/CompilerKit/src/Frontend/CCompilerARM64.cc
+++ b/src/CompilerKit/src/Frontend/CCompilerARM64.cc
@@ -12,8 +12,8 @@
#include <CompilerKit/AST.h>
#include <CompilerKit/UUID.h>
-#include <CompilerKit/impl/Aarch64.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Detail/Aarch64.h>
+#include <CompilerKit/Utilities/Compiler.h>
#include <cstdio>
#include <fstream>
@@ -40,11 +40,7 @@
/////////////////////
-#define kExitOK (0)
-
-#define kBlank "\e[0;30m"
-#define kRed "\e[0;31m"
-#define kWhite "\e[0;97m"
+#define kCExtension ".c"
/////////////////////////////////////
@@ -1178,25 +1174,10 @@ class AssemblyCCInterface final CK_ASSEMBLY_INTERFACE {
kState.fOutputAssembly->flush();
kState.fOutputAssembly.reset();
- return kExitOK;
+ return EXIT_SUCCESS;
}
};
-/////////////////////////////////////////////////////////////////////////////////////////
-
-#include <CompilerKit/detail/Config.h>
-
-#define kPrintF printf
-#define kSplashCxx() kPrintF(kWhite "NeCTI C Driver, %s, (c) Amlal El Mahrouss\n", kDistVersion)
-
-static void cc_print_help() {
- kSplashCxx();
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-#define kCExtension ".c"
-
NECTI_MODULE(CompilerCLangARM64) {
::signal(SIGSEGV, Detail::drvi_crash_handler);
@@ -1221,8 +1202,7 @@ NECTI_MODULE(CompilerCLangARM64) {
if (argv[index][0] == '-') {
if (strcmp(argv[index], "--v") == 0 || strcmp(argv[index], "--version") == 0) {
- kSplashCxx();
- return kExitOK;
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "--verbose") == 0) {
@@ -1232,15 +1212,13 @@ NECTI_MODULE(CompilerCLangARM64) {
}
if (strcmp(argv[index], "--h") == 0 || strcmp(argv[index], "--help") == 0) {
- cc_print_help();
-
- return kExitOK;
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "--dialect") == 0) {
if (kCompilerFrontend) std::cout << kCompilerFrontend->Language() << "\n";
- return kExitOK;
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "--fmax-exceptions") == 0) {
@@ -1277,10 +1255,10 @@ NECTI_MODULE(CompilerCLangARM64) {
return 1;
}
- if (kFactory.Compile(srcFile, kMachine) != kExitOK) return 1;
+ if (kFactory.Compile(srcFile, kMachine) != EXIT_SUCCESS) return 1;
}
- return kExitOK;
+ return EXIT_SUCCESS;
}
// Last rev 8-1-24
diff --git a/src/CompilerKit/src/Frontend/CCompilerPower64.cc b/src/CompilerKit/src/Frontend/CCompilerPower64.cc
index cee3cd2..03c4d66 100644
--- a/src/CompilerKit/src/Frontend/CCompilerPower64.cc
+++ b/src/CompilerKit/src/Frontend/CCompilerPower64.cc
@@ -9,8 +9,8 @@
#include <CompilerKit/AST.h>
#include <CompilerKit/UUID.h>
-#include <CompilerKit/impl/PowerPC.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Detail/Power64.h>
+#include <CompilerKit/Utilities/Compiler.h>
#include <cstdio>
#include <fstream>
#include <iostream>
@@ -20,22 +20,12 @@
#include <utility>
#include <vector>
-#define kExitOK 0
+#define kSourceExt ".c"
/// @author Amlal El Mahrouss (amlal@nekernel.org)
/// @file cc.cc
/// @brief POWER64 C Compiler.
-/////////////////////
-
-/// ANSI ESCAPE CODES
-
-/////////////////////
-
-#define kBlank "\e[0;30m"
-#define kRed "\e[0;31m"
-#define kWhite "\e[0;97m"
-
/////////////////////////////////////
/// INTERNAL STRUCTURES OF THE C COMPILER
@@ -1196,25 +1186,10 @@ class AssemblyMountpointCLang final CK_ASSEMBLY_INTERFACE {
kState.fOutputAssembly->flush();
kState.fOutputAssembly.reset();
- return kExitOK;
+ return EXIT_SUCCESS;
}
};
-/////////////////////////////////////////////////////////////////////////////////////////
-
-#include <CompilerKit/detail/Config.h>
-
-#define kPrintF printf
-#define kSplashCxx() kPrintF(kWhite "cc, %s, (c) Amlal El Mahrouss\n", kDistVersion)
-
-static void cc_print_help() {
- kSplashCxx();
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-#define kExt ".c"
-
NECTI_MODULE(CompilerCLangPowerPC) {
::signal(SIGSEGV, Detail::drvi_crash_handler);
@@ -1239,8 +1214,8 @@ NECTI_MODULE(CompilerCLangPowerPC) {
if (argv[index][0] == '-') {
if (strcmp(argv[index], "-v") == 0 || strcmp(argv[index], "-version") == 0) {
- kSplashCxx();
- return kExitOK;
+ // AMLALE Compiler Version.
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "-verbose") == 0) {
@@ -1250,15 +1225,14 @@ NECTI_MODULE(CompilerCLangPowerPC) {
}
if (strcmp(argv[index], "-h") == 0 || strcmp(argv[index], "-help") == 0) {
- cc_print_help();
-
- return kExitOK;
+ // AMLALE Compiler Help.
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "-dialect") == 0) {
if (kCompilerFrontend) std::cout << kCompilerFrontend->Language() << "\n";
- return kExitOK;
+ return EXIT_SUCCESS;
}
if (strcmp(argv[index], "-fmax-exceptions") == 0) {
@@ -1287,7 +1261,7 @@ NECTI_MODULE(CompilerCLangPowerPC) {
std::string srcFile = argv[index];
- if (strstr(argv[index], kExt) == nullptr) {
+ if (strstr(argv[index], kSourceExt) == nullptr) {
if (kState.fVerbose) {
Detail::print_error(srcFile + " is not a valid C source.\n", "cc");
}
@@ -1295,10 +1269,10 @@ NECTI_MODULE(CompilerCLangPowerPC) {
return 1;
}
- if (kFactory.Compile(srcFile, kMachine) != kExitOK) return 1;
+ if (kFactory.Compile(srcFile, kMachine) != EXIT_SUCCESS) return 1;
}
- return kExitOK;
+ return EXIT_SUCCESS;
}
// Last rev 8-1-24
diff --git a/src/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc b/src/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc
index c3f6197..87de974 100644
--- a/src/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc
+++ b/src/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc
@@ -21,21 +21,11 @@
///////////////////////
-#define kPrintF printf
-#define kPrintErr std::cerr
-
-#define kExitOK (EXIT_SUCCESS)
-#define kExitNO (EXIT_FAILURE)
-
-#define kBlank "\e[0;30m"
-#define kRed "\e[0;31m"
-#define kWhite "\e[0;97m"
-
#include <CompilerKit/AST.h>
#include <CompilerKit/PEF.h>
#include <CompilerKit/UUID.h>
-#include <CompilerKit/impl/X64.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Detail/AMD64.h>
+#include <CompilerKit/Utilities/Compiler.h>
#include <csignal>
#include <cstdlib>
#include <filesystem>
@@ -738,7 +728,7 @@ class AssemblyCPlusPlusInterfaceAMD64 final CK_ASSEMBLY_INTERFACE {
UInt32 Arch() noexcept override { return CompilerKit::AssemblyFactory::kArchAMD64; }
Int32 CompileToFormat(CompilerKit::STLString src, Int32 arch) override {
- if (kFrontend == nullptr) return kExitNO;
+ if (kFrontend == nullptr) return EXIT_FAILURE;
CompilerKit::STLString dest = src;
dest += ".pp.masm";
@@ -755,7 +745,7 @@ class AssemblyCPlusPlusInterfaceAMD64 final CK_ASSEMBLY_INTERFACE {
out_fp << kFrontend->Compile(line_source, src).fUserValue;
}
- return kExitOK;
+ return EXIT_SUCCESS;
}
};
@@ -887,7 +877,7 @@ NECTI_MODULE(CompilerCPlusPlusAMD64) {
for (CompilerKit::STLString ext : exts) {
if (argv_i.ends_with(ext)) {
- if (kAssembler.Compile(argv_i, kMachine) != kExitOK) {
+ if (kAssembler.Compile(argv_i, kMachine) != EXIT_SUCCESS) {
return NECTI_INVALID_DATA;
}
diff --git a/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc b/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc
index b5e21f1..58a06d2 100644
--- a/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc
+++ b/src/CompilerKit/src/Linker/DynamicLinker64PEF.cc
@@ -15,11 +15,11 @@
#include <CompilerKit/AE.h>
#include <CompilerKit/CodeGenerator.h>
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
#include <CompilerKit/PEF.h>
#include <CompilerKit/UUID.h>
-#include <CompilerKit/utils/CompilerUtils.h>
+#include <CompilerKit/Utilities/Compiler.h>
#include <filesystem>
#define kLinkerVersionStr "NeCTI 64-Bit Linker (Preferred Executable Format)"
@@ -31,8 +31,7 @@
#define kLinkerId (0x5046FF)
#define kLinkerAbiContainer "__PEFContainer:ABI:"
-#define kPrintF printf
-#define kLinkerSplash() kConsoleOut << kLinkerVersionStr << std::endl
+#define kLinkerSplash() kStdOut << kLinkerVersionStr << std::endl
/// @brief PEF stack size symbol.
#define kLinkerStackSizeSymbol "__PEFSizeOfReserveStack"
diff --git a/src/DebuggerKit/DebuggerContract.h b/src/DebuggerKit/DebuggerContract.h
index e727b3b..04b9b32 100644
--- a/src/DebuggerKit/DebuggerContract.h
+++ b/src/DebuggerKit/DebuggerContract.h
@@ -6,7 +6,7 @@
#pragma once
-#include <DebuggerKit/detail/Config.h>
+#include <DebuggerKit/Detail/Config.h>
#include <unordered_map>
#define DK_DEBUGGER_CONTRACT : public ::DebuggerKit::IDebuggerContract
diff --git a/src/DebuggerKit/detail/Config.h b/src/DebuggerKit/Detail/Config.h
index 5d6d26b..7124543 100644
--- a/src/DebuggerKit/detail/Config.h
+++ b/src/DebuggerKit/Detail/Config.h
@@ -10,7 +10,7 @@
/// @author Amlal El Mahrouss
/// =========================================================== ///
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <arpa/inet.h>
#include <sys/socket.h>
diff --git a/src/DebuggerKit/NeKernelContract.h b/src/DebuggerKit/NeKernelContract.h
index bbcc061..1448fa7 100644
--- a/src/DebuggerKit/NeKernelContract.h
+++ b/src/DebuggerKit/NeKernelContract.h
@@ -12,7 +12,7 @@
#ifdef DK_NEKERNEL_DEBUGGER
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <DebuggerKit/DebuggerContract.h>
namespace DebuggerKit::NeKernel {
diff --git a/src/DebuggerKit/src/NeKernelContract.cc b/src/DebuggerKit/src/NeKernelContract.cc
index 383056c..b62ee6e 100644
--- a/src/DebuggerKit/src/NeKernelContract.cc
+++ b/src/DebuggerKit/src/NeKernelContract.cc
@@ -9,10 +9,10 @@
/// @author Amlal El Mahrouss
/// @brief Kernel Debugger Protocol
-#include <CompilerKit/detail/Config.h>
-#include <DebuggerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
+#include <DebuggerKit/Detail/Config.h>
#include <DebuggerKit/NeKernelContract.h>
-#include <ThirdParty/Dialogs.h>
+#include <ThirdParty/Dialogs/Dialogs.h>
using namespace DebuggerKit::NeKernel;
using namespace DebuggerKit::NeKernel::Detail;
diff --git a/src/DebuggerKit/src/NeKernelContractCLI.cc b/src/DebuggerKit/src/NeKernelContractCLI.cc
index 467676c..3079568 100644
--- a/src/DebuggerKit/src/NeKernelContractCLI.cc
+++ b/src/DebuggerKit/src/NeKernelContractCLI.cc
@@ -6,9 +6,9 @@
#ifdef DK_NEKERNEL_DEBUGGER
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <DebuggerKit/NeKernelContract.h>
-#include <ThirdParty/Dialogs.h>
+#include <ThirdParty/Dialogs/Dialogs.h>
#include <string>
#include <DebuggerKit/Common.inl>
diff --git a/src/DebuggerKit/src/POSIXMachContractCLI.cc b/src/DebuggerKit/src/POSIXMachContractCLI.cc
index 1530a03..9093ec2 100644
--- a/src/DebuggerKit/src/POSIXMachContractCLI.cc
+++ b/src/DebuggerKit/src/POSIXMachContractCLI.cc
@@ -6,9 +6,9 @@
#ifdef DK_MACH_DEBUGGER
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <DebuggerKit/POSIXMachContract.h>
-#include <ThirdParty/Dialogs.h>
+#include <ThirdParty/Dialogs/Dialogs.h>
#ifdef __APPLE__
#include <DebuggerKit/Common.inl>
diff --git a/src/ThirdParty/Dialogs.h b/src/ThirdParty/Dialogs/Dialogs.h
index f632026..f632026 100644
--- a/src/ThirdParty/Dialogs.h
+++ b/src/ThirdParty/Dialogs/Dialogs.h
diff --git a/src/Tools/asm.cc b/src/Tools/asm.cc
index e07bc32..90b104c 100644
--- a/src/Tools/asm.cc
+++ b/src/Tools/asm.cc
@@ -7,7 +7,7 @@
/// @file asm.cc
/// @brief Assembler frontend.
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <cstring>
#include <vector>
diff --git a/src/Tools/cppdrv.cc b/src/Tools/cppdrv.cc
index 566c0c5..05ffcec 100644
--- a/src/Tools/cppdrv.cc
+++ b/src/Tools/cppdrv.cc
@@ -7,7 +7,7 @@
/// @file cxxdrv.cc
/// @brief NeCTI frontend preprocessor.
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
#include <cstring>
#include <iostream>
diff --git a/src/Tools/dbg.cc b/src/Tools/dbg.cc
index 25deacb..b8c4932 100644
--- a/src/Tools/dbg.cc
+++ b/src/Tools/dbg.cc
@@ -4,7 +4,7 @@
======================================== */
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
/// @file dbg.cc
/// @brief NeCTI debugger.
diff --git a/src/Tools/kdbg.cc b/src/Tools/kdbg.cc
index 1811f56..ca82002 100644
--- a/src/Tools/kdbg.cc
+++ b/src/Tools/kdbg.cc
@@ -4,7 +4,7 @@
======================================== */
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
/// @file kdbg.cc
/// @brief NeKernel debugger.
diff --git a/src/Tools/ld64.cc b/src/Tools/ld64.cc
index 6955870..a2ce544 100644
--- a/src/Tools/ld64.cc
+++ b/src/Tools/ld64.cc
@@ -4,7 +4,7 @@
======================================== */
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
/// @file ld64.cc
/// @brief NeCTI linker for AE objects.
diff --git a/src/Tools/pef-amd64-cxxdrv.cc b/src/Tools/pef-amd64-cxxdrv.cc
index 7060d86..9c29a88 100644
--- a/src/Tools/pef-amd64-cxxdrv.cc
+++ b/src/Tools/pef-amd64-cxxdrv.cc
@@ -7,10 +7,10 @@
/// @file cxxdrv.cc
/// @brief NeCTI C++ frontend compiler.
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
-#include <CompilerKit/utils/CompilerUtils.h>
-#include <CompilerKit/utils/DylibHelpers.h>
+#include <CompilerKit/Utilities/Compiler.h>
+#include <CompilerKit/Utilities/DLL.h>
#ifdef __APPLE__
static auto kPath = "/usr/local/lib/libCompilerKit.dylib";
diff --git a/src/Tools/pef-arm64-cdrv.cc b/src/Tools/pef-arm64-cdrv.cc
index b7557f3..97812b7 100644
--- a/src/Tools/pef-arm64-cdrv.cc
+++ b/src/Tools/pef-arm64-cdrv.cc
@@ -7,10 +7,10 @@
/// @file cxxdrv.cc
/// @brief NeCTI C++ frontend compiler.
-#include <CompilerKit/detail/Config.h>
+#include <CompilerKit/Detail/Config.h>
#include <CompilerKit/ErrorID.h>
-#include <CompilerKit/utils/CompilerUtils.h>
-#include <CompilerKit/utils/DylibHelpers.h>
+#include <CompilerKit/Utilities/Compiler.h>
+#include <CompilerKit/Utilities/DLL.h>
#ifdef __APPLE__
static auto kPath = "/usr/local/lib/libCompilerKit.dylib";
diff --git a/tests/samples/sample.cc.pp b/tests/samples/sample.cc.pp
deleted file mode 100644
index cb3f748..0000000
--- a/tests/samples/sample.cc.pp
+++ /dev/null
@@ -1,3 +0,0 @@
-int main() {
- return 0;
-}
diff --git a/tests/test_01_codegen/codegen_test.cc b/tests/test_01_codegen/codegen_test.cc
index 24d4bf6..d94379a 100644
--- a/tests/test_01_codegen/codegen_test.cc
+++ b/tests/test_01_codegen/codegen_test.cc
@@ -10,6 +10,6 @@
#include <gtest/gtest.h>
TEST(CodegenTest, BasicCodegenTest) {
- auto expr = std::system("asm -asm-x64 sample/sample.asm");
+ auto expr = std::system("asm -asm-x64 test_samples/sample.asm");
EXPECT_TRUE(expr == 0) << "ASM Driver did not compile the easy ASM unit.";
}
diff --git a/tests/test_02_linker/linker_test.cc b/tests/test_02_linker/linker_test.cc
index e164717..d126060 100644
--- a/tests/test_02_linker/linker_test.cc
+++ b/tests/test_02_linker/linker_test.cc
@@ -11,19 +11,19 @@
/// c++
TEST(LinkerTest, BasicLinkTest) {
- auto expr = std::system("pef-amd64-cxxdrv sample/sample.cc");
+ auto expr = std::system("pef-amd64-cxxdrv test_samples/sample.cc");
EXPECT_TRUE(expr == 0) << "C++ Driver did not compile the easy C++ unit.";
}
/// assemble
TEST(LinkerTest, BasicLinkTest2) {
- auto expr = std::system("asm -asm:x64 sample/sample.cc.pp.masm");
+ auto expr = std::system("asm -asm:x64 test_samples/sample.cc.pp.masm");
EXPECT_TRUE(expr == 0) << "Assembler did not assemble the easy asm unit.";
}
/// link
TEST(LinkerTest, BasicLinkTest3) {
auto expr =
- std::system("ld64 -amd64 sample/sample.cc.pp.obj -start __NECTI_main -output main.exec");
+ std::system("ld64 -amd64 test_samples/sample.cc.pp.obj -start __NECTI_main -output main.exec");
EXPECT_TRUE(expr == 0) << "Linker did not link the easy object.";
}
diff --git a/tests/samples/sample.asm b/tests/test_samples/sample.asm
index 82c0320..82c0320 100644
--- a/tests/samples/sample.asm
+++ b/tests/test_samples/sample.asm
diff --git a/tests/samples/sample.cc b/tests/test_samples/sample.cc
index 4cce7f6..4cce7f6 100644
--- a/tests/samples/sample.cc
+++ b/tests/test_samples/sample.cc