Обновлено: 20/1/2022 |
![]() |
Рефал/2 |
Ура! Сегодня, 30.05.2005, наконец появилась
адаптированная к современным платформам
Windows-(95/98/ME/NT/2000/XP) и UNIX (FreeBSD, Linux) реализация языка
Рефал-2. Работа выполнена по открытой лицензии и свободно доступна для любых
применений, включая коммерческое использование.
Подробности на рефал-сайте http://www.refal.net/~belous/refal2-r.htm (зеркало http://www.refal.org/~belous/refal2-r.htm ) . |
|
|
|
Выполнение программы на рефале (интерпретатор)
Рефал - это просто! См. Пример программы на рефале
В настоящее время имеется три версии программы интерпретатора рефала:
Программа интерпретатора рефала/2 Автор: Стеллецкий В. (рабочая область 32760 звеньев 14.11.2002) [несколько урезанная версия языка рефал/2 см. также http://www.refal.net] Параметры (версий MS DOS и консольного приложения): 1-й - имя файла программы "скомпилированной в форму интерпретации"; 2-й - (необяз.) имя входного файла для программы; 3-й - (необяз.) имя файла "результата работы"; 4-й - (необяз.) номер шага начала прокрутки. Протокол работы и "печать" записываются в stdout (можно перенаправить в файл) Параметры версии неконсольного приложения: 1-й - имя файла программы "скомпилированной в форму интерпретации"; 2-й - (необяз.) имя входного файла для программы; 3-й - (необяз.) имя выходного файла для программы (вместо выходного потока); 4-й - (необяз.) имя входного файла 2 для программы (вместо входного потока); 5-й - (необяз.) имя файла "результата работы"; 6-й - (необяз.) номер шага начала прокрутки. Протокол работы и "печать" записываются в выходной файл (3-й параметр).см. также Встроенные рефал-функции (машинные процедуры)
Благодарности
Хочу выразить свою благодарность Топунову Владимиру Леонидовичу, который в конце 70-х годов прошлого XX-го века привлек меня к работе с этим замечательным языком программирования.
Хочу также выразить признательность Леониду Белоусу, предложившему включение моего сайта в число сайтов рефал-диаспоры и этим стимулировавшему существенное расширение его части посвященной Рефалу.
Не могу также не отметить Алексея Веденова и Сергея Романенко, знакомство с исходными текстами рефал-систем которых существенно облегчило выполнение этой реализации Рефал/2, избавив от страха непосильности задачи.
История написания этой версии Рефала
В апреле-мае 1998, когда появились задачи с текстовой обработкой данных (формирование html-страниц для публикации библиотечных указателей в интернет), не найдя дистрибутива рефала в Интернет (сейчас есть Сервер Группы пользователей и разработчиков языка РЕФАЛ, не говоря уж о сервере Cодружества "РЕФАЛ/Суперкомпиляция"), написал на Turbo-C простенький интерпретатор языка сборки (скачать 5382 байта 06.05.98). Написал на Макро-ассемблере (командами определения данных) простенький компилятор исходного текста программы на язык сборки (скачать 8048 байт 06.05.98). И скомпилировал первую версию компилятора на язык сборки на самом же рефале (скачать 2396 байт 06.05.98). Далее в несколько итераций этот комилятор улучшил. [см. Базисный рефал и его реализация на вычислительных машинах (методические рекомендации). М.: ЦНИИПИАСС, 1977. - 258 с. (Фонд алгоритмов и программ для ЭВМ в отрасли "Строительство". Вып. V-40). ]
Компилятор в форму удобную для интерпретации
Компилятор в форму удобную для интерпретации, а точнее на язык сборки
[см. Базисный рефал и его реализация на вычислительных машинах (методические рекомендации).
М.: ЦНИИПИАСС, 1977. - 258 с. (Фонд алгоритмов и программ для ЭВМ в отрасли "Строительство".
Вып. V-40).
]
написан на самом рефале.
Скачать: программу (3998 байт), исходный текст (3976 байта)
Пример выполнения компиляции.
Если Вы сохранили Пример программы на рефале, например, под именем a.ref ,
то командные строки на компиляцию этой программы при помощи трех различных версий рефал-интерпретатора
будут выглядеть так:
Новости
Лицензия
Понравилась мне Лицензия Леонида Белоуса, да еще и принципа Open Source в отношении рефала я стал придерживаться по его инициативе... поэтому получилось очень похоже.
Копирайт c 2003 Василий Стеллецкий
Все права сохранены.
Разрешаются дальнейшие распространение и использование, как в исходном, так и в двоичном видах, с модификацией или без неё, при соблюдении следующих условий: