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

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

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

1 ответов

27 просмотров

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта