Допустим, у меня есть такое выражение:
(((((e1) или (e2)) и (e3 или (e5 и e6)) и (e7)) или (e8))
Мне нужно получить список выражений (e1, e2, e3 и т. Д.), За которыми следуют операторы и / или операторы, чтобы при оценке списка слева направо получался тот же логический логический ответ.
т.е. e1 или e2 и e5 и e6 или e3 и e7 или e8. Но это не правильный ответ, но это то, что мне нужно в итоге.
Я знаю, что синтаксический анализатор рекурсивного спуска будет оценивать выражение, но это не то, что мне нужно, мне нужно закончить списком выражений, которые можно будет вычислить позже слева направо.
Я думал положить его в двоичное дерево, а затем перемещаться по постфиксу дерева или что-то в этом роде, но это не так.
Раньше я был достаточно умен, чтобы понять такие вещи, но теперь у меня есть ребенок, и я потерял все свои более высокие когнитивные способности. Помощь