2012-05-17 4 views
8

Для того, чтобы лучше понять синтаксические анализаторы и грамматики, я ищу (например, простой пример) язык, то есть LL (2), но не LL (1). То есть язык, который может быть сгенерирован грамматикой LL (2), но не какой-либо грамматикой LL (1).LL (2) язык, который не является LL (1)

Есть ли полезные языки в этом классе? Я мог бы представить себе компьютерный язык, который является LL (2), но не LL (1)?

+1

http://dl.acm.org/citation.cfm?id=805431 (см. Реферат) –

+0

Спасибо, но это не то, что я спросил. Я знаю, что такие языки существуют. Я просто хочу увидеть один из них в качестве примера. – Norswap

ответ

12

Пример упоминается в книге, связанной в ответ Гюнтера:

S -> a S A | epsilon 
A -> a^k b S | c 

является грамматика, описывающая язык LL (k + 1), который не является LL (k). В частности,

S -> a S A | epsilon 
A -> a b S | c 

- это грамматика, описывающая язык LL (2), который не является LL (1).

Смежные вопросы