Make parser class static, to reduce required state.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-01-01 23:17:34 +01:00
parent dd2722d485
commit 5ac627a9b3
6 changed files with 231 additions and 177 deletions

View File

@@ -13,8 +13,7 @@ using namespace MalachScript;
vec[i]->SetNext(vec[i + 1]); \
} \
Diagnostics::Diagnostics diags; \
auto parser = Parser::Parser(u8"scriptname", vec.front(), &diags); \
auto* script = parser.Parse(); \
auto* script = Parser::Parser::Parse(vec.front(), u8"scriptname", &diags); \
REQUIRE(diags.GetMessages().empty()); \
asserts; \
delete vec[0]; \

View File

@@ -13,8 +13,7 @@ using namespace MalachScript;
vec[i]->SetNext(vec[i + 1]); \
} \
Diagnostics::Diagnostics diags; \
auto parser = Parser::Parser(u8"scriptname", vec.front(), &diags); \
auto* script = parser.Parse(); \
auto* script = Parser::Parser::Parse(vec.front(), u8"scriptname", &diags); \
REQUIRE(diags.GetMessages().empty()); \
asserts; \
delete vec[0]; \

View File

@@ -9,8 +9,7 @@ using namespace MalachScript;
Diagnostics::Diagnostics diags; \
auto lexer = Parser::Lexer(u8##name, u8##scriptText, &diags); \
auto token = lexer.Lex(); \
auto parser = Parser::Parser(u8##name, token, &diags); \
auto script = parser.Parse(); \
auto script = Parser::Parser::Parse(token, u8##name, &diags); \
asserts; \
delete script; \
}

View File

@@ -13,8 +13,7 @@ using namespace MalachScript;
vec[i]->SetNext(vec[i + 1]); \
} \
Diagnostics::Diagnostics diags; \
auto parser = Parser::Parser(u8"scriptname", vec.front(), &diags); \
auto* script = parser.Parse(); \
auto* script = Parser::Parser::Parse(vec.front(), u8"scriptname", &diags); \
REQUIRE(diags.GetMessages().empty()); \
asserts; \
delete vec[0]; \