![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перевести строку в функцию [Delphi, Windows]
IceMan © (2004-10-20 11:51:00)Я описал тип
type
TFunction:function(x:real):real;
Мне надо написать функцию перевода строки в этот тип. Например:
function StrToFunction(s:string):TFunction;
Gandalf (2004-10-30 13:05:00) [1]Это оффтоп. Это парсер.
Владимир Кладов (2004-10-20 20:02:00) [2]или у меня в Hexapad'е
dmd (2004-10-20 17:38:00) [3]посмотри как это у меня сделано
http://optytrace.100free.com
Gleb (2004-10-20 13:02:00) [4]Да, и ещё:
естественно, для выполнения разобранной функции, необходимо написать соответствующую процедуру (это будет интерпритатор),
или же после разбора, переводить результат разбора напрямую в машинный код (это будет компилятор). Гораздо проще воспользоваться первым способом.
Gleb (2004-10-20 12:54:00) [5]Придётся заниматься разбором выражений.
Алгоритмы можно найти здесь:
http://algolist.manual.ru/syntax/index.php
В простейшем случае будет достаточно перевести в обратную польскую нотацию.
IceMan (2004-10-20 11:59:00) [6]Пишу пример.
Var
S:string;
....
Begin
s:='cos(x)+1';
Как S перевести в функцию
IceMan (2004-10-20 11:57:00) [7]Почему это абсурд. И если это так, то как это сделать по другому
piople (2004-10-20 11:57:00) [8]Бредятина какая-то ...
IceMan (2004-10-20 11:56:00) [9]Мне очень надо написать прогу численого интегрирования.
Мне надо считать мат.выражение с одной неизвестной и перевести его в тип TFunction
piople (2004-10-20 11:53:00) [10]Абсурд.....