Что проще использовать: алгоритм Shunting Yard или алгоритм рекурсивного спуска для разбора формул?
Самым простым будет тот, который вы понимаете лучше.Если есть связь с рекурсивным спуском, ее можно использовать как для простых выражений, так и для более сложных сценариев (например, интерпретатор).
Если это не домашнее задание (следовательно, от вас не требуетсяреализовать код самостоятельно), посмотрите на готовые решения (пример: dwscript или Pascal Script ).Вы также можете использовать «компилятор компилятора», набор инструментов, предназначенный для создания анализаторов и анализаторов лексики.Я не могу рекомендовать ничего, потому что, честно говоря, я не нашел ни одного, чтобы удовлетворить мои потребности.Вы можете начать поиск с TP Lex / Yacc .
Достигну ли я работы переводчика на каком-то этапе моей работы и как?
Обычно интерпретатор работает над сценарием и выполняет несколько операций (операторы execute).Оценщик выражений работает только с выражениями, предоставляя результат (или дерево выражений, которое можно использовать для получения результата).
Интерпретатору определенно понадобится синтаксический анализатор выражений (или оценщик), но не другим способом.вокруг.