Да наверно можно пользоваться любым из упомянутых, хотя лично я, конечно же, привержен рефалу-6, как его соавтор в какой-то мере. Документацию (подробное описание входного языка с примерами) можно посмотреть на сайте refal.net: http://refal.net/~arklimov/refal6/manual.htm Там есть и дистрибутив, но если начинать пользоваться, то лучше, наверно, брать у меня. К сожалению, все никак не дойдут руки на github выложить. Готовый вариант есть для Windows-32, если нужен для других ОС, надо будет компилировать и собирать с исходников на С. Любителям Java могу рекомендовать версию Refal-Java. Входной язык там практически такой же, добавлены межмодульные связи в стиле Java. Скорость выше в 2-3 раза. И "машинные операции" легко добавлять. Но есть проблемы: например, стек может переполниться. И по большому счету им еще никто не пользовался. А у варианта на С под виндами есть пока два полноценных пользователя: я и И.Щенков. Еще в прошлом году ошибки, обнаруженные Игорем, исправлял. По применению к моделированию СБИС не понятно, что тут может быть - не логику же потактовую на рефале крутить! Еще понимаю, если компилятор с языка специфического делать, да? Аркадий
пт, 1 февр. 2019 г. в 16:32, Eisymont Leonid verger-lk_AT_yandex.ru < refal@botik.ru>: > Аркадий, интересно было бы посмотреть, чем сейчас реально можно > пользоваться. > Есть ли опыт использования новых Рефалов в больших проектах типа тех, где > использовался ранее Рефал-2. Я совершенно серьезно говорил о том, что > вероятность применения Рефала в работах по созданию новых СБИС на этапах > моделирования и отработки архитектуры или микроархитектуры , а также ПО > достаточно высока. Я сейчас в Модуле и Кванте, возможны очень крупные > совместные работы, вижу, что необходимость в этом назревает. > В общем, здравствуйте опять 70-80-е годы. > Л.Эйсымонт > PS - Рефал-2 у нас сохранился с очень богатой библиотекой, в нем даже > доделали некоторые примитивы MPI через машинные операции, есть еще > экспериментальная реализация Александра Фролова с динамическим > распараллеливанием конкретизаций (это все НИЦЭВТ уже был начало 2000-х). На > этой реализации мы хорошо "руку набили". > > 01.02.2019, 16:14, "Arkady Klimov arkady.klimov_AT_gmail.com" < > refal@botik.ru>: > > Интересно услышать, что практикующие (практиковавшие в прошлом) > рефал-программисты считают сложным в новых версиях языка (5-6-плюс-7). > Вложенные блоки? Откаты? Условия? > Сам я считаю лишними только разные экзотический элементы вроде > отсечений-заборов, отрицаний, $iter, двойного двоеточия. > Откаты-блоки-условия считаю полезными. > Откатность явная или неявная? Можно спорить, это также зависит от > семантики "=". > Форматы функций? Сам не использую, оценить не могу. В рефале-6 их нет. Но > для более эффективного интерфейса с С наверно полезны. > Анонимные функции не считаю полезными, на мой взгляд они даже вредны - > толкают на плохой стиль (потакают экономить на придумывании имен и понятий, > тогда как хорошие имена и понятия облегчают читабельность и дальнейшее > сопровождение). Понимаю, что есть и другие мнения. > > Александр правильно подметил, что в новых рефалах нет спецификаторов, > которые были в рефале-2. Мне кажется, они тоже подталкивают на не очень > хороший стиль, когда вместо отдельно описанного лексера, распознавание > лексем разбросано по всему парсеру. В этом смысле интересен опыт и мнение > Игоря Щенкова - кажется единственного пользователя, которые реально > переходил с Рефала-2 на Рефал-6 с большим комплексом программ. > Раньше был существен вопрос об эффективности лексера - отсюда и > спецификаторы. Теперь он столь остро не стоит. (А в случае большой нужды > можно применить полусуперкомпиляцию и отображение в С). > > Насчет простоты - рефал-6 тоже не громоздок. > Интерпретирующая реализация - около 10 тыс. строк на С и компилятор - 1.5 > тыс строк на рефале. > В варианте Refal-Java: рантайм - 4.5 тыс. строк на Java, компилятор - 2.5 > тыс строк на рефале. > > С уважением, > Аркадий Климов. > > чт, 31 янв. 2019 г. в 23:55, Eisymont Leonid verger-lk_AT_yandex.ru < > refal@botik.ru>: > > У меня в письме главным другое было... > > 31.01.2019, 22:00, "Александр Коновалов a.v.konovalov87_AT_mail.ru" < > refal@botik.ru>: > > *«Балансировка скобок одновременно шла с лексическим анализом. Прохода два > было.»* > > Поэтому я употребил слово *«концептуально»*. Потому что можно проводить > синтаксический анализ, не выделяя явно скобки. В Рефале-05 я так и сделал > (ссылка в предыдущем письме). > > На Рефале вообще скобки можно сильно по-разному обрабатывать. Особенно, > в компиляторах Рефала. > > Можно лексический анализ делать одновременно с синтаксическим — иметь > функцию NextToken, которая возвращает очередной токен программы, и её > вызывать в тот момент, когда требуется следующий токен. Можно вообще > смешать лексический и синтаксический анализ — строить синтаксическое дерево > сразу из потока символов. > > *«Последующие версии Рефала мне явно не нравятся, сложные.»* > > Упомянутый мной Рефал-05 семантически проще Рефала-2: > https://github.com/Mazdaywik/Refal-05/ > > Но, впрочем, я этот диалект промышленным не считаю. Это был эксперимент > по написанию минималистичного компилятора Рефала. > > А Рефал-5λ действительно громоздок и сложен, тут согласен. > > *«Программы компиляторов были огромные и сложные по реализуемым алгоритмам > и целевой архитектуре, там было не до витиеватости средств Рефала.»* > > Можно витиеватыми средствами и не пользоваться. > > На Рефале-2 удобно писать лексические анализаторы благодаря тому, что язык > поддерживает спецификации переменных. Другие Рефалы возни требуют больше. > > > > С уважением, > Александр Коновалов > > > > *From:* Eisymont Leonid verger-lk_AT_yandex.ru [mailto:refal@botik.ru] > *Sent:* Thursday, January 31, 2019 9:06 PM > *To:* refal@botik.ru > *Subject:* Re: Синтаксический анализ в Рефале > > > > Балансировка скобок одновременно шла с лексическим анализом. Прохода два > было. > > А вот действительно не для каждого языка это можно было применить, > неприятным был язык Си, там другое применяли. > > А вставка скобок была удобна и далее в процессе кодогенерации. > > У меня такое впечатление, что сейчас это придется все вспоминать, как в > 70-е - 90-е года, в этот 20-летний период. Потом было использование лет > пять в НИР Беркут, это уже середина первой декады 2000-х. Сейчас причина - > необходимость быстрой разработки новых микропроцессорных СБИС и их ПО, > особенно в России. Это уже связано с обеспечением национальной > безопасности, доигрались. > > Явно потребуется быстродействующая реализация Рефала с глубоким > распараллеливанием выполнения программ. Я бы даже ориентировался просто на > Рефал-2 с небольшими инженерными расширениями и богатому набору машинных > операций. Собственно, к тому, куда развилась наша реализация с Колей > Мансуровым. > > Последующие версии Рефала мне явно не нравятся, сложные. Опираюсь на опыт > разработки компиляторов на Рефале около 30 лет. Программы компиляторов были > огромные и сложные по реализуемым алгоритмам и целевой архитектуре, там > было не до витиеватости средств Рефала. > > Л.Эйсымонт > > > > 31.01.2019, 20:25, "Александр Коновалов a.v.konovalov87_AT_mail.ru" < > refal@botik.ru>: > > Добрый вечер, Леонид! > > Вообще-то, я писал про суперкомпиляцию… Но и про компиляцию мне уже есть, > что сказать. > > <<< опущено >>> > > > > -- _______________ *С уважением, * *Аркадий Климов,* *с.н.с. ИППМ РАН,* *+7(499)135-32-95* *+7(916)072-81-48*