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

Function print_rule_binary

common/grammar-parser.cpp:307–335  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

305 }
306
307 static void print_rule_binary(FILE * file, const std::vector<llama_grammar_element> & rule) {
308 for (auto elem : rule) {
309 switch (elem.type) {
310 case LLAMA_GRETYPE_END: fprintf(file, "END"); break;
311 case LLAMA_GRETYPE_ALT: fprintf(file, "ALT"); break;
312 case LLAMA_GRETYPE_RULE_REF: fprintf(file, "RULE_REF"); break;
313 case LLAMA_GRETYPE_CHAR: fprintf(file, "CHAR"); break;
314 case LLAMA_GRETYPE_CHAR_NOT: fprintf(file, "CHAR_NOT"); break;
315 case LLAMA_GRETYPE_CHAR_RNG_UPPER: fprintf(file, "CHAR_RNG_UPPER"); break;
316 case LLAMA_GRETYPE_CHAR_ALT: fprintf(file, "CHAR_ALT"); break;
317 }
318 switch (elem.type) {
319 case LLAMA_GRETYPE_END:
320 case LLAMA_GRETYPE_ALT:
321 case LLAMA_GRETYPE_RULE_REF:
322 fprintf(file, "(%u) ", elem.value);
323 break;
324 case LLAMA_GRETYPE_CHAR:
325 case LLAMA_GRETYPE_CHAR_NOT:
326 case LLAMA_GRETYPE_CHAR_RNG_UPPER:
327 case LLAMA_GRETYPE_CHAR_ALT:
328 fprintf(file, "(\"");
329 print_grammar_char(file, elem.value);
330 fprintf(file, "\") ");
331 break;
332 }
333 }
334 fprintf(file, "\n");
335 }
336
337 static void print_rule(
338 FILE * file,

Callers

nothing calls this directly

Calls 2

fprintfFunction · 0.85
print_grammar_charFunction · 0.70

Tested by

no test coverage detected