Цитата(Sixthirty @ 8.5.2011, 18:30) *

Всем доброго дня.
Разрабатываю программу, которая бы считала значения ф-ии и в будущем, выводила бы график.
Суть вот в чем. Например, отбросим построение графика, тогда можно все вывести через командную строку.
Программа должна работать так: program.exe -v x -v y "x+y", после чего вводятся значения икс и игрек. Выделить из строки выражение функции(х+у) не проблема, но проблема в том, чтобы подставить туда значения. Конечно, на простых ф-ях можно просто пройтись по строке и все заменить, но когда будут мало-мальски большие степени - будет трудно. Да и писать для каждой возможной ф-ии свой обработчик - извращение.
Хотелось бы услышать, как все же можно заставить программу считать по той ф-ии, которая вводится. Проверку на подлинность не нужно, допустим, что всё будет вводится по синтаксису.


Я бы написал синтаксический анализатор.. Это не сложно. Сразу будет и проверка синтаксиса и расширяемость и возможность вычислить что угодно.

Могу дать пример на perl для разбора языка похожего на sql.