2012-05-17 12 views
8

Aby lepiej zrozumieć parsery i gramatyki, szukam (mam nadzieję, że prosty) przykład języka czyli LL (2), ale nie LL (1). Oznacza to, że język może być generowany przez gramatykę LL (2), ale nie przez dowolną gramatykę LL (1).LL (2) język, który nie jest LL (1)

Czy w tej klasie są dostępne przydatne języki? Czy możemy sobie wyobrazić język komputerowy, który jest LL (2), ale nie LL (1)?

+1

http://dl.acm.org/citation.cfm?id=805431 (patrz streszczenie) –

+0

Dzięki, ale nie o to prosiłem. Wiem, że takie języki istnieją. Chcę tylko zobaczyć jeden z nich jako przykład. – Norswap

Odpowiedz

12

Przykład wspomniano w książce połączonego w odpowiedzi Gunthera:

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

jest gramatyka opisująca język LL (k + 1), który nie jest LL (k). W szczególności,

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

to gramatyka opisująca język LL (2), który nie jest LL (1).

Powiązane problemy