MCPcopy Create free account
hub / github.com/dais-polymtl/flock / ParsePromptOrModel

Method ParsePromptOrModel

src/custom_parser/query_parser.cpp:113–129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

111}
112
113inline std::string QueryParser::ParsePromptOrModel(Tokenizer tokenizer, const std::string& query) {
114 auto token = tokenizer.NextToken();
115 auto value = duckdb::StringUtil::Upper(token.value);
116 if (token.type == TokenType::KEYWORD && (value == "MODEL" || value == "MODELS")) {
117 ModelParser model_parser;
118 model_parser.Parse(query, statement);
119 return model_parser.ToSQL(*statement);
120 } else if (token.type == TokenType::KEYWORD && (value == "PROMPT" || value == "PROMPTS")) {
121 PromptParser prompt_parser;
122 prompt_parser.Parse(query, statement);
123 return prompt_parser.ToSQL(*statement);
124 } else if (token.type == TokenType::KEYWORD && (value == "GLOBAL" || value == "LOCAL")) {
125 return ParsePromptOrModel(tokenizer, query);
126 } else {
127 throw std::runtime_error(duckdb_fmt::format("Unknown keyword: {}", token.value));
128 }
129}
130
131}// namespace flock

Callers

nothing calls this directly

Calls 3

NextTokenMethod · 0.80
ParseMethod · 0.45
ToSQLMethod · 0.45

Tested by

no test coverage detected