Спасибо, исправил. Теперь чуть меньше 6 Мб

 

Von: Александр Коновалов a.v.konovalov87_AT_mail.ru <refal@botik.ru> 
Gesendet: Sonntag, 28. März 2021 10:31
An: refal@botik.ru
Betreff: Re: AW: Refal6-basic

 

Доброе утро, Николай!

 

Архив нужно создавать с исключением файлов *.ipch и *.db. Они пересоздаются 
Visual Studio автоматически и занимают очень много места. Команда для архивации 
тогда будет такой:-

 

Gnuwin32\zip -r ..\..\Refal6b.zip ..\..\Refal6b -x *.ipch -x *.db

 

Архив будет иметь разумный объём.

 

 

С уважением,
Александр Коновалов

 

 

 

From: nikolai.kondratiev_AT_gmail.com <mailto:refal@botik.ru>  

Sent: Saturday, March 27, 2021 10:58 PM

To: refal@botik.ru <mailto:refal@botik.ru>  

Subject: AW: Refal6-basic

 

„Коля, а что это за файл такой большой там на 150 МБ, по ссылке под " 
<http://nkon04.ddns.net/refal6b/Refal6b.zip> Studio Community 2019 solution", 
файл refal6.zip. У меня после загрузки он выглядит пустым. Судя по названию и 
размеру, это, вероятно, сборка проекта (-ов) под MS Visual Studio со всеми 
исходниками и (промежуточными) результатами.“

 

Да, именно. Но я его создавал Gnuwin32\zip -r ..\..\Refal6b.zip ..\..\Refal6b и 
zip прописал два раза путь "..", там все должно быть.

Сейчас исправил.

 

Von: Arkady Klimov arkady.klimov_AT_gmail.com <refal@botik.ru 
<mailto:refal@botik.ru> > 
Gesendet: Samstag, 27. März 2021 19:11
An: refal@botik.ru <mailto:refal@botik.ru> 
Betreff: Re: Refal6-basic

 

"Данный суперкомпилятор умел повышать местность функций и распознавал 
«параметры-призраки» — параметры, при передаче значений в которые не нужно 
инкрементировать счётчики ссылок."

 

Хочу уточнить, чтобы не было недоразумений, что "полусуперкомпилятор" из Рефала 
в С состоял из двух отдельных частей: собственно (полу)суперкомпилятор, 
написанный Н.Кондратьевым, вырабатывающий граф конфигураций, и отображение 
графа в С, mapping, как назвал его Турчин еще в 70х гг., которое было 
"поручено" сделать мне. Повышение местности производил первый компонент, а 
"призраки", actual/ghost variables (это термин Турчина) возникали уже при 
отображении, на уровне графа они еще не имеют смысла. На самом деле, и в 
mapping-е это работа была недоделана: этот аспект еще как-то проработан в 
пределах одной C-функции (образа одной конфигурации), при том, что все входные 
параметры-выражения конфигураций считались actual. Хотелось иметь глобальную 
оптимизацию этой разметки, было понятно как, и я даже статью про это написал, 
когда был у Турчина (в 1990м), и под его "пинками", но ее тогда не приняли, там 
куда я ее послал, и на этом все закончилось.

Ох, сейчас хотелось бы все это реанимировать, но нужно время, силы... К 
большому сожалению сопроводительные отчеты по маппингу утрачены (они делались в 
CHI-writer, бумажные копии передавались через посредника в ИПС, который за эту 
работу платил, мои же копии потерялись). Сохранились только коды на рефале, 
надеюсь работоспособные. Там был введен и использовался некий промежуточный 
символьный язык - РАМАЛ (как бы "Refal Assembler Mapping Language").

Аналог языка сборки, но бесстековый, для прямой трансляции в С.

 

Что касается кода самого рефала, то да, рефал-6 это модификация рефала-6b, 
кодов общих много, даже названия файлов старые. Небольшие модификации поначалу 
были мотивированы тем, чтобы сделать более удобным включение новых отображенных 
функций. А потом, видимо, я вошел во вкус, и меня "понесло".

Кстати и рефал6 хотелось бы выложить в github с исходниками, но опять недосуг, 
а как сделать быстро и правильно, я пока не разбираюсь.

Надо, конечно, найти время, и еще хотя бы на такое же "описание реализации".

Коля, а что это за файл такой большой там на 150 МБ, по ссылке под " 
<http://nkon04.ddns.net/refal6b/Refal6b.zip> Studio Community 2019 solution", 
файл refal6.zip. У меня после загрузки он выглядит пустым. Судя по названию и 
размеру, это, вероятно, сборка проекта (-ов) под MS Visual Studio со всеми 
исходниками и (промежуточными) результатами.

 

Аркадий

 

сб, 27 мар. 2021 г. в 01:38, nikolai.kondratiev_AT_gmail.com 
<http://nikolai.kondratiev_AT_gmail.com>  <refal@botik.ru 
<mailto:refal@botik.ru> >:

Спасибо за замечания!

 

OPEN исправлю.

Имена в system.ref не остаются в таблице имен, насколько я помню, поэтому 
чистить не обязательно, правда память не освобождается.

В dinload.ref может быть было опасно оставлять определения функций кроме LOAD и 
DELETE.

 

Должен заметить, что эти тексты программ были написаны в 1988 году и я не все 
помню.

Я не писал диссертации, связанной с Рефалом и не работал в ИПМ.

 

>Стало быть, когда-то была реализация Рефала-6, гораздо более близкая к 
>Рефалу-5, чем нынешняя реализация Аркадия Климова

> (которая приобрела ряд черт Рефала Плюс и некоторых своих, уникальных черт).

>Ваши исходники позволяют получить представление о том, как эта реализация 
>могла выглядеть.

Это, собственно, она и есть. Изменения с тех пор незначительны.

 

Я не использовал исходных текстов предыдущих реализаций, но использовал язык 
сборки Романенко-Турчина и теоремы об удлинениях Сергея Романенко (не все). 
Тогдашняя реализация Рефала-5 не использовала теоремы об удлинениях. На 
каких-то примерах Рефал-6 сильно выигрывал.

 

Von: Александр Коновалов <a.v.konovalo...@mail.ru 
<mailto:a.v.konovalo...@mail.ru> > 
Gesendet: Freitag, 26. März 2021 22:41
An: nikolai.kondrat...@gmail.com <mailto:nikolai.kondrat...@gmail.com> 
Betreff: Re: Refal6-basic

 

Добрый вечер, Николай Викторович!

 

«Все замечания приветствуются»

 

В функции OPEN не поддерживается режим 'a'. В функции rb_open() допускаются 
только «r» и «w» в обоих регистрах.

 

В файле dinload.ref не чистится функция Resort в Null. В system.ref вообще 
ничего не чистится.

 

 

Андрей Валентинович рассказывал, что в ИПМ кто-то писал диссертацию про 
проверку типов Рефала с использованием регулярных выражений, а потом уехал в 
Германию. Это не Вы были?

 

 

С уважением,
Александр Коновалов

 

 

From:  <mailto:refal@botik.ru> nikolai.kondratiev_AT_gmail.com 

Sent: Friday, March 26, 2021 3:22 PM

To:  <mailto:refal@botik.ru> refal@botik.ru 

Cc:  <mailto:kli...@keldysh.ru> 'Andrei Klimov' 

Subject: Refal6-basic

 

Уважаемые коллеги!

 

После того, как Рефал-6 был передан Аркадию Климову для дальнейшей с ним 
работы, язык довольно сильно изменился, что не всегда мне нравилось. В своей 
работе я использовал имеющуюся у меня реализацию, в которой тоже понемногу 
происходили изменения, наиболее важным из которых была длинная арифметика. Я 
считал, что в реализации Рефала неограниченное целое число должно быть одним 
символом с точки зрения языка.

 

Поскольку на мой взгляд реализация достаточно устойчива, я решил сделать ее 
доступной для Рефал-сообщества.

 

Вся документация на русском языке.

 

Тексты программ должны быть в ASCII.

 

Рефал-6b находится на моем домашнем компьютере, который доступен по ссылке:

                 <http://nkon04.ddns.net/refal6b/> 
http://nkon04.ddns.net/refal6b/

 

Реализация состоит из файлов:

refal (refal.exe для Windows)

refal.sys

refal.comp

refal.dynldr

refal.tracer

 

Все они должны находиться в одном каталоге файловой системы.

Это либо каталог Windows,

Либо /usr/local/bin/ под Linux

 

Все замечания приветствуются.

 

Успехов.

 

Николай Кондратьев




 

-- 

_______________

С уважением, 

Аркадий Климов,
с.н.с. ИППМ РАН,
+7(499)135-32-95
+7(916)072-81-48

        • ... nikolai . kondratiev_AT_gmail . com
        • ... Александр Гусев gusev_aleksandr_AT_mail . ru
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... nikolai . kondratiev_AT_gmail . com
        • ... nikolai . kondratiev_AT_gmail . com
        • ... Arkady Klimov arkady . klimov_AT_gmail . com
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Александр Гусев gusev_aleksandr_AT_mail . ru
  • AW:... nikolai . kondratiev_AT_gmail . com
    • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
      • ... nikolai . kondratiev_AT_gmail . com
  • Re:... Александр Коновалов a . v . konovalov87_AT_mail . ru
  • Re:... Andrei Klimov andrei . klimov_AT_gmail . com

Ответить