diff options
Diffstat (limited to 'dev')
49 files changed, 136 insertions, 136 deletions
diff --git a/dev/CompilerKit/AE.h b/dev/CompilerKit/AE.h index 30f07c1..b8e076d 100644 --- a/dev/CompilerKit/AE.h +++ b/dev/CompilerKit/AE.h @@ -2,7 +2,7 @@ * ======================================================== * * CompilerKit - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ diff --git a/dev/CompilerKit/Compiler.h b/dev/CompilerKit/Compiler.h index 46059b8..3da99ca 100644 --- a/dev/CompilerKit/Compiler.h +++ b/dev/CompilerKit/Compiler.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/Defines.h b/dev/CompilerKit/Defines.h index 36d51ef..56e8dd3 100644 --- a/dev/CompilerKit/Defines.h +++ b/dev/CompilerKit/Defines.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ @@ -23,10 +23,6 @@ #define NO false #endif // ifndef NO -#ifndef BOOL -#define BOOL bool -#endif // ifndef BOOL - #define SizeType size_t #define VoidPtr void* diff --git a/dev/CompilerKit/ErrorID.h b/dev/CompilerKit/ErrorID.h index 5b8d1e8..7c76f86 100644 --- a/dev/CompilerKit/ErrorID.h +++ b/dev/CompilerKit/ErrorID.h @@ -2,7 +2,7 @@ * ======================================================== * * CompilerKit - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ diff --git a/dev/CompilerKit/ErrorOr.h b/dev/CompilerKit/ErrorOr.h index ef6cb84..d5a1c08 100644 --- a/dev/CompilerKit/ErrorOr.h +++ b/dev/CompilerKit/ErrorOr.h @@ -2,19 +2,20 @@ * ======================================================== * * CompilerKit - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ #pragma once +#include <CompilerKit/StringKit.h> #include <CompilerKit/Defines.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/Ref.h> namespace CompilerKit { -using ErrorT = UInt32; +using ErrorT = Int32; template <typename T> class ErrorOr final { @@ -23,18 +24,16 @@ class ErrorOr final { ~ErrorOr() = default; public: - explicit ErrorOr(Int32 err) : mId(err) {} - - explicit ErrorOr(nullPtr Null) {} - - explicit ErrorOr(T Class) : mRef(Class) {} + explicit ErrorOr(ErrorT err) : mId(err) {} + explicit ErrorOr(nullPtr null) {} + explicit ErrorOr(T klass) : mRef(klass) {} ErrorOr& operator=(const ErrorOr&) = default; ErrorOr(const ErrorOr&) = default; Ref<T> Leak() { return mRef; } - Int32 Error() { return mId; } + ErrorT Error() { return mId; } Bool HasError() { return mId != NECTI_SUCCESS; } @@ -42,9 +41,9 @@ class ErrorOr final { private: Ref<T> mRef; - Int32 mId{0}; + ErrorT mId{0}; }; -using ErrorOrAny = ErrorOr<voidPtr>; - +using ErrorOrAny = ErrorOr<VoidPtr>; +using ErrorOrString = ErrorOr<STLString>; } // namespace CompilerKit diff --git a/dev/CompilerKit/Frontend.h b/dev/CompilerKit/Frontend.h index 0f81342..4b03651 100644 --- a/dev/CompilerKit/Frontend.h +++ b/dev/CompilerKit/Frontend.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ @@ -11,7 +11,7 @@ #define CK_COMPILER_FRONTEND : public ::CompilerKit::CompilerFrontendInterface namespace CompilerKit { -inline static auto kInvalidFrontend = "?"; +inline static auto kInvalidFrontend = "(null)"; struct SyntaxLeafList; struct SyntaxLeafList; @@ -85,7 +85,7 @@ struct SyntaxLeafList final { /// \param haystack base string /// \param needle the string we search for. /// \return if we found it or not. -BOOL find_word(STLString haystack, STLString needle) noexcept; +Bool find_word(STLString haystack, STLString needle) noexcept; /// find a word within strict conditions and returns a range of it. /// \param haystack @@ -113,6 +113,7 @@ class CompilerFrontendInterface { //! @brief What language are we dealing with? virtual const char* Language() { return kInvalidFrontend; } + /// @brief Checks if language is a valid frontend. virtual bool IsValid() { return strcmp(this->Language(), kInvalidFrontend) > 0; } }; } // namespace CompilerKit diff --git a/dev/CompilerKit/Macros.h b/dev/CompilerKit/Macros.h index 17e1b21..fdef375 100644 --- a/dev/CompilerKit/Macros.h +++ b/dev/CompilerKit/Macros.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ @@ -25,9 +25,5 @@ KLASS& operator=(KLASS&&) = default; \ KLASS(KLASS&&) = default; -/// @note xxxx is the error placeholder, in hexadecimal. -#define NECTI_ERROR_PREFIX_CXX "CXXxxxx" -#define NECTI_ERROR_PREFIX_CL "CLxxxx" -#define NECTI_ERROR_PREFIX_ASM "ASMxxxx" #endif /* ifndef _NECTI_MACROS_H_ */ diff --git a/dev/CompilerKit/PEF.h b/dev/CompilerKit/PEF.h index db317fa..dd2e03a 100644 --- a/dev/CompilerKit/PEF.h +++ b/dev/CompilerKit/PEF.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/Ref.h b/dev/CompilerKit/Ref.h index 381b628..5869644 100644 --- a/dev/CompilerKit/Ref.h +++ b/dev/CompilerKit/Ref.h @@ -3,7 +3,7 @@ * ======================================================== * * CompilerKit - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ @@ -13,8 +13,8 @@ #include <CompilerKit/Defines.h> namespace CompilerKit { -// @author EL Mahrouss Amlal -// @brief Reference holder class, refers to a pointer of data in static memory. +/// @author El Mahrouss Amlal +/// @brief Reference holder class, refers to a pointer of data in static memory. template <typename T> class Ref final { public: @@ -54,7 +54,7 @@ class Ref final { Bool m_Strong{false}; }; -// @author EL Mahrouss Amlal +// @author El Mahrouss Amlal // @brief Non null Reference holder class, refers to a pointer of data in static memory. template <typename T> class NonNullRef final { diff --git a/dev/CompilerKit/StringKit.h b/dev/CompilerKit/StringKit.h index c4efbee..69efb9c 100644 --- a/dev/CompilerKit/StringKit.h +++ b/dev/CompilerKit/StringKit.h @@ -2,7 +2,7 @@ * ======================================================== * * CompilerKit - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ diff --git a/dev/CompilerKit/UUID.h b/dev/CompilerKit/UUID.h index 39db276..1218fab 100644 --- a/dev/CompilerKit/UUID.h +++ b/dev/CompilerKit/UUID.h @@ -3,6 +3,7 @@ #include <array> #include <atomic> +#include <cctype> #include <chrono> #include <cstring> #include <functional> @@ -85,16 +86,8 @@ namespace Detail { } template <typename TChar> - [[nodiscard]] constexpr inline bool is_hex(TChar const ch) noexcept { - return (ch >= static_cast<TChar>('0') && ch <= static_cast<TChar>('9')) || - (ch >= static_cast<TChar>('a') && ch <= static_cast<TChar>('f')) || - (ch >= static_cast<TChar>('A') && ch <= static_cast<TChar>('F')); - } - - template <typename TChar> [[nodiscard]] constexpr std::basic_string_view<TChar> to_string_view(TChar const* str) noexcept { - if (str) return str; - return {}; + return str; } template <typename StringType> @@ -437,7 +430,7 @@ class uuid { for (size_t i = hasBraces; i < str.size() - hasBraces; ++i) { if (str[i] == '-') continue; - if (index >= 16 || !Detail::is_hex(str[i])) { + if (index >= 16 || !std::isxdigit(static_cast<unsigned char>(str[i]))) { return false; } @@ -474,7 +467,7 @@ class uuid { for (size_t i = hasBraces; i < str.size() - hasBraces; ++i) { if (str[i] == '-') continue; - if (index >= 16 || !Detail::is_hex(str[i])) { + if (index >= 16 || !std::isxdigit(static_cast<unsigned char>(str[i]))) { return {}; } @@ -600,11 +593,10 @@ class uuid_system_generator { static_cast<unsigned char>((newId.Data1 >> 16) & 0xFF), static_cast<unsigned char>((newId.Data1 >> 8) & 0xFF), static_cast<unsigned char>((newId.Data1) & 0xFF), - - (unsigned char) ((newId.Data2 >> 8) & 0xFF), (unsigned char) ((newId.Data2) & 0xFF), - - (unsigned char) ((newId.Data3 >> 8) & 0xFF), (unsigned char) ((newId.Data3) & 0xFF), - + static_cast<unsigned char>((newId.Data2 >> 8) & 0xFF), + static_cast<unsigned char>((newId.Data2) & 0xFF), + static_cast<unsigned char>((newId.Data3 >> 8) & 0xFF), + static_cast<unsigned char>((newId.Data3) & 0xFF), newId.Data4[0], newId.Data4[1], newId.Data4[2], newId.Data4[3], newId.Data4[4], newId.Data4[5], newId.Data4[6], newId.Data4[7]}}; @@ -832,4 +824,4 @@ struct hash<uuids::uuid> { }; } // namespace std -#endif /* STDUUID_H */
\ No newline at end of file +#endif /* STDUUID_H */ diff --git a/dev/CompilerKit/Version.h b/dev/CompilerKit/Version.h index 93a7c00..dd5e1f8 100644 --- a/dev/CompilerKit/Version.h +++ b/dev/CompilerKit/Version.h @@ -1,12 +1,12 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ #pragma once -#define kDistVersion "v0.0.2-libcompiler" +#define kDistVersion "v0.0.6-compilerkit" #define kDistVersionBCD 0x0002 #define ToString(X) Stringify(X) diff --git a/dev/CompilerKit/XCOFF.h b/dev/CompilerKit/XCOFF.h index 45b6730..e6e1631 100644 --- a/dev/CompilerKit/XCOFF.h +++ b/dev/CompilerKit/XCOFF.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 File: XCOFF.h Purpose: XCOFF for NeKernel. diff --git a/dev/CompilerKit/impl/32x0.h b/dev/CompilerKit/impl/32x0.h index 635833e..05d9c27 100644 --- a/dev/CompilerKit/impl/32x0.h +++ b/dev/CompilerKit/impl/32x0.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/impl/64x0.h b/dev/CompilerKit/impl/64x0.h index 116c5ae..a720332 100644 --- a/dev/CompilerKit/impl/64x0.h +++ b/dev/CompilerKit/impl/64x0.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/impl/Aarch64.h b/dev/CompilerKit/impl/Aarch64.h index 939235f..8465756 100644 --- a/dev/CompilerKit/impl/Aarch64.h +++ b/dev/CompilerKit/impl/Aarch64.h @@ -1,6 +1,6 @@ /* ------------------------------------------- -Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved +Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/impl/X64.h b/dev/CompilerKit/impl/X64.h index 3e9c840..7dc44f2 100644 --- a/dev/CompilerKit/impl/X64.h +++ b/dev/CompilerKit/impl/X64.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/src/AssemblyFactory.cc b/dev/CompilerKit/src/AssemblyFactory.cc index 1f08b32..927fcdd 100644 --- a/dev/CompilerKit/src/AssemblyFactory.cc +++ b/dev/CompilerKit/src/AssemblyFactory.cc @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ @@ -10,7 +10,7 @@ /** * @file AssemblyFactory.cc * @author Amlal El Mahrouss (amlal@nekernel.org) - * @brief Compiler API of NeCTI + * @brief Assembly API of NeCTI * @version 0.0.2 * * @copyright Copyright (c) 2024-2025 Amlal El Mahrouss diff --git a/dev/CompilerKit/src/Backend/Assembler32x0.cc b/dev/CompilerKit/src/Backend/Assembler32x0.cc index 5534f59..e85a510 100644 --- a/dev/CompilerKit/src/Backend/Assembler32x0.cc +++ b/dev/CompilerKit/src/Backend/Assembler32x0.cc @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ @@ -9,7 +9,7 @@ ///////////////////////////////////////////////////////////////////////////////////////// // @file 32asm.cc -// @author EL Mahrouss Amlal +// @author El Mahrouss Amlal // @brief 32x0 Assembler. // REMINDER: when dealing with an undefined symbol use (string diff --git a/dev/CompilerKit/src/Backend/Assembler64x0.cc b/dev/CompilerKit/src/Backend/Assembler64x0.cc index 7aa991b..d0cf327 100644 --- a/dev/CompilerKit/src/Backend/Assembler64x0.cc +++ b/dev/CompilerKit/src/Backend/Assembler64x0.cc @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ @@ -9,7 +9,7 @@ ///////////////////////////////////////////////////////////////////////////////////////// // @file Assembler64x0.cc -// @author EL Mahrouss Amlal +// @author El Mahrouss Amlal // @brief 64x000 Assembler. // REMINDER: when dealing with an undefined symbol use (string diff --git a/dev/CompilerKit/src/Backend/AssemblerAMD64.cc b/dev/CompilerKit/src/Backend/AssemblerAMD64.cc index 603b441..c684a07 100644 --- a/dev/CompilerKit/src/Backend/AssemblerAMD64.cc +++ b/dev/CompilerKit/src/Backend/AssemblerAMD64.cc @@ -1,13 +1,13 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ ///////////////////////////////////////////////////////////////////////////////////////// /// @file AssemblerAMD64.cc -/// @author EL Mahrouss Amlal +/// @author El Mahrouss Amlal /// @brief AMD64 Assembler. /// REMINDER: when dealing with an undefined symbol use (string /// size):LinkerFindSymbol:(string) so that ld will look for it. @@ -965,7 +965,7 @@ bool CompilerKit::EncoderAMD64::WriteLine(std::string line, std::string file) { {.fName = "si", .fModRM = 0x6}, {.fName = "di", .fModRM = 7}, }; - BOOL foundInstruction = false; + Bool foundInstruction = false; for (auto& opcodeAMD64 : kOpcodesAMD64) { // strict check here diff --git a/dev/CompilerKit/src/Backend/AssemblerARM64.cc b/dev/CompilerKit/src/Backend/AssemblerARM64.cc index fb03da8..0cb7540 100644 --- a/dev/CompilerKit/src/Backend/AssemblerARM64.cc +++ b/dev/CompilerKit/src/Backend/AssemblerARM64.cc @@ -1,13 +1,13 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ ///////////////////////////////////////////////////////////////////////////////////////// /// @file AssemblerARM64.cc -/// @author EL Mahrouss Amlal +/// @author El Mahrouss Amlal /// @brief 'ACORN' Assembler. /// REMINDER: when dealing with an undefined symbol use (string diff --git a/dev/CompilerKit/src/Backend/AssemblerPowerPC.cc b/dev/CompilerKit/src/Backend/AssemblerPowerPC.cc index ffcc102..084e1fe 100644 --- a/dev/CompilerKit/src/Backend/AssemblerPowerPC.cc +++ b/dev/CompilerKit/src/Backend/AssemblerPowerPC.cc @@ -1,13 +1,13 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ ///////////////////////////////////////////////////////////////////////////////////////// /// @file AssemblerPower.cc -/// @author EL Mahrouss Amlal +/// @author El Mahrouss Amlal /// @brief POWER Assembler. /// REMINDER: when dealing with an undefined symbol use (string diff --git a/dev/CompilerKit/src/FrontendHelpers.cc b/dev/CompilerKit/src/Frontend.cc index 37b36f7..d34f064 100644 --- a/dev/CompilerKit/src/FrontendHelpers.cc +++ b/dev/CompilerKit/src/Frontend.cc @@ -1,17 +1,27 @@ /* ------------------------------------------- - Copyright (C) 2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ #include <CompilerKit/Frontend.h> +/** + * @file Frontend.cc + * @author Amlal El Mahrouss (amlal@nekernel.org) + * @brief Frontend API of NeCTI + * @version 0.0.2 + * + * @copyright Copyright (c) 2025 Amlal El Mahrouss and NeKernel.org Contributors + * + */ + namespace CompilerKit { /// find the perfect matching word in a haystack. /// \param haystack base string /// \param needle the string we search for. /// \return if we found it or not. -BOOL find_word(STLString haystack, STLString needle) noexcept { +Bool find_word(STLString haystack, STLString needle) noexcept { auto index = haystack.find(needle); // check for needle validity. diff --git a/dev/CompilerKit/src/Frontend/CCompiler64x0.cc b/dev/CompilerKit/src/Frontend/CCompiler64x0.cc index c23f255..ec72570 100644 --- a/dev/CompilerKit/src/Frontend/CCompiler64x0.cc +++ b/dev/CompilerKit/src/Frontend/CCompiler64x0.cc @@ -2,7 +2,7 @@ * ======================================================== * * cc - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ @@ -27,7 +27,7 @@ /* This is part of the CompilerKit. */ /* (c) Amlal El Mahrouss */ -/// @author EL Mahrouss Amlal (amlel) +/// @author El Mahrouss Amlal (amlel) /// @file 64x0-cc.cc /// @brief 64x0 C Compiler. diff --git a/dev/CompilerKit/src/Frontend/CCompilerARM64.cc b/dev/CompilerKit/src/Frontend/CCompilerARM64.cc index 88e2113..9d1fd87 100644 --- a/dev/CompilerKit/src/Frontend/CCompilerARM64.cc +++ b/dev/CompilerKit/src/Frontend/CCompilerARM64.cc @@ -2,7 +2,7 @@ * ======================================================== * * CCompilerARM64 - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ @@ -28,7 +28,7 @@ /* This is part of the CompilerKit. */ /* (c) Amlal El Mahrouss */ -/// @author EL Mahrouss Amlal (amlel) +/// @author El Mahrouss Amlal (amlel) /// @file ARM64-cc.cc /// @brief ARM64 C Compiler. diff --git a/dev/CompilerKit/src/Frontend/CCompilerPower64.cc b/dev/CompilerKit/src/Frontend/CCompilerPower64.cc index 39bb58c..6cdfc09 100644 --- a/dev/CompilerKit/src/Frontend/CCompilerPower64.cc +++ b/dev/CompilerKit/src/Frontend/CCompilerPower64.cc @@ -2,7 +2,7 @@ * ======================================================== * * CompilerPower64 - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ @@ -22,7 +22,7 @@ #define kExitOK 0 -/// @author EL Mahrouss Amlal (amlal@nekernel.org) +/// @author El Mahrouss Amlal (amlal@nekernel.org) /// @file cc.cc /// @brief POWER64 C Compiler. diff --git a/dev/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc b/dev/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc index 2539f1f..bf6ece0 100644 --- a/dev/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc +++ b/dev/CompilerKit/src/Frontend/CPlusPlusCompilerAMD64.cc @@ -2,19 +2,35 @@ * ======================================================== * * C++ Compiler Driver - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ /// BUGS: 0 +/////////////////////// + +// ANSI ESCAPE CODES // + +/////////////////////// + +/////////////////////// + +// MACROS // + +/////////////////////// + #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/Frontend.h> #include <CompilerKit/PEF.h> #include <CompilerKit/UUID.h> @@ -27,20 +43,10 @@ /* This is part of the CompilerKit. */ /* (c) Amlal El Mahrouss 2024-2025 */ -/// @author EL Mahrouss Amlal (amlal@nekernel.org) +/// @author El Mahrouss Amlal (amlal@nekernel.org) /// @file CPlusPlusCompilerAMD64.cxx /// @brief Optimized C++ Compiler Driver. -/////////////////////// - -// ANSI ESCAPE CODES // - -/////////////////////// - -#define kBlank "\e[0;30m" -#define kRed "\e[0;31m" -#define kWhite "\e[0;97m" - ///////////////////////////////////// // INTERNALS OF THE C++ COMPILER @@ -49,7 +55,7 @@ /// @internal // Avoids relative_path which could discard parts of the original. -std::filesystem::path expand_home(const std::filesystem::path& input) { +std::filesystem::path necti_expand_home(const std::filesystem::path& input) { const std::string& raw = input.string(); if (!raw.empty() && raw[0] == '~') { @@ -115,7 +121,7 @@ static std::vector<CompilerKit::CompilerKeyword> kKeywords; ///////////////////////////////////////// -static CompilerKit::AssemblyFactory kFactory; +static CompilerKit::AssemblyFactory kAssembler; static Boolean kInStruct = false; static Boolean kOnWhileLoop = false; static Boolean kOnForLoop = false; @@ -138,7 +144,7 @@ class CompilerFrontendCPlusPlusAMD64 final CK_COMPILER_FRONTEND { /// @internal compiler variables -static CompilerFrontendCPlusPlusAMD64* kCompilerFrontend = nullptr; +static CompilerFrontendCPlusPlusAMD64* kFrontend = nullptr; static std::vector<CompilerKit::STLString> kRegisterMap; @@ -739,7 +745,7 @@ class AssemblyCPlusPlusInterfaceAMD64 final CK_ASSEMBLY_INTERFACE { UInt32 Arch() noexcept override { return CompilerKit::AssemblyFactory::kArchAMD64; } Int32 CompileToFormat(CompilerKit::STLString src, Int32 arch) override { - if (kCompilerFrontend == nullptr) return kExitNO; + if (kFrontend == nullptr) return kExitNO; CompilerKit::STLString dest = src; dest += ".pp.masm"; @@ -753,7 +759,7 @@ class AssemblyCPlusPlusInterfaceAMD64 final CK_ASSEMBLY_INTERFACE { out_fp << "#org " << kOrigin << "\n\n"; while (std::getline(src_fp, line_source)) { - out_fp << kCompilerFrontend->Compile(line_source, src).fUserValue; + out_fp << kFrontend->Compile(line_source, src).fUserValue; } return kExitOK; @@ -830,15 +836,15 @@ NECTI_MODULE(CompilerCPlusPlusAMD64) { kErrorLimit = 0; - kCompilerFrontend = new CompilerFrontendCPlusPlusAMD64(); - kFactory.Mount(new AssemblyCPlusPlusInterfaceAMD64()); + kFrontend = new CompilerFrontendCPlusPlusAMD64(); + kAssembler.Mount(new AssemblyCPlusPlusInterfaceAMD64()); CompilerKit::install_signal(SIGSEGV, Detail::drvi_crash_handler); // Ensure cleanup on exit std::atexit([]() { - delete kCompilerFrontend; - kCompilerFrontend = nullptr; + delete kFrontend; + kFrontend = nullptr; }); for (auto index = 1UL; index < argc; ++index) { @@ -852,12 +858,11 @@ NECTI_MODULE(CompilerCPlusPlusAMD64) { if (strcmp(argv[index], "-cxx-verbose") == 0) { kVerbose = true; - continue; } if (strcmp(argv[index], "-cxx-dialect") == 0) { - if (kCompilerFrontend) std::cout << kCompilerFrontend->Language() << "\n"; + if (kFrontend) std::cout << kFrontend->Language() << "\n"; return NECTI_SUCCESS; } @@ -890,7 +895,7 @@ NECTI_MODULE(CompilerCPlusPlusAMD64) { for (CompilerKit::STLString ext : exts) { if (argv_i.ends_with(ext)) { - if (kFactory.Compile(argv_i, kMachine) != kExitOK) { + if (kAssembler.Compile(argv_i, kMachine) != kExitOK) { return NECTI_INVALID_DATA; } @@ -899,7 +904,7 @@ NECTI_MODULE(CompilerCPlusPlusAMD64) { } } - kFactory.Unmount(); + kAssembler.Unmount(); return NECTI_SUCCESS; } diff --git a/dev/CompilerKit/src/Linker/DynamicLinker64PEF.cc b/dev/CompilerKit/src/Linker/DynamicLinker64PEF.cc index 617ee03..93f7919 100644 --- a/dev/CompilerKit/src/Linker/DynamicLinker64PEF.cc +++ b/dev/CompilerKit/src/Linker/DynamicLinker64PEF.cc @@ -1,13 +1,13 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0 @file DynamicLinker64PEF.cc @brief: C++ 64-Bit PEF Linker for NeKernel.org's NeKernel ------------------------------------------- */ -/// @author EL Mahrouss Amlal (amlal@nekernel.org) +/// @author El Mahrouss Amlal (amlal@nekernel.org) /// @brief NeKernel.org 64-bit PEF Linker. /// Last Rev: Sat Apr 19 CET 2025 /// @note Do not look up for anything with .code64/.data64/.zero64! @@ -26,7 +26,7 @@ "NeKernel.org 64-Bit Linker (Preferred Executable Format) %s, (c) Amlal El Mahrouss, and " \ "NeKernel Contributors " \ "2024-2025 " \ - "all rights reserved.\n" + "Licensed under Apache 2.0.\n" #define kPefNoCpu (0U) #define kPefNoSubCpu (0U) diff --git a/dev/CompilerKit/src/Macro/CPlusPlusPreprocessor.cc b/dev/CompilerKit/src/Macro/CPlusPlusPreprocessor.cc index 3a649a7..fa5b043 100644 --- a/dev/CompilerKit/src/Macro/CPlusPlusPreprocessor.cc +++ b/dev/CompilerKit/src/Macro/CPlusPlusPreprocessor.cc @@ -2,7 +2,7 @@ * ======================================================== * * C++ Preprocessor Driver - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ @@ -20,7 +20,7 @@ #define kMacroPrefix '#' -/// @author EL Mahrouss Amlal (amlel) +/// @author El Mahrouss Amlal (amlel) /// @file CPlusPlusPreprocessor.cc /// @brief Preprocessor. diff --git a/dev/CompilerKit/src/StringKit.cc b/dev/CompilerKit/src/StringKit.cc index 67f2f55..99f3ef2 100644 --- a/dev/CompilerKit/src/StringKit.cc +++ b/dev/CompilerKit/src/StringKit.cc @@ -2,13 +2,13 @@ * ======================================================== * * CompilerKit - * Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. * * ======================================================== */ /** - * @file BasicString.cc + * @file StringKit.cc * @author Amlal (amlal@nekernel.org) * @brief C++ string manipulation API. * @version 0.2 diff --git a/dev/CompilerKit/utils/AsmUtils.h b/dev/CompilerKit/utils/AsmUtils.h index 889d359..b5ae513 100644 --- a/dev/CompilerKit/utils/AsmUtils.h +++ b/dev/CompilerKit/utils/AsmUtils.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/utils/CompilerUtils.h b/dev/CompilerKit/utils/CompilerUtils.h index f69d117..d812ab8 100644 --- a/dev/CompilerKit/utils/CompilerUtils.h +++ b/dev/CompilerKit/utils/CompilerUtils.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2024-2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/CompilerKit/utils/DylibHelpers.h b/dev/CompilerKit/utils/DylibHelpers.h index fede406..9871d05 100644 --- a/dev/CompilerKit/utils/DylibHelpers.h +++ b/dev/CompilerKit/utils/DylibHelpers.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ diff --git a/dev/DebuggerKit/CommonCLI.inl b/dev/DebuggerKit/CommonCLI.inl index cf006f5..eb56257 100644 --- a/dev/DebuggerKit/CommonCLI.inl +++ b/dev/DebuggerKit/CommonCLI.inl @@ -15,7 +15,7 @@ #define kStdOut (std::cout << kRed << "dbg: " << kWhite) -static BOOL kKeepRunning = false; +static Bool kKeepRunning = false; #ifdef DK_NEKERNEL_DEBUGGER static DebuggerKit::NeKernel::NeKernelContract kKernelDebugger; diff --git a/dev/DebuggerKit/NeKernelContract.h b/dev/DebuggerKit/NeKernelContract.h index 7488cad..9acde7f 100644 --- a/dev/DebuggerKit/NeKernelContract.h +++ b/dev/DebuggerKit/NeKernelContract.h @@ -11,6 +11,7 @@ #ifdef DK_NEKERNEL_DEBUGGER +#include <CompilerKit/Defines.h> #include <DebuggerKit/DebuggerContract.h> namespace DebuggerKit::NeKernel { diff --git a/dev/DebuggerKit/POSIXMachContract.h b/dev/DebuggerKit/POSIXMachContract.h index 931852a..a2b507c 100644 --- a/dev/DebuggerKit/POSIXMachContract.h +++ b/dev/DebuggerKit/POSIXMachContract.h @@ -54,7 +54,7 @@ class POSIXMachContract : public DebuggerContract { POSIXMachContract(const POSIXMachContract&) = default; public: - BOOL Attach(std::string path, std::string argv, ProcessID& pid) noexcept override { + Bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override { pid = fork(); if (pid == 0) { @@ -90,7 +90,7 @@ class POSIXMachContract : public DebuggerContract { m_path = path; } - BOOL BreakAt(std::string symbol) noexcept override { + Bool BreakAt(std::string symbol) noexcept override { if (!m_path.empty() && std::filesystem::exists(m_path) && std::filesystem::is_regular_file(m_path)) { auto handle = dlopen(m_path.c_str(), RTLD_LAZY); @@ -120,7 +120,7 @@ class POSIXMachContract : public DebuggerContract { return false; } - BOOL Break() noexcept override { + Bool Break() noexcept override { task_read_t task; task_for_pid(mach_task_self(), m_pid, &task); @@ -129,7 +129,7 @@ class POSIXMachContract : public DebuggerContract { return ret == KERN_SUCCESS; } - BOOL Continue() noexcept override { + Bool Continue() noexcept override { task_read_t task; task_for_pid(mach_task_self(), m_pid, &task); @@ -138,7 +138,7 @@ class POSIXMachContract : public DebuggerContract { return ret == KERN_SUCCESS; } - BOOL Detach() noexcept override { + Bool Detach() noexcept override { this->Continue(); task_read_t task; diff --git a/dev/DebuggerKit/Version.h b/dev/DebuggerKit/Version.h index 4159191..da911f3 100644 --- a/dev/DebuggerKit/Version.h +++ b/dev/DebuggerKit/Version.h @@ -1,12 +1,12 @@ /* ------------------------------------------- - Copyright (C) 2025 Amlal EL Mahrouss, all rights reserved + Copyright (C) 2025 Amlal EL Mahrouss, Licensed under Apache 2.0 ------------------------------------------- */ #pragma once -#define kDistVersion "v0.0.1-libdebugger" +#define kDistVersion "v0.0.6-debuggerkit" #define kDistVersionBCD 0x0001 #define ToString(X) Stringify(X) diff --git a/dev/DebuggerKit/src/NeKernelContract.cc b/dev/DebuggerKit/src/NeKernelContract.cc index 53017d6..ae041fc 100644 --- a/dev/DebuggerKit/src/NeKernelContract.cc +++ b/dev/DebuggerKit/src/NeKernelContract.cc @@ -22,7 +22,7 @@ NeKernelContract::NeKernelContract() = default; NeKernelContract::~NeKernelContract() = default; -BOOL NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLString argv, +Bool NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLString argv, ProcessID& pid) noexcept { if (path.empty() || argv.empty()) return NO; @@ -48,7 +48,7 @@ BOOL NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLStrin return ret; } -BOOL NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { +Bool NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";SYM="; pkt += symbol; @@ -60,7 +60,7 @@ BOOL NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { return ret; } -BOOL NeKernelContract::Break() noexcept { +Bool NeKernelContract::Break() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";BRK=1;\r"; @@ -68,7 +68,7 @@ BOOL NeKernelContract::Break() noexcept { return ret; } -BOOL NeKernelContract::Continue() noexcept { +Bool NeKernelContract::Continue() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";CONT=1;\r"; @@ -77,7 +77,7 @@ BOOL NeKernelContract::Continue() noexcept { return NO; } -BOOL NeKernelContract::Detach() noexcept { +Bool NeKernelContract::Detach() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";DTCH=1;\r"; diff --git a/dev/DebuggerKit/src/POSIXMachContractCLI.cc b/dev/DebuggerKit/src/POSIXMachContractCLI.cc index 2b2ebc5..5edd65e 100644 --- a/dev/DebuggerKit/src/POSIXMachContractCLI.cc +++ b/dev/DebuggerKit/src/POSIXMachContractCLI.cc @@ -28,7 +28,7 @@ static void dbgi_ctrlc_handler(std::int32_t _) { NECTI_MODULE(DebuggerMachPOSIX) { pfd::notify("Debugger Event", - "Userland Debugger\n(C) 2025 Amlal El Mahrouss, all rights reserved."); + "Userland Debugger\n(C) 2025 Amlal El Mahrouss, Licensed under Apache 2.0."); if (argc >= 3 && std::string(argv[1]) == "-p" && argv[2] != nullptr) { kPath = argv[2]; diff --git a/dev/LibC++/__abi+unreachable.cc b/dev/LibC++/__abi+unreachable.cc index f72e749..428b745 100644 --- a/dev/LibC++/__abi+unreachable.cc +++ b/dev/LibC++/__abi+unreachable.cc @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/__abi.h b/dev/LibC++/__abi.h index 9e46689..4e66d1a 100644 --- a/dev/LibC++/__abi.h +++ b/dev/LibC++/__abi.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/base_alloc.h b/dev/LibC++/base_alloc.h index af5693b..a322f7f 100644 --- a/dev/LibC++/base_alloc.h +++ b/dev/LibC++/base_alloc.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/base_exception.h b/dev/LibC++/base_exception.h index 29f996b..6f48cd9 100644 --- a/dev/LibC++/base_exception.h +++ b/dev/LibC++/base_exception.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/base_math.h b/dev/LibC++/base_math.h index 7c9f34d..70bfeba 100644 --- a/dev/LibC++/base_math.h +++ b/dev/LibC++/base_math.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/base_process.h b/dev/LibC++/base_process.h index 034240f..8767aa7 100644 --- a/dev/LibC++/base_process.h +++ b/dev/LibC++/base_process.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/defines.h b/dev/LibC++/defines.h index 21c43e4..f7c08e1 100644 --- a/dev/LibC++/defines.h +++ b/dev/LibC++/defines.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/filesystem.h b/dev/LibC++/filesystem.h index 1095da1..c9f6e42 100644 --- a/dev/LibC++/filesystem.h +++ b/dev/LibC++/filesystem.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ diff --git a/dev/LibC++/utility.h b/dev/LibC++/utility.h index 082d73d..a10f2c2 100644 --- a/dev/LibC++/utility.h +++ b/dev/LibC++/utility.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under Apache 2.0. ------------------------------------------- */ |
