Refal interpreter


Subject: Refal interpreter
From: Leonid Belous (belous@ilt.kharkov.ua)
Date: Fri Jan 21 2005 - 13:48:27 MSK


Здравствуйте, Антон!

Спасибо за разъяснения. Теперь все понятно и работает так, как Вы сказали.

Я думаю, что переписка далее будет интересна всем, но предлагаю, начиная с этого письма, поменять кодировку в нашей переписке с Юникода (utf-8) на koi-8r, поскольку те, кто читает почту в UNIX не в режиме X-ов (а я думаю, что такие есть :-) ) произносят (про себя) некоторые слова и не смотрят этих писем. Для фиксации этого момента я также сменил и Subj.

Антон, то что Вы делаете, действительно интересно.
Мне лично хотелось бы сначала получить ответ на следующие вопросы.
1. Что представляет реализуемое Вами подмножество языка Рефал и его синтаксис.
2. Вы обещали поменять комментарии на более читабельный (нежели "ломаный Эсперанто" :-) ) язык. Но относится ли это намерение к идентификаторам в программе? Глядя на имя "nterp_preni_nomon", возникает какая-то ассоцияция с интерпретацией, но не более. Кстати, мне часто попадалось имя "kuranta", что оно означает?

С уважением,
--Леонид Белоус

----- Исходное сообщение -----
От: "A.A.Vladimirov" <vladimi@mech.math.msu.su>
Кому: <belous@ilt.kharkov.ua>
Отправлено: 21 января 2005 г. 10:27
Тема: Re: Re[2]: RAFAL & JAVA

> Здравствуйте.
>
> Целью программы zamena.ref является демонстрация функции interp, имеющей
> формат "k/interp/ имя_файла." и изменяющей работающую рефал-машину
> согласно программе из файла, имя которой является аргументом. В файле
> zamena.ref происходит "переинтерпретация" его самого после ввода пустой
> строки.
>
> Здесь следует отметить следующую особенность реализации: функцию можно
> определять повторно. Например, код
>
> funk e/text/ = e/text/
>
> funk e/text/ =
>
> является вполне допустимым - при этом функция "funk" будет заменять
> любое выражение на пустое (первоначальное же определение её как
> тождественной "убито" в ходе переопределения).
>
> > ввел строку из 1111111111, потом 22222222. На каждый ENTER повторяла
> > введенное с переходом в ожидание ввода с новой строки.
> >
>
> Так и должно быть.
>
> > >4) провести "горячее" перетаскивание знака "#" на одну строку вверх,
> > >после чего ввести __пустую__ строку;
>
> Имеется в виду следующее. После ввода того же 222222:
>
> 1) Файл zamena.ref открывается на редактирование (НЕ ВЫХОДЯ из
> работающего скрипта - например, в параллельной консоли), символ
> комментария из последней строки убирается, а на предпоследнюю, наоборот,
> ставится. После чего изменения сохраняются.
>
> 2) В консоли, где работает первоначальный скрипт, вводится пустая
> строка. В результате выводится текст 'Zamena fajla' (который Вы и
> видели) - и функции машины изменяются согласно новому положению дел в
> файле zamena.ref.
>
> 3) Снова вводится что-то типа 1111111. Но теперь оно уже не
> продублируется, а просто произойдёт выход из программы.
>
> С уважением,
> Антон Владимиров
>
>
>



This archive was generated by hypermail 2b25 : Fri Jan 21 2005 - 13:48:27 MSK