В настоящее время я пытаюсь сгенерировать абстрактное синтаксическое дерево из функционального выражения, которое может быть, например, следующим:
OR(FunctionOne("valueA", "valueB", "valueC"), FunctionTwo("valueD", "valueE", "valueF"))
В основном, простая конкатенация операторов (AND | OR) и их функций (может бытьnested).
Я хотел бы перенести эту строку в абстрактное синтаксическое дерево, например:
value
OR
FunctionOne:
value1: valueA
value2: valueB
value3: valueC
FunctionTwo:
value4: valueD
value5: valueE
value6: valueF
Что я сделал до сих пор ...
из импорта larkLark
parser = Lark(r"""
value: operator
operator : operatorvalue"("function"(how_to_handle_params)"*")"
operatorvalue : "OR" | "AND"
function : "FunctionOne" | "FunctionTwo"
""", start='value')
Кто-нибудь может мне помочь с этой проблемой?
Просто нужна некоторая отправная точка, так как документы обрабатывают только json ...
Спасибо и привет!