Size: a a a

2021 February 26

K

Kir in fprog_spb
А, ну да, множество деревьев разбора
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Для Gemini не нужно дерево! У Gemtext каждая строка имеет ровно один тип содержимого
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Inline разметки нет
источник

K

Kir in fprog_spb
Yuuri
Но если они столько лет жили с парсеком, как-то ведь научились обходить эту левую рекурсию, и чего тогда вдруг всё переделывать?
Потому что GLR-генераторы умеют репортить о проблемах в грамматике, а не молча делать что сказано
источник

K

Kir in fprog_spb
И отлаживать парсер на комбинаторах - то ещё развлечение. Не, разумеется, сидеть и анализировать shift-reduce конфликты тоже не сахар, конечно, но LR-генераторы сообщают о проблемах уже в процессе сборки.
источник

K

Kir in fprog_spb
Yuuri
Но если они столько лет жили с парсеком, как-то ведь научились обходить эту левую рекурсию, и чего тогда вдруг всё переделывать?
Я как-то "обходил левую рекурсию", чиня парсер кортежей, где у каждого элемента были аннотации. Из-за того, как оно было написано, кортежи определённой формы парсились за экспоненту. Я неделю это чинил, и в итоге получил нечто, что работало, но выглядело ужасно.
источник

K

Kir in fprog_spb
Yuuri
Но если они столько лет жили с парсеком, как-то ведь научились обходить эту левую рекурсию, и чего тогда вдруг всё переделывать?
А (G)LR-парсер всего работает с линейной скоростью от размера входного текста
источник

Y

Yuuri in fprog_spb
Спасибо за ликбез
источник

f

fldlg2 in fprog_spb
Kir
А (G)LR-парсер всего работает с линейной скоростью от размера входного текста
LR — да, но GLR — линеен только на однозначных грамматиках, а так — от O(N^3) до экспоненты, вроде.
источник

AT

Alexander Tchitchigi... in fprog_spb
fldlg2
LR — да, но GLR — линеен только на однозначных грамматиках, а так — от O(N^3) до экспоненты, вроде.
С Packed Parse Forest, помнится, O(N^3) в худшем случае. 🧐
источник

f

fldlg2 in fprog_spb
Alexander Tchitchigin
С Packed Parse Forest, помнится, O(N^3) в худшем случае. 🧐
Я о конкретных реализациях типа Bison
источник

AT

Alexander Tchitchigi... in fprog_spb
С другой стороны, с какой сложностью потом будет обходиться полученный Parse Forest — отдельный вопрос.
источник

K

Kir in fprog_spb
Yuuri
Спасибо за ликбез
Не за что!

Есть статья про историю парсеров: https://jeffreykegler.github.io/personal/timeline_v3
источник

Y

Yuuri in fprog_spb
Мне бы лучше статей с примерами, как чего делать...
источник

SG

Semyon Grigorev in fprog_spb
fldlg2
LR — да, но GLR — линеен только на однозначных грамматиках, а так — от O(N^3) до экспоненты, вроде.
Если "правильный", типа BRNGLR, то не больше куба.
источник

SG

Semyon Grigorev in fprog_spb
А оригинальный Томитовский мог и рвануть, да.
источник

K

Kir in fprog_spb
Yuuri
Мне бы лучше статей с примерами, как чего делать...
Да я б тоже от статей "как делать" не отказался.
источник
2021 March 05

AV

Alexander Vershilov in fprog_spb
@niquola с ДР1
источник

RN

Ryzhikov Nikolay in fprog_spb
Спасибо
источник
2021 March 06

MK

Maxim Koltsov in fprog_spb
А когда ДР2?
источник