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
Задача #91, и, в перспективе, не только она, подразумевает расширение синтаксиса. Но, поскольку используется два front-end’а, новые возможности приходится параллельно вносить в каждый из них.
Рефал-5λ и Простой Рефал отличаются лексикой и незначительно синтаксисом. Основное отличие — имена по умолчанию идентификаторы в первом и указатели на функцию во втором. В Рефале-5λ, указатели на функцию предваряются знаком &, в Простом Рефале идентификаторы предваряются знаком #. Если унифицировать имена лексем, то синтаксический анализ можно объединить.
Синтаксический анализатор Рефала-5λ уже содержит флаг, описывающий вид синтаксиса — классический или расширенный режим. Его можно использовать и для того, чтобы отличать Рефал-5λ от Простого Рефала.
Что делать
Нужно унифицировать имена лексем (пересекающиеся) для Рефала-5λ и Простого Рефала и расширить R5-Parser.ref для поддержки Простого Рефала. После чего SR-Parser.sref можно будет удалить.
The text was updated successfully, but these errors were encountered:
Мотивация
Задача #91, и, в перспективе, не только она, подразумевает расширение синтаксиса. Но, поскольку используется два front-end’а, новые возможности приходится параллельно вносить в каждый из них.
Рефал-5λ и Простой Рефал отличаются лексикой и незначительно синтаксисом. Основное отличие — имена по умолчанию идентификаторы в первом и указатели на функцию во втором. В Рефале-5λ, указатели на функцию предваряются знаком
&
, в Простом Рефале идентификаторы предваряются знаком#
. Если унифицировать имена лексем, то синтаксический анализ можно объединить.Синтаксический анализатор Рефала-5λ уже содержит флаг, описывающий вид синтаксиса — классический или расширенный режим. Его можно использовать и для того, чтобы отличать Рефал-5λ от Простого Рефала.
Что делать
Нужно унифицировать имена лексем (пересекающиеся) для Рефала-5λ и Простого Рефала и расширить
R5-Parser.ref
для поддержки Простого Рефала. После чегоSR-Parser.sref
можно будет удалить.The text was updated successfully, but these errors were encountered: