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

Объединить парсеры Рефала-5λ и Простого Рефала #201

Open
Mazdaywik opened this issue Mar 3, 2019 · 0 comments
Assignees
Labels
Milestone

Comments

@Mazdaywik
Copy link
Member

Мотивация

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

Рефал-5λ и Простой Рефал отличаются лексикой и незначительно синтаксисом. Основное отличие — имена по умолчанию идентификаторы в первом и указатели на функцию во втором. В Рефале-5λ, указатели на функцию предваряются знаком &, в Простом Рефале идентификаторы предваряются знаком #. Если унифицировать имена лексем, то синтаксический анализ можно объединить.

Синтаксический анализатор Рефала-5λ уже содержит флаг, описывающий вид синтаксиса — классический или расширенный режим. Его можно использовать и для того, чтобы отличать Рефал-5λ от Простого Рефала.

Что делать

Нужно унифицировать имена лексем (пересекающиеся) для Рефала-5λ и Простого Рефала и расширить R5-Parser.ref для поддержки Простого Рефала. После чего SR-Parser.sref можно будет удалить.

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