mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-20 20:13:15 +08:00
Update release
This commit is contained in:
@@ -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"};");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user