185 похожих чатов

Здесь упомянули про популярные заблуждения, я вот признаюсь тоже хоть

и знал про жадность лексера, но реально думал, что, ну это просто такая штука, которая откусывает цепочки символов и превращает их в токены, чтобы парсеру проще было. Связывал с тем фактом, что в 70е или когда эта теория и, главное, реальные компиляторы на ее основе активно разрабатывались памяти было мало и оперировать токенами (тройками "начало", "конец" или "длина" и "тип") требует гораздо меньшего объема памяти чем каждым символом. О таком потрясающем влиянии жадности на теоретические аспекты CFG/не-CFG как-то не задумывался. Интересно, это наблюдение про "чудо" превращения не-CFG грамматики в CFG под влиянием лексера сделано самостоятельно или что-то можно почитать?

1 ответов

7 просмотров

IMNSHO — это совершенно очевидный вывод (и следствия из него широко используются на практике, как раз когда "обычные" parser generators (или parsers), использующие "слабые" методы разбора (вроде LR(1) или даже LL(1)), применяются для parsing ЯП, которые, будучи определёнными "на уровне символов", нередко являются контекстно-зависимыми (а то относятся к unrestricted grammars, как, кажется, perl). См. сообщение выше. ;)

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Any electron dev here?
Sayanth Tezro
12
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта