Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];

Вниз

Нетривиальная задачка...   Найти похожие ветки 

 
Fellomena   (2002-02-08 13:52) [0]

Привет всем !
Укажите направление plz для того что бы реализовать следующую штуку:
есть некая ф-ия типа:

function MyMathFunc(i, j, k: extended): extended;
begin
Result:= i*j*k;
end;

Есть на моей форме Edit1 в который я ввожу следующее:
i/j*k
Мне необходимо, что бы в моей ф-ии MyMathFunc значение Result соответственно стало не i*j*k, а
то, которое я ввожу в Edit1, т.е. в данном случае i/j*k
Это на инторпретатор смахивает, но с фиксированным числом входящих данных и фиксированным типом.


 
Виктор Щербаков   (2002-02-08 14:01) [1]

Реализуй синтаксический разбор методом рекурсивного спуска.


 
wicked   (2002-02-08 14:03) [2]

всё равно интерпретатор... :)
хотя и не сложно.... для него нам потребуется:
1) сканнер (лексический анализатор)
2) собс-но парсер

в сканнерах я не силён, но есть прокрасный набор программ - tpLexYacc... Lex"ом из него можно сгенерировать недурственный сканнер....
а парсер - дело простое: 2 стека, алгоритм Дийкстры и час работы... :)


 
Fellomena   (2002-02-08 14:12) [3]

Это всё здорово конечно, но кто мне объяснит сам механизм перевода строки в код ?
Ведь моя программа в дальнейшем должна будет обращаться к моей ф-ии.
А как быть с адресом этой ф-ии ? Табличка адресов в проге формируется на этапе компановке, а при
изменении Result в ф-ии, в АП процесса наверняка произойдёт перераспределение адресов ?


 
wicked   (2002-02-08 14:20) [4]

2 Fellomena
так функция твоя и будет интерпретатором....
надо сначала разобрать введенное выражение во внутреннее представление, а потом, при вызове функции, интерпретировать его..


 
Виктор Щербаков   (2002-02-08 14:37) [5]

Берем книгу Б.Страуструпа "Язык программирования С++".
Смотрим пример "Калькулятор". Пишем нечто похожее на Delphi.


 
Fellomena   (2002-02-08 14:46) [6]

Ясно, спасибо.
Геморно это очень... но рано или поздно мне это придётся делать, хорошо хоть не сейчас...
будем знать 8\


 
kig   (2002-02-08 15:52) [7]

А может тогда проще подключить интерпретатор JScript?
Чтобы геммороя поменьше?


 
Ura   (2002-02-08 16:09) [8]

> Fellomena
Скинуть анализатор? (первая версия - с исходным кодом. Дохловат пока, но переменные однобуквенные разбирает...)



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

Форум: "Основная";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.019 c
1-79375
greenrul
2002-02-08 20:24
2002.02.25
Как свой checkbox и radiobutton сотворить?


14-79472
michael_B
2002-01-05 15:09
2002.02.25
Хочу стильно оформить свою программу


7-79492
ANDREY196
2001-11-18 23:37
2002.02.25
Как мне получить изображение с TV-карты


3-79262
kay
2002-01-30 08:47
2002.02.25
BDE Admin


14-79445
Nest
2002-01-08 09:29
2002.02.25
Как себя вучствуем полсе праздников ?... %()





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский