Re: Refal6 для Linux скомпилирован


Subject: Re: Refal6 для Linux скомпилирован
From: Arkady Klimov (klark@bagirra.net)
Date: Mon Nov 05 2001 - 15:53:56 MSK


----- Original Message -----
From: <dmsidorov@mtu-net.ru>
To: Arkady Klimov <klark@bagirra.net>; refal <refal@botik.ru>
Sent: Monday, November 05, 2001 12:00 PM
Subject: Refal6 для Linux скомпилирован!

| Во всяком случае, если переделать макрос в подставляемую функцию,
|
| inline void cvalue2float_fun (cvalue cc, float f)
| { cvalue2float(cc,f);
| };
|
| протесты компилятора прекращаются. Так, наверно, и надежнее, поскольку
| у макросов контроля нет.
|
| ri скомпилирован, правда, компоновщик выдал предупреждение:
|
| rbeval.o: In function `rf_eval':
| /home/dima/archive/refal/c1/rbeval.c:218: the `gets' function is dangerous and should not be used.

Наверно, надо заменить gets на что-то другое или написать свою.

|
| При первом запуске ri было выдано предупреждение
|
| EVAL: *** Unexpected FAIL
|
| дальше нормальное приглашение коммандной строки.
|
| Теперь, когда Рефал скомпилирован, прошу советов, с чего лучше начать его
| изучение, и как тестировать. Полный список исправлений для компиляции под
| Linux пришлю позднее, когда все проверю.

К сожалению, ни регулярной технологии тестирования, ни набора тестов
в свое время сформировано на было. Могу посоветовать только вести тестирование
"кругами" от простого к сложному. Самое простое - пользоваться исполняемым
файлом ri как "фильтром", переводящим вызовы функций, записанные
во входном файле в их значения, передаваемые в выходной файл.
Таким способом можно вызывать любые встроенные функции.
Входной файл указывает первый параметр командной строки. (Точнее,
начало этого параметра до первого "+".) Умолчание - файл "default.rex".
Можно попробовать ri con. Ввод будет с терминала.
Чтобы видеть результаты укажите ключ: ri con -s или ri con -r.
Если после этого набрать <ADD 1 2> [ENTER], то выдается 3.
Когда этот режим более менее проверен, дальше можно запускать инициатор i.rex и
в режиме "ask" (вызов ri i+*ask, со звездочкой задается стартовая функция)
задавать отдельные вызовы функций в диалоге.
Дальше запускать другие откомпилированные модули.
Дальше запускать компилятор.
И т.д. Где-то при тестировании небольших модулей потестировать режим отладки.
Посмотреть как реагирует система на Ctrl-C. Как отвечает на команды отладки.
Особое внимание следует уделить тестированию тех функций, в коде которых
делались какие-то изменения при адаптации.
Вот в общем-то все. Будут вопросы - буду рад ответить.
Аркадий

|
| Дмитрий



This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:59 MSD