Size: a a a

Compiler Development

2021 February 19

M

MrSmith in Compiler Development
Это все еше грамматика, только добавляется оператор помимо, вроде магмы
источник

M

MrSmith in Compiler Development
Или полукольца хз где там +/* + set
источник

YS

Yaroslav Schekin in Compiler Development
Hirrolot
ну вот, а почему не _доказывают_ однозначность? игра не стоит свеч?
Я не знаю, например. Может, ещё кто-то знает?
Мне кажется, что примерно по той же причине, почему для каждой написанной программы не доказывают, что она останавливается при всех возможных входах. ;)
источник

YS

Yaroslav Schekin in Compiler Development
MrSmith
Для какого небольшого
Для LALR точно. И, кажется, всё (но могу врать, проверьте точнее, если интересует).
источник

K

Kir in Compiler Development
MrSmith
Вывод примерно следуюший - берешь парс ген? Будь готов стать разработчиком парсгена
Потому и взял!
источник

M

MrSmith in Compiler Development
Я понял что пытается сказать Ярослав
источник

YS

Yaroslav Schekin in Compiler Development
MrSmith
Что значит нечто внешне похожее
Это значит то, что вместо декларативного определения получается что-то с [примерно] таким же синтаксисом, но "работающее" по другим принципам.
источник

K

Kir in Compiler Development
Yaroslav Schekin
Для LALR точно. И, кажется, всё (но могу врать, проверьте точнее, если интересует).
LR тоже однозначен
источник

M

MrSmith in Compiler Development
Изобрести гоаматику которую пока не спарсишь не скажешь есть ли неразрешимая неоднозначность можно
источник

M

MrSmith in Compiler Development
Но не нужно
источник

YS

Yaroslav Schekin in Compiler Development
Kir
LR тоже однозначен
Ну да, "An ambiguous grammar can never be LR." Dragon book.
Я просто не помню, доказывается ли это по самой грамматике или нет.
источник

YS

Yaroslav Schekin in Compiler Development
MrSmith
Но не нужно
Но удастся. ;) По крайней мере, в прошлом уже неоднократно удавалось (и получался вариант, когда об этом сообщали "благодарные" пользователи после какого-то времени использования языка).
источник

K

Kir in Compiler Development
Yaroslav Schekin
Ну да, "An ambiguous grammar can never be LR." Dragon book.
Я просто не помню, доказывается ли это по самой грамматике или нет.
Помоему, это тривиально следует из того, что у таблицы разбора не более 1 элемента на ячейку
источник

YS

Yaroslav Schekin in Compiler Development
Kir
Помоему, это тривиально следует из того, что у таблицы разбора не более 1 элемента на ячейку
А, ну да. :)
источник

M

MrSmith in Compiler Development
Так вот тут сразу понятна проблема
источник

M

MrSmith in Compiler Development
Что такое LR(1)?
источник

M

MrSmith in Compiler Development
Это алгоритм разбора нагладываюший некоторые ограничения на разбираемую граммматику
источник

M

MrSmith in Compiler Development
Так что то что написанно в драгон буке приблизительно ничего не значит
источник

M

MrSmith in Compiler Development
Это как сказать что корова не отопительная система
источник

M

MrSmith in Compiler Development
В теких терминах проблема никогда и не будет решена
источник