Новый лексический анализатор, удаление LexGen
Closed this issue · 0 comments
Эта задача — подзадача для #1 и #2.
Во-первых, лексику придётся менять — однострочные комментарии будут как в Рефале-5, появятся псевдокомментарии (см. #2).
Во-вторых, используемый генератор лексических анализаторов был экспериментом — мне было интересно попробовать написать генератор из некоторого высокоуровневого описания.
Полученный генератор не намного проще ручного кодирования, поскольку всё равно требует составления конечного автомата, он порождает огромный и неэффективный сгенерированный код. Да и вообще, практика показывает (Модульный Рефал, Рефал-5λ), что вручную писать генераторы удобнее.
Поэтому предлагается вместо генератора использовать ручное кодирование. Поскольку язык будет совместим с Рефалом-5, имеет смысл использовать функцию Type
для оценки категорий символов.
После переписывания лексического анализатора исходники LexGen можно удалить. Генератор LexGen лежит и развивается в репозитории Рефала-5λ, здесь его более старый дубль не нужен. (Кстати, та же судьба ждёт и SRMake.)