Ostatnio studiuję na temat projektowania kompilatorów. Dowiedziałem się o dwóch rodzajach gramatyki: jedna to gramatyka LL, a druga to gramatyka LR.
Znamy również fakty, że każda gramatyka LL jest LR, czyli gramatyka LL jest właściwym podzbiorem gramatyki LR. Pierwszy jest używany podczas analizy z góry na dół, a drugi jest używany podczas analizy z dołu do góry.
Ale czy jest jakiś sposób, abyśmy mogli powiedzieć, że dana gramatyka to LL lub LR?
Odpowiedzi:
źródło
Musimy tylko sprawdzić, czy gramatyka jest LL, czy nie, ponieważ każda gramatyka LL to LR, czyli LL, to właściwy podzbiór LR. Jeśli więc gramatyka to LL, to musi to być LR, ale każdy LR nie jest LL.
Gramatyka G jest w LL iff za każdym razem, gdy A-> C | D, należy spełnić następujący warunek:
źródło