Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Roman Go
Эдакий псевдоко, ибо Дельфи не знаю:
Код: Выделить весь код
procedure compute(a, b, step: real;
                  tmp_expr: string;
                  var result: {массив переменного размера или список} of real);
var
    x, y: real;
    tmp_expr: string;
begin
    x := a;
    while x < b do
      begin
        tmp_expr := expr;
        заменить(tmp_expr, 'x', x);
        y := eval(tmp_expr); {eval - функция вызова твоего интерпретатора}
        result.добавить(y);
        x := x + step;
      end
end;
Решение влоб - парсинг выражения будет происходить каждый раз, но в принципе должно быть вполне приемлимо.

Ну и гугл никто не отменял: http://google.com.ru/search?q=script+interpreter+Delphi

-------
http://ivank.ru


Отправлено: 20:12, 26-07-2003 | #2