Mazdaywik/Refal-05

Новый лексический анализатор, удаление LexGen

Closed this issue · 0 comments

Эта задача — подзадача для #1 и #2.

Во-первых, лексику придётся менять — однострочные комментарии будут как в Рефале-5, появятся псевдокомментарии (см. #2).

Во-вторых, используемый генератор лексических анализаторов был экспериментом — мне было интересно попробовать написать генератор из некоторого высокоуровневого описания.

Полученный генератор не намного проще ручного кодирования, поскольку всё равно требует составления конечного автомата, он порождает огромный и неэффективный сгенерированный код. Да и вообще, практика показывает (Модульный Рефал, Рефал-5λ), что вручную писать генераторы удобнее.

Поэтому предлагается вместо генератора использовать ручное кодирование. Поскольку язык будет совместим с Рефалом-5, имеет смысл использовать функцию Type для оценки категорий символов.

После переписывания лексического анализатора исходники LexGen можно удалить. Генератор LexGen лежит и развивается в репозитории Рефала-5λ, здесь его более старый дубль не нужен. (Кстати, та же судьба ждёт и SRMake.)