支持全局函数补全

This commit is contained in:
csh
2025-09-27 22:23:04 +08:00
parent aac12137cb
commit dc713e6893
220 changed files with 195514 additions and 195869 deletions
@@ -0,0 +1,35 @@
#pragma once
#include <optional>
#include <unordered_map>
#include <vector>
#include "./keyword_types.hpp"
namespace tsl
{
class KeywordManager
{
public:
KeywordManager(const KeywordManager&) = delete;
KeywordManager& operator=(const KeywordManager&) = delete;
static KeywordManager& GetInstance();
std::vector<KeywordInfo> GetAllKeywords();
std::vector<KeywordInfo> GetKeyWordByPrefix(std::string prefix);
std::optional<KeywordInfo> GetKeywordInfo(std::string key);
private:
KeywordManager();
void InitKeywords();
void InitProgramStructureKeywords();
void InitDataTypeKeywords();
void InitClassKeywords();
void InitControlFlowKeywords();
void InitOperatorKeywords();
void InitSqlKeywords();
void InitBuiltinKeywords();
void InitConstantKeywords();
std::unordered_map<std::string, KeywordInfo> keywords_;
};
}