01-06-2005
Предлагается
адаптированная к современным платформам (Windows/95/98/ME/NT/2000/XP, FreeBSD, Linux) реализация языка
Рефал-2. Работа выполнена по открытой лицензии в
контексте развития интегрированной оболочки Refal-SciTE [1] и свободно доступна
для любых применений, включая коммерческое
использование.
Несколько слов об
истории реализации Рефала-2.
Как известно,
минимальная версия языка Рефал получила
название Базисный Рефал [3]. Диалект Базисного
Рефала под названием Рефал-2 [4,5] был реализован на
многих типах отечественных ЭВМ и долгое время
играл роль стандарта де-факто языка Рефал.
В 80-е годы Сергеем
Романенко Рефал-2 был реализован на языке PL-1 для машин
отечественной серии ЕС ЭВМ. Но наступала эра
персональных машин, а машины ЕС ЭВМ сходили со
сцены. Два аспиранта Владимира Хорошевского
(Вячеслав Шерстнев и Алексей Алешин)
перекодировали эту PL-1 реализацию на C для экспериментов по
расширению реализации Рефала-2 средствами работы
с базами данных для экcпертных
систем. Так бы эта работа и “ушла в корзину”,
если бы не Александр Красовский, который привел
ее в состояние, "изоморфное" реализации PL-1 Сергея Романенко, а
документацию - в соответствие с новой
реализацией на C (в частности, интерфейс
был переписан с PL-1 на С). Он изготовил в 1990 г.
дистрибутив Рефала-2, который был рассчитан на
совместное использование с популярными в то
время системами программирования Turbo-C, Quick-C, MSC, VAX-11, PDP-11. Однако широкого
распространения эта версия не получила, скорее
всего, из-за недостатка рекламы.
Другим реализациям
Рефала “повезло” больше, в том смысле, что они в
той или иной степени продолжают свою жизнь и
сопровождаются разработчиками. Это следующие
три известных диалекта языка Рефал:
Рефал-5 (http://botik.ru/pub/local/scp/refal5/refal5.html),
Рефал-6 (http://www.refal.net/~arklimov/refal6/)
и
Рефал-Плюс (http://revenge.botik.ru/cgi-bin/twiki/view/Refaldevel/WebHome).
К счастью,
благодаря Андрею Климову, дистрибутив
Александра Красовского реализации Рефала-2 не
пропал, и был передан мне в прошлом году на
предмет исследования возможности его переделки под современные платформы.
Работа оказалась нетривиальной (система была
привязана к структуре объектных модулей
конкретных операционных систем), но в настоящее
время эта реализация языка Рефала-2 адаптирована
автором для платформ Windows (Windows-95/98/ME/NT/2000/XP) и UNIX (FreeBSD, Linux). Система свободно
доступна для любых применений как
в автономном виде, так и в составе оболочки Refal-SciTE.
ЛИТЕРАТУРА:
1. Л.Ф. Белоус Refal-SciTE: интегрированная
оболочка для разработки программ в Интранет-среде
// Материалы Всероссийской научной конференции
"Научный сервис в сети ИНТЕРНЕТ",
Новороссийск, 22-27 сентября 2003 г., Изд-во
Московского Университета, с.97-99
2.
В.Ф. Турчин Метаязык
для формального описания алгоритмических языков
// В сб.: Цифровая
вычислительная техника и программирование, М.:Сов. Радио, 1966, с.116-124
3.
В.Ф. Турчин Базисный
РЕФАЛ. Описание языка и основные приемы
программирования (методические рекомендации) //
Фонд алгоритмов и программ в отрасли
"Строительство", vol. 5, N 33.
ЦНИПИАСС. Москва, 1974.
4.
Ан.В. Климов,
С.А. Романенко Система программирования
Рефал-2 для ЕС ЭВМ. Описание входного языка //
М.:ИПМ им.М.В.Келдыша
АН СССР, 1987. - 52
с.
5. Ан.В. Климов,
С.А. Романенко Система программирования
Рефал-2 для ЕС ЭВМ. Описание библиотеки функций //
М.:ИПМ им.М.В.Келдыша
АН СССР, 1986,
препринт N 200. -
38 с.
|