Заранее прошу прощения, если не смог сформулировать вопрос доступным языком. "Движок" работает так:
- пользователь на фронте может составлять выражения с помощью визуального конструктора
- получается выражение, например (value1 > value2) ИЛИ (value3 != value4) И (value5 <= value6), для каждого оператора сравнения свой набор операндов
- на стороне сервера разбор выражения, валидация, выполнение
Нашел вот это
symfony.com/doc/current/components/expression_lang... и модуль ценовых правил движка magento. Первое не подходит так как по сути это что-то вроде простого eval, второе прям то, что нужно, но выдирать всю логику из множества классов движка ну очень долго.
Есть ли такие в природе или хотя бы близкие по логике, которые можно подпилить под свои нужды?