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

Method parse_alternates

smallthinker/src/llama-grammar.cpp:323–338  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

321}
322
323const char * llama_grammar_parser::parse_alternates(
324 const char * src,
325 const std::string & rule_name,
326 uint32_t rule_id,
327 bool is_nested) {
328 llama_grammar_rule rule;
329 const char * pos = parse_sequence(src, rule_name, rule, is_nested);
330 while (*pos == '|') {
331 rule.push_back({LLAMA_GRETYPE_ALT, 0});
332 pos = parse_space(pos + 1, true);
333 pos = parse_sequence(pos, rule_name, rule, is_nested);
334 }
335 rule.push_back({LLAMA_GRETYPE_END, 0});
336 add_rule(rule_id, rule);
337 return pos;
338}
339
340const char * llama_grammar_parser::parse_sequence(
341 const char * src,

Callers

nothing calls this directly

Calls 4

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

Tested by

no test coverage detected