Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Front-end Рефала-5 #6

Open
Mazdaywik opened this issue Mar 7, 2016 · 1 comment
Open

Front-end Рефала-5 #6

Mazdaywik opened this issue Mar 7, 2016 · 1 comment
Assignees
Labels

Comments

@Mazdaywik
Copy link
Owner

У нас есть препроцессор, который может конвертировать подмножество Простого Рефала в исходный код на Модульном Рефале. При этом он написан на Модульном Рефале. Его можно аккуратно встроить в компилятор, получив при этом второй front-end. Следует заметить, что поддержка множественных front-end’ов в компиляторе уже имеется.

Частности:

  1. Самый простой вариант встраивания: для каждого входного файла на Простом Рефале вызывать препроцессор, который будет порождать временный файл. Последний скармливать парсеру Модульного Рефала. Препроцессор гарантирует, что номера строк сохранятся и будут правильно указывать на синтаксические ошибки. Разумеется, есть много более сложных, но более качественных вариантов.
  2. Текущая версия препроцессора сильно отстала, она не поддерживает идентификаторы и вложенные функции. Версию нужно актуализировать.
  3. Front-end будет принимать только подмножество Простого Рефала, возможно, расширенное подмножество.
  4. Уже есть back-end Простого Рефала. Поскольку front-end принимает подмножество, он не обязан обрабатывать выхлоп back-end’а.
@Mazdaywik Mazdaywik self-assigned this Mar 7, 2016
@Mazdaywik
Copy link
Owner Author

С момента написания этой задачи синтаксис Простого Рефала существенно расширился: появились присваивания, условия, блоки, $INCLUDE. Поэтому препроцессор безнадёжно устарел.

Устарел и сам Простой Рефал: в Рефале-5λ можно делать всё, что можно в Простом Рефале.

Поэтому имеет смысл разве что добавление front-end’а Рефала-5, да и то, непонятно зачем.

@Mazdaywik Mazdaywik changed the title Front-end Простого Рефала Front-end Рефала-5 Feb 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant