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

Кстати, раз уж я открыл эту замечательную книгу — вспомнил,

что хотел спросить (если кто разбирался):

Почему авторы Scannerless Generalized-LR parsing и SDF3 (Eelco Visser et al) считают, что это удачный формализм?

Ведь с т.з. computer linguistics он относится к non-Chomsky grammars / systems (см. классификацию в той же "Parsing Techniques: A Practical Guide") — а их немало (и потенциально можно их придумывать бесконечно); и для практики, казалось бы, они ценны тогда, когда обладают какими-то хорошими свойствами.

Что касается SGLR, если я правильно понял (я признаю, что скорее всего не прочитал всех статей про него):
. Результатом parsing является parsing forest, а это (опять-таки, с т.з. computer linguistics) указывает на "слабость" формализма.
. Вообще, parsing power у него ненамного выше CFG.
. Он не может автоматически выявлять неоднозначные грамматики.
. Время/сложность разбора у него как асимптотически (и особенно практически, если я правильно понял) [очень] плохие.
. У меня сложилось впечатление, что в фундаменте формализма всё ещё есть какие-то нерешённые проблемы (я забыл — то ли с reject productions, то ли c follow restrictions), из-за которых результат parsing вообще (в некоторых случаях) не детерминирован.

Что касается "хороших" свойств, то это:
. Единый синтаксис, похожий на традиционную EBNF.
. Возможность создавать composite languages ("расширенные" языки на основании существующих, за счёт scannerless).

И мне лично это не кажется удачным сочетанием свойств.
Может, я что-то неправильно понял, или упустил, или какие-то из вышеперечисленных недостатков были устранены в новых исследованиях?

4 ответов

11 просмотров

Для чего нужны подобные формализмы? Для верифицированного парсинга?

Yaroslav-Schekin Автор вопроса

Кстати, как написано в уже упомянутой книге: "the existence of non-Chomsky grammars points to user dissatisfaction with the traditional Chomsky hierarchy... ease of use is the issue". Ну и да, несмотря на мощь CDG, их практически невозможно использовать на практике — крайне "нечеловеческий" (очень неудобный) формализм. Ну и все вышеупомянутые недостатки у них есть (и деревьев разбора в них тоже нет, кстати), а вот достоинств никаких нет.

Yaroslav-Schekin Автор вопроса
suhr
А что именно нечеловеческого?

Я же писал именно о context-sensitive grammars, а не о каких-то эквивалентных (либо близких, либо превосходящих) им по мощности. > Коньюктивные и булевы грамматки не контекстно-свободны... индексные грамматики не контекстно-свободные, etc. И все они — non-Chomsky grammars, не так ли? > Ничего из этого не является чем-то чудовищным. Да, и всё это появилось и используется потому, что эквивалентные им классические type 1 (или 0) grammars Хомского как раз являются чем-то чудовищным. > что может быть нечеловеческим, так это их описание в виде порождающих правил, ну так просто не нужно использовать порождающие грамматики Я как раз и приводил цитаты, которые указывают на ту же проблему (и проблемы (и не порождающих грамматик, кстати — разве в самом принципе есть что-то плохое?) на этом далеко не заканчиваются — опять-таки, см. тот же источник, например). > Есть языковые уравнения, есть CLFP и ILFP, есть DCG, наконец. И это всё тоже non-Chomsky grammars. Т.е. все эти примеры как раз в пользу процитированной мной точки зрения. ;)

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Карта сайта