Обычно заказ считается трудным случаем.
Для предварительного заказа у вас просто будет такая грамматика.
expr ::= operator expr expr | var
За оператором следует точно два правильно сформированных выражения . Это можно легко проанализировать с помощью рекурсии
Если вы проанализируете дерево и получите переменную, верните переменную.
Если вы анализируете дерево и получаете оператора, анализируйте два следующих дерева как поддерево справа / слева.