Добрый день, Леонид! Написал свой вариант на Рефале-5. Писал так, как привык писать компиляторы: подробно, без побочных эффектов и с восстановлением после ошибок. Получилось ожидаемо длинно. И медленно, поскольку в приоритет ставил читабельность (как я её понимаю), а не производительность.
Вещественные числа делать поленился, их много возни разбирать без спецификаторов. Если хотите — допишу. Обошёлся без спаривания скобок, поскольку не знаю, зачем оно здесь нужно. Субъективный разбор основных диалектов напишу позже. С уважением, Александр Коновалов From: Eisymont Leonid verger-lk_AT_yandex.ru <refal@botik.ru> Sent: Thursday, February 14, 2019 12:47 PM To: refal@botik.ru Subject: Re: Сравнение веток Рефала Переменные есть, числа можно взять целые и вещественные. Можно упростить, на вход поступают только правильные арифметические выражения. Программа должна быть короткой, на страницу. У меня такая программа на рефале-2 была, постараюсь переслать. 14.02.2019, 12:40, "Александр Коновалов a.v.konovalov87_AT_mail.ru" <refal@botik.ru <mailto:refal@botik.ru> >: Добрый день, Леонид! Спасибо за хорошую идею. Постараюсь в выходные написать простейший подобный компилятор. Стоит уточнить задачу: есть ли переменные, какие знаки операций поддерживаются, на сколько подробными должны быть сообщения об ошибках, должен ли компилятор восстанавливаться… С уважением, Александр Коновалов From: Eisymont Leonid verger-lk_AT_yandex.ru <refal@botik.ru <mailto:refal@botik.ru> > Sent: Thursday, February 14, 2019 12:33 PM To: refal@botik.ru <mailto:refal@botik.ru> Subject: Re: Сравнение веток Рефала Будет действительно весело. А делать надо, дождались. Рекомендую взять какой - нибудь пример и на нем это сравнивать. Иначе будет пустой болтовней. А вот какой пример - пока не соображу, м.б. перевод арифметических выражений в линеаризованную польскую запись, например, в триады? Но этот перевод должен начинаться с лексического анализа со спариванием скобок. Обычно перевод в польскую запись хорошо воспринимался на лекциях по рефалу. Кстати, рефал-2 рассказывался обычно за десять-пятнадцать минут, даже чиновникам и генералам. Сколько потребуется времени на рассказ о "коллапсирующих джунглях" подумать страшно. Вот она жизнь и заскорузлая практика. Л.Эйсымонт 14.02.2019, 11:57, "Александр Коновалов a.v.konovalov87_AT_mail.ru" <refal@botik.ru <mailto:refal@botik.ru> >: Добрый день, Александр! К сожалению, обзора разных диалектов Рефала я нигде не встречал. Диалекты и реализации Рефала не совсем корректно называть «ветками» или «версиями», они разрабатывались независимо, общей кодовой базы, на сколько я знаю, не имеют, имеют разный синтаксис, построены на разных принципах и идеологиях (особенно, Рефал Плюс). Сам я его могу написать, но, наверное, не сегодня. И, если напишу, то он будет неизбежно субъективным. Но обсудить будет весело. В выходные тогда напишу, если никто не напишет раньше меня. С уважением, Александр Коновалов From: Александр Гусев gusev_aleksandr_AT_mail.ru <refal@botik.ru <mailto:refal@botik.ru> > Sent: Thursday, February 14, 2019 9:59 AM To: refal@botik.ru <mailto:f...@botik.ru> Subject: Re[4]: Немного статистики Спасибо, Аркадий! А существует где-то краткая информация по сравнению веток рефала? Статья, может быть какая-то. А то есть рефал-2, рефапл-5, рефал-6 и рефал-плюс - это только те, что поименованы. У каждой версии свои сторонники и блюстители. Или всё-таки придётся в каждую вникать? Среда, 13 февраля 2019, 20:41 +03:00 от Arkady Klimov arkady.klimov_AT_gmail.com <refal@botik.ru <mailto:refal@botik.ru> >: Здравствуйте, Александр! Прошу прощения за некоторую задержку, пришлось немного повозиться, приводя в порядок версию дистрибуции. В принципе, есть все на сайте refal.net <http://refal.net/> , но сильно старое, с тех пор довольно много было правок. Вот та страничка: http://refal.net/~arklimov/refal6/index.html Документацию (описание языка) смотрите там, в ней ничего нового. А дистрибутив пока у меня в дропбоксе возьмите: https://www.dropbox.com/s/gh4hdcagl0swltm/ref6.zip?dl=0 Как и раньше, инструкция в help/readme.txt. Главное - распакуйте в папку ...ref6, пропишите ее в PATH и откорректируйте путь в ri.bat соответственно. Затем вызовите test/hello.bat. В ближайшее время надеюсь переправить его на сайт, а также обновлю архивы исходников там. Рефал-часть почти не изменилась с тех пор, а вот С-часть обновилась существенно. Спрашивайте, не стесняйтесь, если будут проблемы. С уважением, Аркадий Климов пт, 8 февр. 2019 г. в 23:43, Александр Гусев gusev_aleksandr_AT_mail.ru <refal@botik.ru <file://e.mail.ru/compose/%3fmailto=mailto%253are...@botik.ru> >: Аркадий, Спасибо за ответ! Да, я читал переписку, не до самых глубин, конечно. Пока прошу актуальную ссылку на Рефал-6 - почитать и хоть что-то попробовать, если возможно. Вроде Hello, world на трёх языках. То, что я имел ввиду о музыке, это тоже формульные вычисления, конечно. Возможно, но наверно уже на "символьном уровне", до которого еще надо входной сигнал поднять. С уважением, Александр Гусев gusev_aleksa...@mail.ru <http://e.mail.ru/compose/?mailto=mailto%3agusev_aleksa...@mail.ru> -- _______________ С уважением, Аркадий Климов, с.н.с. ИППМ РАН, +7(499)135-32-95 +7(916)072-81-48 С уважением, Александр Гусев gusev_aleksa...@mail.ru <file://e.mail.ru/compose/%3fmailto=mailto%253agusev_aleksa...@mail.ru> -- _______________ С уважением, Аркадий Климов, с.н.с. ИППМ РАН, +7(499)135-32-95 +7(916)072-81-48 С уважением, Александр Гусев gusev_aleksa...@mail.ru <mailto:gusev_aleksa...@mail.ru>
poliz.ref
Description: Binary data