MCPcopy Create free account
hub / github.com/abetlen/llama-cpp-python / get_recursive_refs

Method get_recursive_refs

examples/server/server.py:733–751  ·  view source on GitHub ↗
(keys: List[str], first_is_optional: bool)

Source from the content-addressed store, hash-verified

731 rule += "( "
732
733 def get_recursive_refs(keys: List[str], first_is_optional: bool) -> str:
734 head, *rest = keys
735 kv_rule_name = property_kv_rule_names[head]
736 result = ""
737 if head == "*":
738 if first_is_optional:
739 result = f"({kv_rule_name})?"
740 else:
741 result = kv_rule_name
742 elif first_is_optional:
743 result = f'( "," space {kv_rule_name} )?'
744 else:
745 result = kv_rule_name
746 if rest:
747 result += " " + self._add_rule(
748 f"{name}{'-' if name else ''}{head}-rest",
749 get_recursive_refs(rest, first_is_optional=True),
750 )
751 return result
752
753 rule += " | ".join(
754 get_recursive_refs(optional_props[index:], first_is_optional=False)

Callers

nothing calls this directly

Calls 1

_add_ruleMethod · 0.95

Tested by

no test coverage detected