Fixed bugs with lexer
This commit is contained in:
@@ -115,7 +115,7 @@ namespace LXC::Util
|
|||||||
if (log.is_open()) _UNLIKELY
|
if (log.is_open()) _UNLIKELY
|
||||||
{
|
{
|
||||||
// Opening symbol to make the log look fancy //
|
// Opening symbol to make the log look fancy //
|
||||||
log << "[LXC-M] \"";
|
log << "[LXC] \"";
|
||||||
|
|
||||||
// Fowards the arguments to the log and flushes //
|
// Fowards the arguments to the log and flushes //
|
||||||
(log << ... << args);
|
(log << ... << args);
|
||||||
@@ -135,7 +135,7 @@ namespace LXC::Util
|
|||||||
if (log.is_open()) _UNLIKELY
|
if (log.is_open()) _UNLIKELY
|
||||||
{
|
{
|
||||||
// Opening symbol to make log look fancy //
|
// Opening symbol to make log look fancy //
|
||||||
log << "[LXC-S] ";
|
log << "[LXC] ";
|
||||||
|
|
||||||
// Logic if it can call LogStr() //
|
// Logic if it can call LogStr() //
|
||||||
if constexpr (HasLogStrFunc<T>)
|
if constexpr (HasLogStrFunc<T>)
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace LXC::Lexer
|
|||||||
|
|
||||||
// Creates the token (if at the end of the string literal) //
|
// Creates the token (if at the end of the string literal) //
|
||||||
if (!trackers.inStrLiteral)
|
if (!trackers.inStrLiteral)
|
||||||
ctx.out.emplace_back(ctx, trackers.sectionStart, (USHORT)(ctx.index - trackers.sectionStart), Token::String_Literal);
|
ctx.out.emplace_back(ctx, trackers.sectionStart + 1, (USHORT)(ctx.index - trackers.sectionStart - 1), Token::String_Literal);
|
||||||
|
|
||||||
} else if (trackers.inStrLiteral) {}
|
} else if (trackers.inStrLiteral) {}
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ namespace LXC::Lexer
|
|||||||
// Checks for the end of the number literal to create the token //
|
// Checks for the end of the number literal to create the token //
|
||||||
if (!IsNumeric(next)) _UNLIKELY
|
if (!IsNumeric(next)) _UNLIKELY
|
||||||
{
|
{
|
||||||
ctx.out.emplace_back(ctx, trackers.sectionStart, (USHORT)(ctx.index - trackers.sectionStart), Token::Num_Literal);
|
ctx.out.emplace_back(ctx, trackers.sectionStart, (USHORT)(ctx.index - trackers.sectionStart + 1), Token::Num_Literal);
|
||||||
trackers.inNumLiteral = false;
|
trackers.inNumLiteral = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -86,7 +86,7 @@ namespace LXC::Lexer
|
|||||||
// Checks for the end of the word to create the token //
|
// Checks for the end of the word to create the token //
|
||||||
if (!IsAlpha(next)) _UNLIKELY
|
if (!IsAlpha(next)) _UNLIKELY
|
||||||
{
|
{
|
||||||
ctx.out.emplace_back(ctx, trackers.sectionStart, static_cast<unsigned short>(ctx.index - trackers.sectionStart), Token::Identifier);
|
ctx.out.emplace_back(ctx, trackers.sectionStart, (USHORT)(ctx.index - trackers.sectionStart + 1), Token::Identifier);
|
||||||
trackers.inIdentifier = false;
|
trackers.inIdentifier = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,12 +78,12 @@ namespace LXC::Lexer
|
|||||||
{
|
{
|
||||||
// Output stream to log to //
|
// Output stream to log to //
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
os << std::setw(15) << std::left << TokenTypeToCStr(type) << " | ";
|
os << std::setw(25) << std::left << TokenTypeToCStr(type) << " | ";
|
||||||
|
|
||||||
if (contents != nullptr)
|
if (contents != nullptr)
|
||||||
os << '"' << contents << '"';
|
os << std::setw(25) << std::left << std::string('"' + std::string(contents) + '"');
|
||||||
else
|
else
|
||||||
os << "EMPTY";
|
os << std::setw(25) << std::left << "EMPTY";
|
||||||
|
|
||||||
return os.str();
|
return os.str();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
FILE CONTENTS GO HERE
|
FILE 4 CONTENTS "A" GO B HERE 34 "ELLO THER"
|
||||||
|
|||||||
Reference in New Issue
Block a user