Re: Refal interpreter


Subject: Re: Refal interpreter
From: Andrei Klimov (klimov@keldysh.ru)
Date: Fri Jan 21 2005 - 15:03:25 MSK


From: "Leonid Belous" <belous@ilt.kharkov.ua>
> Я думаю, что переписка далее будет интересна всем, но предлагаю,
> начиная с этого письма, поменять кодировку в нашей переписке с Юникода (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 - 15:39:54 MSK