MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / parse_alternates

Function parse_alternates

common/grammar-parser.cpp:232–248  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

230 }
231
232 const char * parse_alternates(
233 parse_state & state,
234 const char * src,
235 const std::string & rule_name,
236 uint32_t rule_id,
237 bool is_nested) {
238 std::vector<llama_grammar_element> rule;
239 const char * pos = parse_sequence(state, src, rule_name, rule, is_nested);
240 while (*pos == '|') {
241 rule.push_back({LLAMA_GRETYPE_ALT, 0});
242 pos = parse_space(pos + 1, true);
243 pos = parse_sequence(state, pos, rule_name, rule, is_nested);
244 }
245 rule.push_back({LLAMA_GRETYPE_END, 0});
246 add_rule(state, rule_id, rule);
247 return pos;
248 }
249
250 static const char * parse_rule(parse_state & state, const char * src) {
251 const char * name_end = parse_name(src);

Callers 4

parse_sequenceMethod · 0.85
parse_ruleMethod · 0.85
parse_sequenceFunction · 0.85
parse_ruleFunction · 0.85

Calls 4

parse_sequenceFunction · 0.85
add_ruleFunction · 0.85
parse_spaceFunction · 0.70
push_backMethod · 0.45

Tested by

no test coverage detected