На входе обратная польская запись включающая в себя операторы, функции, скобочки и числа.
Нет скобочек в RPN.
И что тут думать? Нужно тащить стек встреченных терминальных символов и готовых узлов, а при появлении оператора или функции создавать новый узел, снимать со стека столько элементов сколько ожидает пришедший оператор/функция и делать их его детьми, и добавлять обратно в стек только что созданный узел.