Решатель логических уравнений
Такой вопрос: каким образом лучше всего реализовать данный решатель на php. Я начал с того, что имею формулу, например: !C*A+B. На данный момент описал функции, которые считывают количество переменных и дают им значения, затем в массив со значениями добавляю значения инверсии !С. Пишу функцию для логического умножения между переменными. На правильном пути ли я иду? Или делаю просто велосипед и есть более оптимальное решение?