У меня есть динамически генерируемые логические выражения, например:
- (A или B) и (C или D)
- A или (A и B)
- А
- empty - означает True
Заполнители заменяются булевыми. Должен ли я,
- Преобразуйте эту информацию в выражение Python, например
True or (True or False)иevalit? - Создайте двоичное дерево, где node является объектом
boolилиConjunction/Disjunctionи рекурсивно оценивает его? - Преобразовать его в вложенные S-выражения и использовать парсер Lisp?
- Что-то еще?
Предложения приветствуются.