Спасибо, исправил. Теперь чуть меньше 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