Роберт Лафоре | Структуры данных и алгоритмы в Java
В данной книге есть подробное описание реализации мат.интерпритатора, вроде как даже с выводом промежуточных результатов. Возможно чем то поможет.
Basil_Dev: Ну после парсинга у вас должно получится синтаксическое дерево. Узлы, находящиеся на одном расстоянии от корня, соответствуют операциям с одинаковым приоритетом.
Ну а дальше берёте самый дальний узел от корня, если это операция - выполняете её, заменяете узел с операцией на константу-резульат. Если это константа, то переходите к следующему узлу. Получаете новое дерево, в котором упрощён один шаг вычисления. По этому дереву строите новое выражение и печатаете его.
И так до тек пор, пока корень дерева не станет константным выражением.
Мой говнокод на c++, который реализует пошаговое решение уравнений(с учетом приоритетов операторов) и поддерживаются переменные и константы. Слегка не дописан, но есть интерпретатор коммандной строки.