разбирает и маркирует строку с помощью автомата конечного состояния:
integer -> integer-token
operator -> token оператора
открывающая скобка -> state -новое выражение
закрывающая скобка -> состояние - выражение закрытия
таким образом, вы можете просто построить дерево и выполнить его, сгладив нижнюю часть дерева.