Alexander Konovalov

Results 68 issues of Alexander Konovalov

**ВНИМАНИЕ!** Исходная постановка задачи со временем потеряла актуальность на 60 %. Неактуальный кусок я завернул в складку. Наиболее точная постановка задачи сейчас — в комментарии https://github.com/bmstu-iu9/refal-5-lambda/issues/231#issuecomment-746839544. Неактуальный кусок свёрнут Цель...

task

Мотивация ======== Сейчас предусмотрено два вида трассировки процесса работы: неотключаемый вывод на `stdout` имён компилируемых файлов и включаемый/выключаемый лог трансформаций программы back-end’ом. В лог последнего выводится * дерево после рассахаривания,...

task

# Мотивация Открытые e-переменные вообще используются нечасто (преимущественно, для поиска в ассоциативном списке), а сопоставление справа-налево требуется тем более реже. В кодовой базе есть всего один пример такой потребности: https://github.com/bmstu-iu9/refal-5-lambda/blob/34e4d89e813365596bfa879fcafd6a16743b868c/src/compiler/GlobalGen.ref#L55-L60...

task

Нужно добавить во входной язык (в оба) условия-отрицания, т.е. условия, в которых сопоставление с образцом **не** должно выполняться. # Мотивация Иногда очень не хватает отрицательных условий. Иногда приходится явно перечислять...

task

Мотивация ======== Задача #91, и, в перспективе, не только она, подразумевает расширение синтаксиса. Но, поскольку используется два front-end’а, новые возможности приходится параллельно вносить в каждый из них. Рефал-5λ и Простой...

task

Мотивация ======== Компилятор выполняет лишние специализации по аккумуляторам. Достаточно много примеров описано в #319 (смотреть в свёрнутых комментариях). Там же (https://github.com/bmstu-iu9/refal-5-lambda/issues/319#issuecomment-727816888, комментарий свёрнут) предложено оборачивать выражения в вызов функции, который...

task

Ранее в рамках этой задачи предлагалось ещё и удалять экранированные предложения на стадии оптимизации. Эта деятельность была перенесена в отдельную задачу #346, которая не связана с текущей. Постановка текущей задачи...

task

Примечание. Ранее эта задача была частью формулировки задачи #341, но теперь она вынесена отдельно. Из формулировки #341 задача переноса логики на проход оптимизации удалена. Введение ====== В компиляторе уже присутствует...

task

Мотивация ======== Суперкомпилятор SCP4 крайне неудобно портировать на Рефал-5λ: его установка и выполнение ориентированы на использование классического Рефала-5. Установщик создаёт скрипты для запуска различных проходов суперкомпилятора (по отдельности либо вместе),...

task

# Мотивация Встроенные функции ввода-вывода Рефала-5 не могут сообщить об ошибке, собственно, ввода-вывода. Если файла не существует, то `Open` аварийно остановит программу. Та же проблема будет при попытке писать файл,...

task