Update release

This commit is contained in:
vczh
2021-12-27 00:13:55 -08:00
parent 597883c4f3
commit 7dc2a8ec4d
33 changed files with 18023 additions and 12565 deletions
+10 -25
View File
@@ -7337,7 +7337,7 @@ namespace vl
}
RuleParser::RuleParser()
: vl::glr::ParserBase<ParserGenTokens, RuleParserStates, ParserGenAstInsReceiver, RuleParserStateTypes>(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenRuleParserData)
: vl::glr::ParserBase<ParserGenTokens, RuleParserStates, ParserGenAstInsReceiver>(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenRuleParserData)
{
};
@@ -7348,12 +7348,12 @@ namespace vl
vl::Ptr<vl::glr::parsergen::GlrSyntaxFile> RuleParser::ParseFile(const vl::WString& input, vl::vint codeIndex) const
{
return Parse<RuleParserStates::File>(input, this, codeIndex);
return ParseWithString<vl::glr::parsergen::GlrSyntaxFile, RuleParserStates::File>(input, this, codeIndex);
};
vl::Ptr<vl::glr::parsergen::GlrSyntaxFile> RuleParser::ParseFile(vl::collections::List<vl::regex::RegexToken>& tokens, vl::vint codeIndex) const
{
return Parse<RuleParserStates::File>(tokens, this, codeIndex);
return ParseWithTokens<vl::glr::parsergen::GlrSyntaxFile, RuleParserStates::File>(tokens, this, codeIndex);
};
}
}
@@ -8245,7 +8245,7 @@ namespace vl
}
TypeParser::TypeParser()
: vl::glr::ParserBase<ParserGenTokens, TypeParserStates, ParserGenAstInsReceiver, TypeParserStateTypes>(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenTypeParserData)
: vl::glr::ParserBase<ParserGenTokens, TypeParserStates, ParserGenAstInsReceiver>(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenTypeParserData)
{
};
@@ -8256,12 +8256,12 @@ namespace vl
vl::Ptr<vl::glr::parsergen::GlrAstFile> TypeParser::ParseFile(const vl::WString& input, vl::vint codeIndex) const
{
return Parse<TypeParserStates::File>(input, this, codeIndex);
return ParseWithString<vl::glr::parsergen::GlrAstFile, TypeParserStates::File>(input, this, codeIndex);
};
vl::Ptr<vl::glr::parsergen::GlrAstFile> TypeParser::ParseFile(vl::collections::List<vl::regex::RegexToken>& tokens, vl::vint codeIndex) const
{
return Parse<TypeParserStates::File>(tokens, this, codeIndex);
return ParseWithTokens<vl::glr::parsergen::GlrAstFile, TypeParserStates::File>(tokens, this, codeIndex);
};
}
}
@@ -8801,19 +8801,6 @@ WriteSyntaxHeaderFile
}
writer.WriteLine(prefix + L"};");
}
{
writer.WriteLine(L"");
writer.WriteLine(prefix + L"template<" + manager.name + L"States> struct " + manager.name + L"StateTypes;");
for(auto ruleName : manager.RuleOrder())
{
auto ruleSymbol = manager.Rules()[ruleName];
if (manager.parsableRules.Contains(ruleSymbol))
{
auto astType = manager.ruleTypes[ruleSymbol];
writer.WriteLine(prefix + L"template<> struct " + manager.name + L"StateTypes<" + manager.name + L"States::" + ruleName + L"> { using Type = " + astType + L"; };");
}
}
}
{
writer.WriteLine(L"");
writer.WriteLine(prefix + L"const wchar_t* " + manager.name + L"RuleName(vl::vint index);");
@@ -8826,8 +8813,7 @@ WriteSyntaxHeaderFile
writer.WriteString(prefix+L"\t: public vl::glr::ParserBase<");
writer.WriteString(manager.Global().name + L"Tokens, ");
writer.WriteString(manager.name + L"States, ");
writer.WriteString(manager.Global().name + L"AstInsReceiver, ");
writer.WriteLine(manager.name + L"StateTypes>");
writer.WriteString(manager.Global().name + L"AstInsReceiver>");
writer.WriteLine(prefix + L"\t, protected vl::glr::automaton::TraceManager::ITypeCallback");
writer.WriteLine(prefix + L"{");
writer.WriteLine(prefix + L"protected:");
@@ -8907,8 +8893,7 @@ WriteSyntaxCppFile
writer.WriteString(prefix + L"\t: vl::glr::ParserBase<");
writer.WriteString(manager.Global().name + L"Tokens, ");
writer.WriteString(manager.name + L"States, ");
writer.WriteString(manager.Global().name + L"AstInsReceiver, ");
writer.WriteString(manager.name + L"StateTypes>(");
writer.WriteString(manager.Global().name + L"AstInsReceiver>(");
writer.WriteString(L"&" + manager.Global().name + L"TokenDeleter, ");
writer.WriteString(L"&" + manager.Global().name + L"LexerData, ");
writer.WriteLine(L"&" + manager.Global().name + manager.name + L"Data)");
@@ -8969,12 +8954,12 @@ WriteSyntaxCppFile
writer.WriteLine(L"");
writer.WriteLine(prefix + L"vl::Ptr<" + astType + L"> " + manager.name + L"::Parse" + ruleName + L"(const vl::WString& input, vl::vint codeIndex) const");
writer.WriteLine(prefix + L"{");
writer.WriteLine(prefix + L"\t return Parse<" + manager.name + L"States::" + ruleName + L">(input, this, codeIndex);");
writer.WriteLine(prefix + L"\t return ParseWithString<" + astType + L", " + manager.name + L"States::" + ruleName + L">(input, this, codeIndex);");
writer.WriteLine(prefix + L"};");
writer.WriteLine(L"");
writer.WriteLine(prefix + L"vl::Ptr<" + astType + L"> " + manager.name + L"::Parse" + ruleName + L"(vl::collections::List<vl::regex::RegexToken>& tokens, vl::vint codeIndex) const");
writer.WriteLine(prefix + L"{");
writer.WriteLine(prefix + L"\t return Parse<" + manager.name + L"States::" + ruleName + L">(tokens, this, codeIndex);");
writer.WriteLine(prefix + L"\t return ParseWithTokens<" + astType + L", " + manager.name + L"States::" + ruleName + L">(tokens, this, codeIndex);");
writer.WriteLine(prefix + L"};");
}
}