summaryrefslogtreecommitdiffhomepage
path: root/dev/LibCompiler
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-09 13:12:48 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-09 13:12:48 +0100
commitac2debcd00dd78ad77f58d0c448862b76619ea61 (patch)
tree7a3b4201b7c60febcd08cdb99e97aa426302535c /dev/LibCompiler
parent4b0be5c40cab48a256f68c1e41b6af3d93512c61 (diff)
ADD: Minor improvements and refactors.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/LibCompiler')
-rw-r--r--dev/LibCompiler/UUID.h28
-rw-r--r--dev/LibCompiler/src/Assembler64x0.cc54
-rw-r--r--dev/LibCompiler/src/AssemblerAMD64.cc58
-rw-r--r--dev/LibCompiler/src/AssemblerARM64.cc26
-rw-r--r--dev/LibCompiler/src/AssemblerPower.cc44
-rw-r--r--dev/LibCompiler/src/CCompiler64x0.cc30
-rw-r--r--dev/LibCompiler/src/CCompilerARM64.cc30
-rw-r--r--dev/LibCompiler/src/CCompilerPower64.cc30
-rw-r--r--dev/LibCompiler/src/CPlusPlusCompilerAMD64.cc30
-rw-r--r--dev/LibCompiler/src/CPlusPlusCompilerPreProcessor.cc48
-rw-r--r--dev/LibCompiler/src/Detail/AsmUtils.h12
-rw-r--r--dev/LibCompiler/src/DynamicLinkerELF.cc (renamed from dev/LibCompiler/src/CPlusPlusLinkerELF.cc)15
-rw-r--r--dev/LibCompiler/src/DynamicLinkerPEF.cc (renamed from dev/LibCompiler/src/CPlusPlusLinkerPEF.cc)8
13 files changed, 203 insertions, 210 deletions
diff --git a/dev/LibCompiler/UUID.h b/dev/LibCompiler/UUID.h
index 561bab2..d89205d 100644
--- a/dev/LibCompiler/UUID.h
+++ b/dev/LibCompiler/UUID.h
@@ -73,7 +73,7 @@ namespace uuids
using span = gsl::span<ElementType, Extent>;
#endif
- namespace Details
+ namespace Detail
{
template <typename TChar>
[[nodiscard]] constexpr inline unsigned char hex2char(TChar const ch) noexcept
@@ -319,7 +319,7 @@ namespace uuids
template <>
inline constexpr wchar_t guid_encoder<wchar_t>[17] = L"0123456789abcdef";
- } // namespace Details
+ } // namespace Detail
// --------------------------------------------------------------------------------------------------------------------------
// UUID format https://tools.ietf.org/html/rfc4122
@@ -486,7 +486,7 @@ namespace uuids
[[nodiscard]] constexpr static bool is_valid_uuid(
StringType const& in_str) noexcept
{
- auto str = Details::to_string_view(in_str);
+ auto str = Detail::to_string_view(in_str);
bool firstDigit = true;
size_t hasBraces = 0;
size_t index = 0;
@@ -504,7 +504,7 @@ namespace uuids
if (str[i] == '-')
continue;
- if (index >= 16 || !Details::is_hex(str[i]))
+ if (index >= 16 || !Detail::is_hex(str[i]))
{
return false;
}
@@ -532,7 +532,7 @@ namespace uuids
[[nodiscard]] constexpr static std::optional<uuid> from_string(
StringType const& in_str) noexcept
{
- auto str = Details::to_string_view(in_str);
+ auto str = Detail::to_string_view(in_str);
bool firstDigit = true;
size_t hasBraces = 0;
size_t index = 0;
@@ -552,20 +552,20 @@ namespace uuids
if (str[i] == '-')
continue;
- if (index >= 16 || !Details::is_hex(str[i]))
+ if (index >= 16 || !Detail::is_hex(str[i]))
{
return {};
}
if (firstDigit)
{
- data[index] = static_cast<uint8_t>(Details::hex2char(str[i]) << 4);
+ data[index] = static_cast<uint8_t>(Detail::hex2char(str[i]) << 4);
firstDigit = false;
}
else
{
data[index] =
- static_cast<uint8_t>(data[index] | Details::hex2char(str[i]));
+ static_cast<uint8_t>(data[index] | Detail::hex2char(str[i]));
index++;
firstDigit = true;
}
@@ -620,7 +620,7 @@ namespace uuids
[[nodiscard]] inline std::basic_string<CharT, Traits, Allocator> to_string(
uuid const& id)
{
- std::basic_string<CharT, Traits, Allocator> uustr{Details::empty_guid<CharT>};
+ std::basic_string<CharT, Traits, Allocator> uustr{Detail::empty_guid<CharT>};
for (size_t i = 0, index = 0; i < 36; ++i)
{
@@ -628,8 +628,8 @@ namespace uuids
{
continue;
}
- uustr[i] = Details::guid_encoder<CharT>[id.data[index] >> 4 & 0x0f];
- uustr[++i] = Details::guid_encoder<CharT>[id.data[index] & 0x0f];
+ uustr[i] = Detail::guid_encoder<CharT>[id.data[index] >> 4 & 0x0f];
+ uustr[++i] = Detail::guid_encoder<CharT>[id.data[index] & 0x0f];
index++;
}
@@ -796,7 +796,7 @@ namespace uuids
[[nodiscard]] uuid operator()(StringType const& name)
{
reset();
- process_characters(Details::to_string_view(name));
+ process_characters(Detail::to_string_view(name));
return make_uuid();
}
@@ -827,7 +827,7 @@ namespace uuids
[[nodiscard]] uuid make_uuid()
{
- Details::sha1::digest8_t digest;
+ Detail::sha1::digest8_t digest;
hasher.get_digest_bytes(digest);
// variant must be 0b10xxxxxx
@@ -843,7 +843,7 @@ namespace uuids
private:
uuid nsuuid;
- Details::sha1 hasher;
+ Detail::sha1 hasher;
};
#ifdef UUID_TIME_GENERATOR
diff --git a/dev/LibCompiler/src/Assembler64x0.cc b/dev/LibCompiler/src/Assembler64x0.cc
index b04d50f..a0cb734 100644
--- a/dev/LibCompiler/src/Assembler64x0.cc
+++ b/dev/LibCompiler/src/Assembler64x0.cc
@@ -72,7 +72,7 @@ static const std::string kRelocSymbol = ":RuntimeSymbol:";
// \brief forward decl.
static bool asm_read_attributes(std::string& line);
-namespace Details
+namespace Detail
{
void print_error(std::string reason, std::string file) noexcept
{
@@ -103,7 +103,7 @@ namespace Details
kStdOut << kYellow << "[ TQC++ ] " << kWhite << reason << kBlank << std::endl;
}
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -201,7 +201,7 @@ LIBCOMPILER_MODULE(AssemblerMain64x0)
{
if (auto ln = asm64.CheckLine(line, argv[i]); !ln.empty())
{
- Details::print_error(ln, argv[i]);
+ Detail::print_error(ln, argv[i]);
continue;
}
@@ -215,7 +215,7 @@ LIBCOMPILER_MODULE(AssemblerMain64x0)
if (kVerbose)
{
std::string what = e.what();
- Details::print_warning("exit because of: " + what, "LibCompiler");
+ Detail::print_warning("exit because of: " + what, "LibCompiler");
}
std::filesystem::remove(object_output);
@@ -347,7 +347,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid extern_segment directive in flat binary mode.",
+ Detail::print_error("Invalid extern_segment directive in flat binary mode.",
"LibCompiler");
throw std::runtime_error("invalid_extern_segment_bin");
}
@@ -357,7 +357,7 @@ static bool asm_read_attributes(std::string& line)
/// sanity check to avoid stupid linker errors.
if (name.size() == 0)
{
- Details::print_error("Invalid extern_segment", "power-as");
+ Detail::print_error("Invalid extern_segment", "power-as");
throw std::runtime_error("invalid_extern_segment");
}
@@ -420,7 +420,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid public_segment directive in flat binary mode.",
+ Detail::print_error("Invalid public_segment directive in flat binary mode.",
"LibCompiler");
throw std::runtime_error("invalid_public_segment_bin");
}
@@ -493,7 +493,7 @@ static bool asm_read_attributes(std::string& line)
// \brief algorithms and helpers.
-namespace Details::algorithm
+namespace Detail::algorithm
{
// \brief authorize a brief set of characters.
static inline bool is_not_alnum_space(char c)
@@ -508,7 +508,7 @@ namespace Details::algorithm
{
return std::find_if(str.begin(), str.end(), is_not_alnum_space) == str.end();
}
-} // namespace Details::algorithm
+} // namespace Detail::algorithm
/////////////////////////////////////////////////////////////////////////////////////////
@@ -536,7 +536,7 @@ std::string LibCompiler::Encoder64x0::CheckLine(std::string& line,
else
{
// now check the line for validity
- if (!Details::algorithm::is_valid_64x0(line))
+ if (!Detail::algorithm::is_valid_64x0(line))
{
err_str = "Line contains non alphanumeric characters.\nhere -> ";
err_str += line;
@@ -546,7 +546,7 @@ std::string LibCompiler::Encoder64x0::CheckLine(std::string& line,
return err_str;
}
- if (!Details::algorithm::is_valid_64x0(line))
+ if (!Detail::algorithm::is_valid_64x0(line))
{
err_str = "Line contains non alphanumeric characters.\nhere -> ";
err_str += line;
@@ -664,7 +664,7 @@ bool LibCompiler::Encoder64x0::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid hex number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_hex_number");
}
}
@@ -691,7 +691,7 @@ bool LibCompiler::Encoder64x0::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid binary number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid binary number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_bin");
}
}
@@ -718,7 +718,7 @@ bool LibCompiler::Encoder64x0::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid octal number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid octal number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_octal");
}
}
@@ -786,7 +786,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
{
// strict check here
if (LibCompiler::find_word(line, opcode64x0.fName) &&
- Details::algorithm::is_valid_64x0(line))
+ Detail::algorithm::is_valid_64x0(line))
{
std::string name(opcode64x0.fName);
std::string jump_label, cpy_jump_label;
@@ -830,7 +830,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
isdigit(line[line_index + 2]))
{
reg_str += line[line_index + 3];
- Details::print_error(
+ Detail::print_error(
"invalid register index, r" + reg_str +
"\nnote: The 64x0 accepts registers from r0 to r20.",
file);
@@ -843,7 +843,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
if (reg_index > kAsmRegisterLimit)
{
- Details::print_error("invalid register index, r" + reg_str,
+ Detail::print_error("invalid register index, r" + reg_str,
file);
throw std::runtime_error("invalid_register_index");
}
@@ -866,7 +866,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
// remember! register to register!
if (found_some == 1)
{
- Details::print_error(
+ Detail::print_error(
"Too few registers.\ntip: each Assembler64x0 register "
"starts with 'r'.\nline: " +
line,
@@ -878,21 +878,21 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
if (found_some < 1 && name != "ldw" && name != "lda" &&
name != "stw")
{
- Details::print_error(
+ Detail::print_error(
"invalid combination of opcode and registers.\nline: " + line,
file);
throw std::runtime_error("invalid_comb_op_reg");
}
else if (found_some == 1 && name == "add")
{
- Details::print_error(
+ Detail::print_error(
"invalid combination of opcode and registers.\nline: " + line,
file);
throw std::runtime_error("invalid_comb_op_reg");
}
else if (found_some == 1 && name == "sub")
{
- Details::print_error(
+ Detail::print_error(
"invalid combination of opcode and registers.\nline: " + line,
file);
throw std::runtime_error("invalid_comb_op_reg");
@@ -900,7 +900,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
if (found_some > 0 && name == "pop")
{
- Details::print_error(
+ Detail::print_error(
"invalid combination for opcode 'pop'.\ntip: it expects "
"nothing.\nline: " +
line,
@@ -941,7 +941,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
{
if (found_sym)
{
- Details::print_error(
+ Detail::print_error(
"invalid combination of opcode and operands.\nhere -> " +
jump_label,
file);
@@ -974,7 +974,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
// sta expects this: sta 0x000000, r0
if (name == "sta")
{
- Details::print_error(
+ Detail::print_error(
"invalid combination of opcode and operands.\nHere ->" + line,
file);
throw std::runtime_error("invalid_comb_op_ops");
@@ -985,7 +985,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
if (name == "sta" &&
cpy_jump_label.find("extern_segment ") != std::string::npos)
{
- Details::print_error("invalid usage extern_segment on 'sta', here: " + line,
+ Detail::print_error("invalid usage extern_segment on 'sta', here: " + line,
file);
throw std::runtime_error("invalid_sta_usage");
}
@@ -1007,7 +1007,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
if (name == "sta")
{
- Details::print_error("extern_segment is not allowed on a sta operation.",
+ Detail::print_error("extern_segment is not allowed on a sta operation.",
file);
throw std::runtime_error("extern_segment_sta_op");
}
@@ -1067,7 +1067,7 @@ bool LibCompiler::Encoder64x0::WriteLine(std::string& line,
if (cpy_jump_label.size() < 1)
{
- Details::print_error("label is empty, can't jump on it.", file);
+ Detail::print_error("label is empty, can't jump on it.", file);
throw std::runtime_error("label_empty");
}
diff --git a/dev/LibCompiler/src/AssemblerAMD64.cc b/dev/LibCompiler/src/AssemblerAMD64.cc
index 330931e..0ec8c3e 100644
--- a/dev/LibCompiler/src/AssemblerAMD64.cc
+++ b/dev/LibCompiler/src/AssemblerAMD64.cc
@@ -230,7 +230,7 @@ LIBCOMPILER_MODULE(AssemblerMainAMD64)
{
if (auto ln = asm64.CheckLine(line, argv[i]); !ln.empty())
{
- Details::print_error(ln, argv[i]);
+ Detail::print_error(ln, argv[i]);
continue;
}
@@ -244,7 +244,7 @@ LIBCOMPILER_MODULE(AssemblerMainAMD64)
if (kVerbose)
{
std::string what = e.what();
- Details::print_warning("exit because of: " + what, "LibCompiler");
+ Detail::print_warning("exit because of: " + what, "LibCompiler");
}
try
@@ -391,7 +391,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid directive in flat binary mode.", "LibCompiler");
+ Detail::print_error("Invalid directive in flat binary mode.", "LibCompiler");
throw std::runtime_error("invalid_extern_segment_bin");
}
@@ -399,7 +399,7 @@ static bool asm_read_attributes(std::string& line)
if (name.size() == 0)
{
- Details::print_error("Invalid extern_segment", "power-as");
+ Detail::print_error("Invalid extern_segment", "power-as");
throw std::runtime_error("invalid_extern_segment");
}
@@ -462,7 +462,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid directive in flat binary mode.", "LibCompiler");
+ Detail::print_error("Invalid directive in flat binary mode.", "LibCompiler");
throw std::runtime_error("invalid_public_segment_bin");
}
@@ -479,7 +479,7 @@ static bool asm_read_attributes(std::string& line)
if (std::find(kDefinedSymbols.begin(), kDefinedSymbols.end(), name) !=
kDefinedSymbols.end())
{
- Details::print_error("Symbol already defined.", "LibCompiler");
+ Detail::print_error("Symbol already defined.", "LibCompiler");
throw std::runtime_error("invalid_public_segment_bin");
}
@@ -543,7 +543,7 @@ static bool asm_read_attributes(std::string& line)
// \brief algorithms and helpers.
-namespace Details::algorithm
+namespace Detail::algorithm
{
// \brief authorize a brief set of characters.
static inline bool is_not_valid(char c)
@@ -561,7 +561,7 @@ namespace Details::algorithm
{
return std::find_if(str.begin(), str.end(), is_not_valid) == str.end();
}
-} // namespace Details::algorithm
+} // namespace Detail::algorithm
/////////////////////////////////////////////////////////////////////////////////////////
@@ -586,7 +586,7 @@ std::string LibCompiler::EncoderAMD64::CheckLine(std::string& line,
else
{
// now check the line for validity
- if (!Details::algorithm::is_valid_amd64(line))
+ if (!Detail::algorithm::is_valid_amd64(line))
{
err_str = "Line contains non valid characters.\nhere -> ";
err_str += line;
@@ -666,7 +666,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid hex number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_hex");
}
}
@@ -696,7 +696,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid binary number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid binary number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_bin");
}
}
@@ -726,7 +726,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid octal number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid octal number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_octal");
}
}
@@ -919,7 +919,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber16(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid hex number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_hex");
}
}
@@ -949,7 +949,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber16(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid binary number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid binary number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_bin");
}
}
@@ -979,7 +979,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber16(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid octal number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid octal number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_octal");
}
}
@@ -1051,7 +1051,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber8(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid hex number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_hex");
}
}
@@ -1075,7 +1075,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber8(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid binary number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid binary number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_bin");
}
}
@@ -1099,7 +1099,7 @@ bool LibCompiler::EncoderAMD64::WriteNumber8(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid octal number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid octal number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_octal");
}
}
@@ -1187,7 +1187,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
{
// strict check here
if (LibCompiler::find_word(line, opcodeAMD64.fName) &&
- Details::algorithm::is_valid_amd64(line))
+ Detail::algorithm::is_valid_amd64(line))
{
foundInstruction = true;
std::string name(opcodeAMD64.fName);
@@ -1202,7 +1202,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
if (substr.find(",") == std::string::npos)
{
- Details::print_error("Syntax error: missing right operand.", "LibCompiler");
+ Detail::print_error("Syntax error: missing right operand.", "LibCompiler");
throw std::runtime_error("syntax_err");
}
@@ -1231,7 +1231,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
{
if (registerName[0] == 'r')
{
- Details::print_error(
+ Detail::print_error(
"invalid size for register, current bit width is: " +
std::to_string(kRegisterBitWidth),
file);
@@ -1286,7 +1286,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
{
if (hasRBasedRegs)
{
- Details::print_error(
+ Detail::print_error(
"Invalid combination of operands and registers.", "LibCompiler");
throw std::runtime_error("comb_op_reg");
}
@@ -1323,7 +1323,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
if (currentRegList[1].fName[0] == 'r' &&
currentRegList[0].fName[0] == 'e')
{
- Details::print_error("Invalid combination of operands and registers.",
+ Detail::print_error("Invalid combination of operands and registers.",
"LibCompiler");
throw std::runtime_error("comb_op_reg");
}
@@ -1331,7 +1331,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
if (currentRegList[0].fName[0] == 'r' &&
currentRegList[1].fName[0] == 'e')
{
- Details::print_error("Invalid combination of operands and registers.",
+ Detail::print_error("Invalid combination of operands and registers.",
"LibCompiler");
throw std::runtime_error("comb_op_reg");
}
@@ -1341,7 +1341,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
if (currentRegList[0].fName[0] == 'r' ||
currentRegList[0].fName[0] == 'e')
{
- Details::print_error("Invalid combination of operands and registers.",
+ Detail::print_error("Invalid combination of operands and registers.",
"LibCompiler");
throw std::runtime_error("comb_op_reg");
}
@@ -1349,7 +1349,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
if (currentRegList[1].fName[0] == 'r' ||
currentRegList[1].fName[0] == 'e')
{
- Details::print_error("Invalid combination of operands and registers.",
+ Detail::print_error("Invalid combination of operands and registers.",
"LibCompiler");
throw std::runtime_error("comb_op_reg");
}
@@ -1359,7 +1359,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
if (currentRegList[0].fName[0] != 'r' ||
currentRegList[0].fName[0] == 'e')
{
- Details::print_error("Invalid combination of operands and registers.",
+ Detail::print_error("Invalid combination of operands and registers.",
"LibCompiler");
throw std::runtime_error("comb_op_reg");
}
@@ -1367,7 +1367,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
if (currentRegList[1].fName[0] != 'r' ||
currentRegList[1].fName[0] == 'e')
{
- Details::print_error("Invalid combination of operands and registers.",
+ Detail::print_error("Invalid combination of operands and registers.",
"LibCompiler");
throw std::runtime_error("comb_op_reg");
}
@@ -1413,7 +1413,7 @@ bool LibCompiler::EncoderAMD64::WriteLine(std::string& line,
{
if (foundInstruction)
{
- Details::print_error("Syntax error: " + line, "LibCompiler");
+ Detail::print_error("Syntax error: " + line, "LibCompiler");
throw std::runtime_error("syntax_err");
}
diff --git a/dev/LibCompiler/src/AssemblerARM64.cc b/dev/LibCompiler/src/AssemblerARM64.cc
index 1429f58..0fef663 100644
--- a/dev/LibCompiler/src/AssemblerARM64.cc
+++ b/dev/LibCompiler/src/AssemblerARM64.cc
@@ -171,7 +171,7 @@ LIBCOMPILER_MODULE(AssemblerMainARM64)
{
if (auto ln = asm64.CheckLine(line, argv[i]); !ln.empty())
{
- Details::print_error(ln, argv[i]);
+ Detail::print_error(ln, argv[i]);
continue;
}
@@ -185,7 +185,7 @@ LIBCOMPILER_MODULE(AssemblerMainARM64)
if (kVerbose)
{
std::string what = e.what();
- Details::print_warning("exit because of: " + what, "LibCompiler");
+ Detail::print_warning("exit because of: " + what, "LibCompiler");
}
std::filesystem::remove(object_output);
@@ -317,7 +317,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid extern_segment directive in flat binary mode.",
+ Detail::print_error("Invalid extern_segment directive in flat binary mode.",
"LibCompiler");
throw std::runtime_error("invalid_extern_segment_bin");
}
@@ -326,7 +326,7 @@ static bool asm_read_attributes(std::string& line)
if (name.size() == 0)
{
- Details::print_error("Invalid extern_segment", "LibCompiler");
+ Detail::print_error("Invalid extern_segment", "LibCompiler");
throw std::runtime_error("invalid_extern_segment");
}
@@ -389,7 +389,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid public_segment directive in flat binary mode.",
+ Detail::print_error("Invalid public_segment directive in flat binary mode.",
"LibCompiler");
throw std::runtime_error("invalid_public_segment_bin");
}
@@ -462,7 +462,7 @@ static bool asm_read_attributes(std::string& line)
// \brief algorithms and helpers.
-namespace Details::algorithm
+namespace Detail::algorithm
{
// \brief authorize a brief set of characters.
static inline bool is_not_alnum_space(char c)
@@ -477,7 +477,7 @@ namespace Details::algorithm
{
return std::find_if(str.begin(), str.end(), is_not_alnum_space) == str.end();
}
-} // namespace Details::algorithm
+} // namespace Detail::algorithm
/////////////////////////////////////////////////////////////////////////////////////////
@@ -505,7 +505,7 @@ std::string LibCompiler::EncoderARM64::CheckLine(std::string& line,
else
{
/// does the line contains valid input?
- if (!Details::algorithm::is_valid_arm64(line))
+ if (!Detail::algorithm::is_valid_arm64(line))
{
err_str = "Line contains non alphanumeric characters.\nhere -> ";
err_str += line;
@@ -515,7 +515,7 @@ std::string LibCompiler::EncoderARM64::CheckLine(std::string& line,
return err_str;
}
- if (!Details::algorithm::is_valid_arm64(line))
+ if (!Detail::algorithm::is_valid_arm64(line))
{
err_str = "Line contains non alphanumeric characters.\nhere -> ";
err_str += line;
@@ -584,7 +584,7 @@ bool LibCompiler::EncoderARM64::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid hex number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_hex");
}
}
@@ -611,7 +611,7 @@ bool LibCompiler::EncoderARM64::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid binary number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid binary number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_bin");
}
}
@@ -638,7 +638,7 @@ bool LibCompiler::EncoderARM64::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid octal number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid octal number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_octal");
}
}
@@ -702,7 +702,7 @@ bool LibCompiler::EncoderARM64::WriteLine(std::string& line,
if (LibCompiler::find_word(line, "public_segment"))
return false;
- if (!Details::algorithm::is_valid_arm64(line))
+ if (!Detail::algorithm::is_valid_arm64(line))
return false;
diff --git a/dev/LibCompiler/src/AssemblerPower.cc b/dev/LibCompiler/src/AssemblerPower.cc
index a98e3e8..e2bc76d 100644
--- a/dev/LibCompiler/src/AssemblerPower.cc
+++ b/dev/LibCompiler/src/AssemblerPower.cc
@@ -171,7 +171,7 @@ LIBCOMPILER_MODULE(AssemblerMainPower64)
{
if (auto ln = asm64.CheckLine(line, argv[i]); !ln.empty())
{
- Details::print_error(ln, argv[i]);
+ Detail::print_error(ln, argv[i]);
continue;
}
@@ -185,7 +185,7 @@ LIBCOMPILER_MODULE(AssemblerMainPower64)
if (kVerbose)
{
std::string what = e.what();
- Details::print_warning("exit because of: " + what, "LibCompiler");
+ Detail::print_warning("exit because of: " + what, "LibCompiler");
}
std::filesystem::remove(object_output);
@@ -317,7 +317,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid extern_segment directive in flat binary mode.",
+ Detail::print_error("Invalid extern_segment directive in flat binary mode.",
"LibCompiler");
throw std::runtime_error("invalid_extern_segment_bin");
}
@@ -326,7 +326,7 @@ static bool asm_read_attributes(std::string& line)
if (name.size() == 0)
{
- Details::print_error("Invalid extern_segment", "LibCompiler");
+ Detail::print_error("Invalid extern_segment", "LibCompiler");
throw std::runtime_error("invalid_extern_segment");
}
@@ -389,7 +389,7 @@ static bool asm_read_attributes(std::string& line)
{
if (kOutputAsBinary)
{
- Details::print_error("Invalid public_segment directive in flat binary mode.",
+ Detail::print_error("Invalid public_segment directive in flat binary mode.",
"LibCompiler");
throw std::runtime_error("invalid_public_segment_bin");
}
@@ -462,7 +462,7 @@ static bool asm_read_attributes(std::string& line)
// \brief algorithms and helpers.
-namespace Details::algorithm
+namespace Detail::algorithm
{
// \brief authorize a brief set of characters.
static inline bool is_not_alnum_space(char c)
@@ -477,7 +477,7 @@ namespace Details::algorithm
{
return std::find_if(str.begin(), str.end(), is_not_alnum_space) == str.end();
}
-} // namespace Details::algorithm
+} // namespace Detail::algorithm
/////////////////////////////////////////////////////////////////////////////////////////
@@ -505,7 +505,7 @@ std::string LibCompiler::EncoderPowerPC::CheckLine(std::string& line,
else
{
/// does the line contains valid input?
- if (!Details::algorithm::is_valid_power64(line))
+ if (!Detail::algorithm::is_valid_power64(line))
{
err_str = "Line contains non alphanumeric characters.\nhere -> ";
err_str += line;
@@ -515,7 +515,7 @@ std::string LibCompiler::EncoderPowerPC::CheckLine(std::string& line,
return err_str;
}
- if (!Details::algorithm::is_valid_power64(line))
+ if (!Detail::algorithm::is_valid_power64(line))
{
err_str = "Line contains non alphanumeric characters.\nhere -> ";
err_str += line;
@@ -630,7 +630,7 @@ bool LibCompiler::EncoderPowerPC::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid hex number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_hex");
}
}
@@ -657,7 +657,7 @@ bool LibCompiler::EncoderPowerPC::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid binary number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid binary number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_bin");
}
}
@@ -684,7 +684,7 @@ bool LibCompiler::EncoderPowerPC::WriteNumber(const std::size_t& pos,
{
if (errno != 0)
{
- Details::print_error("invalid octal number: " + jump_label, "LibCompiler");
+ Detail::print_error("invalid octal number: " + jump_label, "LibCompiler");
throw std::runtime_error("invalid_octal");
}
}
@@ -747,7 +747,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
{
if (LibCompiler::find_word(line, "public_segment"))
return false;
- if (!Details::algorithm::is_valid_power64(line))
+ if (!Detail::algorithm::is_valid_power64(line))
return false;
for (auto& opcode_risc : kOpcodesPowerPC)
@@ -820,7 +820,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
isdigit(line[line_index + 2]))
{
reg_str += line[line_index + 3];
- Details::print_error(
+ Detail::print_error(
"invalid register index, r" + reg_str +
"\nnote: The POWER accepts registers from r0 to r32.",
file);
@@ -832,7 +832,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
if (reg_index > kAsmRegisterLimit)
{
- Details::print_error("invalid register index, r" + reg_str,
+ Detail::print_error("invalid register index, r" + reg_str,
file);
throw std::runtime_error("invalid_register_index");
}
@@ -858,7 +858,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
{
if (num.number[i] > 0)
{
- Details::print_warning("number overflow on li operation.",
+ Detail::print_warning("number overflow on li operation.",
file);
break;
}
@@ -948,7 +948,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
if (found_some_count > 3)
{
- Details::print_error("Too much registers. -> " + line, file);
+ Detail::print_error("Too much registers. -> " + line, file);
throw std::runtime_error("too_much_regs");
}
}
@@ -959,7 +959,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
if (found_some_count > 3)
{
- Details::print_error("Too much registers. -> " + line, file);
+ Detail::print_error("Too much registers. -> " + line, file);
throw std::runtime_error("too_much_regs");
}
}
@@ -980,7 +980,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
if (found_some_count > 1)
{
- Details::print_error("Too much registers. -> " + line, file);
+ Detail::print_error("Too much registers. -> " + line, file);
throw std::runtime_error("too_much_regs");
}
@@ -1052,7 +1052,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
{
if (register_count == 1)
{
- Details::print_error("Too few registers. -> " + line, file);
+ Detail::print_error("Too few registers. -> " + line, file);
throw std::runtime_error("too_few_registers");
}
}
@@ -1063,7 +1063,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
// remember! register to register!
if (found_some_count == 1)
{
- Details::print_error(
+ Detail::print_error(
"Unrecognized register found.\ntip: each AssemblerPower register "
"starts with 'r'.\nline: " +
line,
@@ -1075,7 +1075,7 @@ bool LibCompiler::EncoderPowerPC::WriteLine(std::string& line,
if (found_some_count < 1 && name[0] != 'l' && name[0] != 's')
{
- Details::print_error(
+ Detail::print_error(
"invalid combination of opcode and registers.\nline: " + line,
file);
throw std::runtime_error("invalid_comb_op_reg");
diff --git a/dev/LibCompiler/src/CCompiler64x0.cc b/dev/LibCompiler/src/CCompiler64x0.cc
index 23bd11a..fee8f08 100644
--- a/dev/LibCompiler/src/CCompiler64x0.cc
+++ b/dev/LibCompiler/src/CCompiler64x0.cc
@@ -50,7 +50,7 @@
/////////////////////////////////////
-namespace Details
+namespace Detail
{
// \brief Register map structure, used to keep track of each variable's registers.
struct CompilerRegisterMap final
@@ -87,14 +87,14 @@ namespace Details
std::string fLastError;
bool fVerbose;
};
-} // namespace Details
+} // namespace Detail
-static Details::CompilerState kState;
+static Detail::CompilerState kState;
static SizeType kErrorLimit = 100;
static std::string kIfFunction = "";
static Int32 kAcceptableErrors = 0;
-namespace Details
+namespace Detail
{
/// @brief prints an error into stdout.
/// @param reason the reason of the error.
@@ -106,7 +106,7 @@ namespace Details
std::string fName;
std::string fValue;
};
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -159,11 +159,11 @@ public:
};
static CompilerFrontend64x0* kCompilerFrontend = nullptr;
-static std::vector<Details::CompilerType> kCompilerVariables;
+static std::vector<Detail::CompilerType> kCompilerVariables;
static std::vector<std::string> kCompilerFunctions;
-static std::vector<Details::CompilerType> kCompilerTypes;
+static std::vector<Detail::CompilerType> kCompilerTypes;
-namespace Details
+namespace Detail
{
union number_cast final {
public:
@@ -191,7 +191,7 @@ namespace Details
float _Raw;
};
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -223,7 +223,7 @@ bool CompilerFrontend64x0::Compile(std::string text_, const std::string file)
auto gen = uuids::uuid_random_generator{generator};
uuids::uuid out = gen();
- Details::number_cast time_off = (UInt64)out.as_bytes().data();
+ Detail::number_cast time_off = (UInt64)out.as_bytes().data();
if (!typeFound)
{
@@ -402,7 +402,7 @@ bool CompilerFrontend64x0::Compile(std::string text_, const std::string file)
if (text[text_index] == '=' && kInStruct)
{
- Details::print_error("assignement of value in struct " + text,
+ Detail::print_error("assignement of value in struct " + text,
file);
continue;
}
@@ -565,7 +565,7 @@ bool CompilerFrontend64x0::Compile(std::string text_, const std::string file)
auto var_to_find =
std::find_if(kCompilerVariables.cbegin(), kCompilerVariables.cend(),
- [&](Details::CompilerType type) {
+ [&](Detail::CompilerType type) {
return type.fName.find(substr) != std::string::npos;
});
@@ -1360,7 +1360,7 @@ public:
}
else
{
- Details::print_error(err, src.data());
+ Detail::print_error(err, src.data());
}
}
@@ -1567,7 +1567,7 @@ LIBCOMPILER_MODULE(ZkaOSCompilerCLang64x0)
std::string err = "Unknown command: ";
err += argv[index];
- Details::print_error(err, "cc");
+ Detail::print_error(err, "cc");
continue;
}
@@ -1580,7 +1580,7 @@ LIBCOMPILER_MODULE(ZkaOSCompilerCLang64x0)
{
if (kState.fVerbose)
{
- Details::print_error(srcFile + " is not a valid C source.\n", "cc");
+ Detail::print_error(srcFile + " is not a valid C source.\n", "cc");
}
return 1;
diff --git a/dev/LibCompiler/src/CCompilerARM64.cc b/dev/LibCompiler/src/CCompilerARM64.cc
index 476596d..1f48311 100644
--- a/dev/LibCompiler/src/CCompilerARM64.cc
+++ b/dev/LibCompiler/src/CCompilerARM64.cc
@@ -50,7 +50,7 @@
/////////////////////////////////////
-namespace Details
+namespace Detail
{
// \brief Register map structure, used to keep track of each variable's registers.
struct CompilerRegisterMap final
@@ -87,14 +87,14 @@ namespace Details
std::string fLastError;
bool fVerbose;
};
-} // namespace Details
+} // namespace Detail
-static Details::CompilerState kState;
+static Detail::CompilerState kState;
static SizeType kErrorLimit = 100;
static std::string kIfFunction = "";
static Int32 kAcceptableErrors = 0;
-namespace Details
+namespace Detail
{
/// @brief prints an error into stdout.
/// @param reason the reason of the error.
@@ -106,7 +106,7 @@ namespace Details
std::string fName;
std::string fValue;
};
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -159,11 +159,11 @@ public:
};
static CompilerFrontendARM64* kCompilerFrontend = nullptr;
-static std::vector<Details::CompilerType> kCompilerVariables;
+static std::vector<Detail::CompilerType> kCompilerVariables;
static std::vector<std::string> kCompilerFunctions;
-static std::vector<Details::CompilerType> kCompilerTypes;
+static std::vector<Detail::CompilerType> kCompilerTypes;
-namespace Details
+namespace Detail
{
union number_cast final {
public:
@@ -191,7 +191,7 @@ namespace Details
float _Raw;
};
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -221,7 +221,7 @@ bool CompilerFrontendARM64::Compile(std::string text, const std::string file)
auto gen = uuids::uuid_random_generator{generator};
uuids::uuid out = gen();
- Details::number_cast time_off = (UInt64)out.as_bytes().data();
+ Detail::number_cast time_off = (UInt64)out.as_bytes().data();
if (!typeFound)
{
@@ -400,7 +400,7 @@ bool CompilerFrontendARM64::Compile(std::string text, const std::string file)
if (text[text_index] == '=' && kInStruct)
{
- Details::print_error("assignement of value in struct " + text,
+ Detail::print_error("assignement of value in struct " + text,
file);
continue;
}
@@ -563,7 +563,7 @@ bool CompilerFrontendARM64::Compile(std::string text, const std::string file)
auto var_to_find =
std::find_if(kCompilerVariables.cbegin(), kCompilerVariables.cend(),
- [&](Details::CompilerType type) {
+ [&](Detail::CompilerType type) {
return type.fName.find(substr) != std::string::npos;
});
@@ -1358,7 +1358,7 @@ public:
}
else
{
- Details::print_error(err, src.data());
+ Detail::print_error(err, src.data());
}
}
@@ -1565,7 +1565,7 @@ LIBCOMPILER_MODULE(ZkaOSCompilerCLangARM64)
std::string err = "Unknown command: ";
err += argv[index];
- Details::print_error(err, "cc");
+ Detail::print_error(err, "cc");
continue;
}
@@ -1578,7 +1578,7 @@ LIBCOMPILER_MODULE(ZkaOSCompilerCLangARM64)
{
if (kState.fVerbose)
{
- Details::print_error(srcFile + " is not a valid C source.\n", "cc");
+ Detail::print_error(srcFile + " is not a valid C source.\n", "cc");
}
return 1;
diff --git a/dev/LibCompiler/src/CCompilerPower64.cc b/dev/LibCompiler/src/CCompilerPower64.cc
index 4338c68..9ef1646 100644
--- a/dev/LibCompiler/src/CCompilerPower64.cc
+++ b/dev/LibCompiler/src/CCompilerPower64.cc
@@ -41,7 +41,7 @@
/////////////////////////////////////
-namespace Details
+namespace Detail
{
// \brief name to register struct.
struct CompilerRegisterMap final
@@ -78,14 +78,14 @@ namespace Details
std::string fLastError;
bool fVerbose;
};
-} // namespace Details
+} // namespace Detail
-static Details::CompilerState kState;
+static Detail::CompilerState kState;
static SizeType kErrorLimit = 100;
static std::string kIfFunction = "";
static Int32 kAcceptableErrors = 0;
-namespace Details
+namespace Detail
{
/// @brief prints an error into stdout.
/// @param reason the reason of the error.
@@ -97,7 +97,7 @@ namespace Details
std::string fName;
std::string fValue;
};
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -150,11 +150,11 @@ public:
};
static CompilerFrontendPower64* kCompilerFrontend = nullptr;
-static std::vector<Details::CompilerType> kCompilerVariables;
+static std::vector<Detail::CompilerType> kCompilerVariables;
static std::vector<std::string> kCompilerFunctions;
-static std::vector<Details::CompilerType> kCompilerTypes;
+static std::vector<Detail::CompilerType> kCompilerTypes;
-namespace Details
+namespace Detail
{
union number_cast final {
public:
@@ -182,7 +182,7 @@ namespace Details
float _Raw;
};
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -214,7 +214,7 @@ bool CompilerFrontendPower64::Compile(std::string text_, const std::string file)
auto gen = uuids::uuid_random_generator{generator};
uuids::uuid out = gen();
- Details::number_cast time_off = (UInt64)out.as_bytes().data();
+ Detail::number_cast time_off = (UInt64)out.as_bytes().data();
if (!typeFound)
{
@@ -413,7 +413,7 @@ bool CompilerFrontendPower64::Compile(std::string text_, const std::string file)
if (text[text_index] == '=' && kInStruct)
{
- Details::print_error(
+ Detail::print_error(
"assignement of value inside a struct " + text, file);
continue;
}
@@ -576,7 +576,7 @@ bool CompilerFrontendPower64::Compile(std::string text_, const std::string file)
auto var_to_find =
std::find_if(kCompilerVariables.cbegin(), kCompilerVariables.cend(),
- [&](Details::CompilerType type) {
+ [&](Detail::CompilerType type) {
return type.fName.find(substr) != std::string::npos;
});
@@ -1383,7 +1383,7 @@ public:
}
else
{
- Details::print_error(err, src.data());
+ Detail::print_error(err, src.data());
}
}
@@ -1587,7 +1587,7 @@ LIBCOMPILER_MODULE(ZkaOSCompilerCLangPowerPC)
std::string err = "Unknown command: ";
err += argv[index];
- Details::print_error(err, "cc");
+ Detail::print_error(err, "cc");
continue;
}
@@ -1600,7 +1600,7 @@ LIBCOMPILER_MODULE(ZkaOSCompilerCLangPowerPC)
{
if (kState.fVerbose)
{
- Details::print_error(srcFile + " is not a valid C source.\n", "cc");
+ Detail::print_error(srcFile + " is not a valid C source.\n", "cc");
}
return 1;
diff --git a/dev/LibCompiler/src/CPlusPlusCompilerAMD64.cc b/dev/LibCompiler/src/CPlusPlusCompilerAMD64.cc
index e2b66f2..7a85c24 100644
--- a/dev/LibCompiler/src/CPlusPlusCompilerAMD64.cc
+++ b/dev/LibCompiler/src/CPlusPlusCompilerAMD64.cc
@@ -52,7 +52,7 @@
/////////////////////////////////////
/// @internal
-namespace Details
+namespace Detail
{
std::filesystem::path expand_home(const std::filesystem::path& p)
{
@@ -104,14 +104,14 @@ namespace Details
std::string fLastError;
bool fVerbose;
};
-} // namespace Details
+} // namespace Detail
-static Details::CompilerState kState;
+static Detail::CompilerState kState;
static SizeType kErrorLimit = 100;
static Int32 kAcceptableErrors = 0;
-namespace Details
+namespace Detail
{
/// @brief prints an error into stdout.
/// @param reason the reason of the error.
@@ -123,7 +123,7 @@ namespace Details
std::string fName;
std::string fValue;
};
-} // namespace Details
+} // namespace Detail
/////////////////////////////////////////////////////////////////////////////////////////
@@ -278,7 +278,7 @@ bool CompilerFrontendCPlusPlus::Compile(const std::string text,
{
if (isalnum(text[i]))
{
- Details::print_error("syntax error: " + text, file);
+ Detail::print_error("syntax error: " + text, file);
return false;
}
}
@@ -413,7 +413,7 @@ bool CompilerFrontendCPlusPlus::Compile(const std::string text,
if (text.ends_with(";"))
goto tk_write_assembly;
else if (text.size() <= indexFnName)
- Details::print_error("Invalid function name: " + fnName, file);
+ Detail::print_error("Invalid function name: " + fnName, file);
indexFnName = 0;
@@ -423,10 +423,10 @@ bool CompilerFrontendCPlusPlus::Compile(const std::string text,
ch == '\t')
{
if (fnName[indexFnName - 1] != ')')
- Details::print_error("Invalid function name: " + fnName, file);
+ Detail::print_error("Invalid function name: " + fnName, file);
if ((indexFnName + 1) != fnName.size())
- Details::print_error("Extra characters after function name: " + fnName, file);
+ Detail::print_error("Extra characters after function name: " + fnName, file);
}
++indexFnName;
@@ -611,7 +611,7 @@ tk_write_assembly:
goto done;
}
- Details::print_error("Variable not declared: " + varName, file);
+ Detail::print_error("Variable not declared: " + varName, file);
return false;
}
@@ -727,7 +727,7 @@ tk_write_assembly:
if (syntax_tree.fUserValue.empty())
{
- Details::print_error("Variable not declared: " + varErrCpy, file);
+ Detail::print_error("Variable not declared: " + varErrCpy, file);
}
break;
@@ -758,7 +758,7 @@ tk_write_assembly:
if (syntax_tree.fUserValue.empty())
{
- Details::print_error("Variable not declared: " + subText, file);
+ Detail::print_error("Variable not declared: " + subText, file);
}
}
else
@@ -857,7 +857,7 @@ public:
std::filesystem::path path = std::filesystem::path("./");
- while (path != Details::expand_home(std::filesystem::path("~")))
+ while (path != Detail::expand_home(std::filesystem::path("~")))
{
for (auto const& dir_entry : std::filesystem::recursive_directory_iterator{path})
{
@@ -1048,7 +1048,7 @@ LIBCOMPILER_MODULE(CompilerCPlusPlusX8664)
std::string err = "Unknown option: ";
err += argv[index];
- Details::print_error(err, "c++-drv");
+ Detail::print_error(err, "c++-drv");
continue;
}
@@ -1073,7 +1073,7 @@ LIBCOMPILER_MODULE(CompilerCPlusPlusX8664)
{
if (kState.fVerbose)
{
- Details::print_error(argv_i + " is not a valid C++ source.\n", "c++-drv");
+ Detail::print_error(argv_i + " is not a valid C++ source.\n", "c++-drv");
}
return 1;
diff --git a/dev/LibCompiler/src/CPlusPlusCompilerPreProcessor.cc b/dev/LibCompiler/src/CPlusPlusCompilerPreProcessor.cc
index 90db68b..713405b 100644
--- a/dev/LibCompiler/src/CPlusPlusCompilerPreProcessor.cc
+++ b/dev/LibCompiler/src/CPlusPlusCompilerPreProcessor.cc
@@ -32,7 +32,7 @@ typedef Int32 (*bpp_parser_fn_t)(std::string& line, std::ifstream& hdr_file, std
/////////////////////////////////////////////////////////////////////////////////////////
-namespace Details
+namespace Detail
{
enum
{
@@ -79,10 +79,10 @@ namespace Details
std::string fMacroName;
bpp_parser_fn_t fParse;
};
-} // namespace Details
+} // namespace Detail
static std::vector<std::string> kFiles;
-static std::vector<Details::bpp_macro> kMacros;
+static std::vector<Detail::bpp_macro> kMacros;
static std::vector<std::string> kIncludes;
static std::string kWorkingDir;
@@ -100,13 +100,13 @@ static std::vector<std::string> kKeywords = {
/////////////////////////////////////////////////////////////////////////////////////////
-int32_t bpp_parse_if_condition(Details::bpp_macro_condition& cond,
- Details::bpp_macro& macro,
+int32_t bpp_parse_if_condition(Detail::bpp_macro_condition& cond,
+ Detail::bpp_macro& macro,
bool& inactive_code,
bool& defined,
std::string& macro_str)
{
- if (cond.fType == Details::kEqual)
+ if (cond.fType == Detail::kEqual)
{
auto substr_macro =
macro_str.substr(macro_str.find(macro.fName) + macro.fName.size());
@@ -127,7 +127,7 @@ int32_t bpp_parse_if_condition(Details::bpp_macro_condition& cond,
return 1;
}
}
- else if (cond.fType == Details::kNotEqual)
+ else if (cond.fType == Detail::kNotEqual)
{
auto substr_macro =
macro_str.substr(macro_str.find(macro.fName) + macro.fName.size());
@@ -223,7 +223,7 @@ int32_t bpp_parse_if_condition(Details::bpp_macro_condition& cond,
lhs = atol(number.c_str());
}
- if (cond.fType == Details::kGreaterThan)
+ if (cond.fType == Detail::kGreaterThan)
{
if (lhs < rhs)
{
@@ -236,7 +236,7 @@ int32_t bpp_parse_if_condition(Details::bpp_macro_condition& cond,
return 0;
}
- if (cond.fType == Details::kGreaterEqThan)
+ if (cond.fType == Detail::kGreaterEqThan)
{
if (lhs <= rhs)
{
@@ -249,7 +249,7 @@ int32_t bpp_parse_if_condition(Details::bpp_macro_condition& cond,
return 0;
}
- if (cond.fType == Details::kLesserEqThan)
+ if (cond.fType == Detail::kLesserEqThan)
{
if (lhs >= rhs)
{
@@ -262,7 +262,7 @@ int32_t bpp_parse_if_condition(Details::bpp_macro_condition& cond,
return 0;
}
- if (cond.fType == Details::kLesserThan)
+ if (cond.fType == Detail::kLesserThan)
{
if (lhs > rhs)
{
@@ -516,7 +516,7 @@ void bpp_parse_file(std::ifstream& hdr_file, std::ofstream& pp_out)
}
}
- Details::bpp_macro macro;
+ Detail::bpp_macro macro;
macro.fArgs = args;
macro.fName = macro_key;
@@ -663,29 +663,29 @@ void bpp_parse_file(std::ifstream& hdr_file, std::ofstream& pp_out)
{
inactive_code = true;
- std::vector<Details::bpp_macro_condition> bpp_macro_condition_list = {
+ std::vector<Detail::bpp_macro_condition> bpp_macro_condition_list = {
{
- .fType = Details::kEqual,
+ .fType = Detail::kEqual,
.fTypeName = "==",
},
{
- .fType = Details::kNotEqual,
+ .fType = Detail::kNotEqual,
.fTypeName = "!=",
},
{
- .fType = Details::kLesserThan,
+ .fType = Detail::kLesserThan,
.fTypeName = "<",
},
{
- .fType = Details::kGreaterThan,
+ .fType = Detail::kGreaterThan,
.fTypeName = ">",
},
{
- .fType = Details::kLesserEqThan,
+ .fType = Detail::kLesserEqThan,
.fTypeName = "<=",
},
{
- .fType = Details::kGreaterEqThan,
+ .fType = Detail::kGreaterEqThan,
.fTypeName = ">=",
},
};
@@ -915,28 +915,28 @@ LIBCOMPILER_MODULE(CPlusPlusPreprocessorMain)
bool skip = false;
bool double_skip = false;
- Details::bpp_macro macro_1;
+ Detail::bpp_macro macro_1;
macro_1.fName = "__true";
macro_1.fValue = "1";
kMacros.push_back(macro_1);
- Details::bpp_macro macro_0;
+ Detail::bpp_macro macro_0;
macro_0.fName = "__false";
macro_0.fValue = "0";
kMacros.push_back(macro_0);
- Details::bpp_macro macro_zka;
+ Detail::bpp_macro macro_zka;
macro_zka.fName = "__LIBCOMPILER__";
macro_zka.fValue = "1";
kMacros.push_back(macro_zka);
- Details::bpp_macro macro_size_t;
+ Detail::bpp_macro macro_size_t;
macro_size_t.fName = "__SIZE_TYPE__";
macro_size_t.fValue = "unsigned long long int";
@@ -1028,7 +1028,7 @@ LIBCOMPILER_MODULE(CPlusPlusPreprocessorMain)
if (is_string)
macro_value += "\"";
- Details::bpp_macro macro;
+ Detail::bpp_macro macro;
macro.fName = macro_key;
macro.fValue = macro_value;
diff --git a/dev/LibCompiler/src/Detail/AsmUtils.h b/dev/LibCompiler/src/Detail/AsmUtils.h
index 4168dea..91ee940 100644
--- a/dev/LibCompiler/src/Detail/AsmUtils.h
+++ b/dev/LibCompiler/src/Detail/AsmUtils.h
@@ -11,11 +11,11 @@
using namespace LibCompiler;
-namespace Details
+namespace Detail
{
extern void print_error(std::string reason, std::string file) noexcept;
extern void print_warning(std::string reason, std::string file) noexcept;
-} // namespace Details
+} // namespace Detail
/// @brief Get Number from lineBuffer.
/// @param lineBuffer the lineBuffer to fetch from.
@@ -37,7 +37,7 @@ static NumberCast32 GetNumber32(std::string lineBuffer, std::string numberKey)
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + lineBuffer, "LibCompiler");
+ Detail::print_error("invalid hex number: " + lineBuffer, "LibCompiler");
throw std::runtime_error("invalid_hex");
}
}
@@ -57,7 +57,7 @@ static NumberCast32 GetNumber32(std::string lineBuffer, std::string numberKey)
{
if (errno != 0)
{
- Details::print_error("invalid binary number:" + lineBuffer, "LibCompiler");
+ Detail::print_error("invalid binary number:" + lineBuffer, "LibCompiler");
throw std::runtime_error("invalid_bin");
}
}
@@ -77,7 +77,7 @@ static NumberCast32 GetNumber32(std::string lineBuffer, std::string numberKey)
{
if (errno != 0)
{
- Details::print_error("invalid octal number: " + lineBuffer, "LibCompiler");
+ Detail::print_error("invalid octal number: " + lineBuffer, "LibCompiler");
throw std::runtime_error("invalid_octal");
}
}
@@ -97,7 +97,7 @@ static NumberCast32 GetNumber32(std::string lineBuffer, std::string numberKey)
{
if (errno != 0)
{
- Details::print_error("invalid hex number: " + lineBuffer, "LibCompiler");
+ Detail::print_error("invalid hex number: " + lineBuffer, "LibCompiler");
throw std::runtime_error("invalid_hex");
}
}
diff --git a/dev/LibCompiler/src/CPlusPlusLinkerELF.cc b/dev/LibCompiler/src/DynamicLinkerELF.cc
index de7cbd1..7dd3440 100644
--- a/dev/LibCompiler/src/CPlusPlusLinkerELF.cc
+++ b/dev/LibCompiler/src/DynamicLinkerELF.cc
@@ -51,22 +51,15 @@
/// @brief PEF stack size symbol.
#define kLinkerStackSizeSymbol "SizeOfReserveStack"
-namespace Details
+namespace Detail
{
struct DynamicLinkerBlob final
{
- std::vector<CharType> mBlob; // PEF code/bss/data blob.
- std::uintptr_t mObjOffset; // the offset of the PEF container header..
+ std::vector<CharType> mBlob{}; // PEF code/bss/data blob.
+ UIntPtr mObjOffset{0UL}; // the offset of the PEF container header..
};
}
-enum
-{
- kABITypeStart = 0x1010, /* Invalid ABI start of ABI list. */
- kABITypeZKA = 0x5046, /* PF (ZKA PEF ABI) */
- kABITypeInvalid = 0xFFFF,
-};
-
static Bool kFatBinaryEnable = false;
static Bool kStartFound = false;
static Bool kDuplicateSymbols = false;
@@ -74,7 +67,7 @@ static Bool kVerbose = false;
/* object code and list. */
static std::vector<LibCompiler::String> kObjectList;
-static std::vector<Details::DynamicLinkerBlob> kObjectBytes;
+static std::vector<Detail::DynamicLinkerBlob> kObjectBytes;
static uintptr_t kMIBCount = 8;
static uintptr_t kByteCount = 1024;
diff --git a/dev/LibCompiler/src/CPlusPlusLinkerPEF.cc b/dev/LibCompiler/src/DynamicLinkerPEF.cc
index a7abc92..d00feaf 100644
--- a/dev/LibCompiler/src/CPlusPlusLinkerPEF.cc
+++ b/dev/LibCompiler/src/DynamicLinkerPEF.cc
@@ -51,12 +51,12 @@
/// @brief PEF stack size symbol.
#define kLinkerStackSizeSymbol "SizeOfReserveStack"
-namespace Details
+namespace Detail
{
struct DynamicLinkerBlob final
{
- std::vector<CharType> mBlob; // PEF code/bss/data blob.
- std::uintptr_t mObjOffset; // the offset of the PEF container header..
+ std::vector<CharType> mBlob{}; // PEF code/bss/data blob.
+ UIntPtr mObjOffset{0UL}; // the offset of the PEF container header..
};
}
@@ -82,7 +82,7 @@ static const char* kLdDynamicSym = ":RuntimeSymbol:";
/* object code and list. */
static std::vector<LibCompiler::String> kObjectList;
-static std::vector<Details::DynamicLinkerBlob> kObjectBytes;
+static std::vector<Detail::DynamicLinkerBlob> kObjectBytes;
static uintptr_t kMIBCount = 8;
static uintptr_t kByteCount = 1024;