Какие преимущества имеют парсеры LL перед парсерами LR?

Какие преимущества имеют LL-анализаторы перед LR-анализаторами, чтобы гарантировать их относительную популярность в современных инструментах генерации синтаксического анализатора ?

Согласно по Википедия , LR-синтаксический анализ, по-видимому, имеет преимущества перед LL:

LR-синтаксический анализ может обрабатывать больший диапазон языков, чем LL-синтаксический анализ, а также лучше сообщает об ошибках, т. е. обнаруживает синтаксические ошибки, когда ввод не соответствует грамматике как можно скорее. В этом отличие от LL (k) (или, что еще хуже, анализатор LL (*)), который может отложить обнаружение ошибок на другую ветвь грамматики из-за обратного отслеживания, часто затрудняя локализацию ошибок в дизъюнкциях с длинными общими префиксами.

Примечание: Это не домашнее задание. Я был просто удивлен, когда узнал, что Antlr является генератором парсера LL (несмотря на то, что в его названии есть "LR"!).

31
задан Adam Paynter 3 November 2010 в 22:36
поделиться