You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
У нас есть препроцессор, который может конвертировать подмножество Простого Рефала в исходный код на Модульном Рефале. При этом он написан на Модульном Рефале. Его можно аккуратно встроить в компилятор, получив при этом второй front-end. Следует заметить, что поддержка множественных front-end’ов в компиляторе уже имеется.
Частности:
Самый простой вариант встраивания: для каждого входного файла на Простом Рефале вызывать препроцессор, который будет порождать временный файл. Последний скармливать парсеру Модульного Рефала. Препроцессор гарантирует, что номера строк сохранятся и будут правильно указывать на синтаксические ошибки. Разумеется, есть много более сложных, но более качественных вариантов.
Текущая версия препроцессора сильно отстала, она не поддерживает идентификаторы и вложенные функции. Версию нужно актуализировать.
Front-end будет принимать только подмножество Простого Рефала, возможно, расширенное подмножество.
Уже есть back-end Простого Рефала. Поскольку front-end принимает подмножество, он не обязан обрабатывать выхлоп back-end’а.
The text was updated successfully, but these errors were encountered:
С момента написания этой задачи синтаксис Простого Рефала существенно расширился: появились присваивания, условия, блоки, $INCLUDE. Поэтому препроцессор безнадёжно устарел.
Устарел и сам Простой Рефал: в Рефале-5λ можно делать всё, что можно в Простом Рефале.
Поэтому имеет смысл разве что добавление front-end’а Рефала-5, да и то, непонятно зачем.
Mazdaywik
changed the title
Front-end Простого Рефала
Front-end Рефала-5
Feb 17, 2019
У нас есть препроцессор, который может конвертировать подмножество Простого Рефала в исходный код на Модульном Рефале. При этом он написан на Модульном Рефале. Его можно аккуратно встроить в компилятор, получив при этом второй front-end. Следует заметить, что поддержка множественных front-end’ов в компиляторе уже имеется.
Частности:
The text was updated successfully, but these errors were encountered: