Вниз
Скачать: CL | DM;

Как перевести строку в функцию   Найти похожие ветки 

 
IceMan   (2004-10-20 11:51) [0]

Я описал тип
type
 TFunction:function(x:real):real;
Мне надо написать функцию перевода строки в этот тип. Например:
function StrToFunction(s:string):TFunction;


 
piople ©   (2004-10-20 11:53) [1]

Абсурд.....


 
IceMan   (2004-10-20 11:56) [2]

Мне очень надо написать прогу численого интегрирования.
Мне надо считать мат.выражение с одной неизвестной и перевести его в тип TFunction


 
IceMan   (2004-10-20 11:57) [3]

Почему это абсурд. И если это так, то как это сделать по другому


 
piople ©   (2004-10-20 11:57) [4]

Бредятина какая-то ...


 
IceMan   (2004-10-20 11:59) [5]

Пишу пример.
Var
 S:string;
....
Begin
  s:="cos(x)+1";
Как S перевести в функцию


 
Gleb   (2004-10-20 12:54) [6]

Придётся заниматься разбором выражений.
Алгоритмы можно найти здесь:
http://algolist.manual.ru/syntax/index.php
В простейшем случае будет достаточно перевести в обратную польскую нотацию.


 
Gleb   (2004-10-20 13:02) [7]

Да, и ещё:
естественно, для выполнения разобранной функции, необходимо написать соответствующую процедуру (это будет интерпритатор),
или же после разбора, переводить результат разбора напрямую в машинный код (это будет компилятор). Гораздо проще воспользоваться первым способом.


 
dmd   (2004-10-20 17:38) [8]

посмотри как это у меня сделано
http://optytrace.100free.com


 
Владимир Кладов   (2004-10-20 20:02) [9]

или у меня в Hexapad"е


 
Gandalf ©   (2004-10-30 13:05) [10]

Это оффтоп. Это парсер.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
4-1113980046
dimasih
2005-04-20 10:54
2005.06.14
Знатокам TService in a Delphi 5.0


3-1115290127
Black Fox
2005-05-05 14:48
2005.06.14
Ошибка доступа к метафайлу


14-1116861462
Ломброзо
2005-05-23 19:17
2005.06.14
ГОСТ 21552-84


4-1114153640
needle
2005-04-22 11:07
2005.06.14
как определить более подробный тип диска


1-1116934243
ANB
2005-05-24 15:30
2005.06.14
Что такое "Объекты GDI" в диспетчере задач ?




   Наверх