Non e' ricorsiva sinistra altrimenti, non era LL(1). Come vedi, nella prima produzione c'e':
P->( P ) P
che non e' ricorsiva sinistra, poiche' prima di P c'e' '('. Una grammatica e' ricorsiva sinistra, se la produzione di un non terminale, inizia con il non terminale stesso che ha il nome di quella produzione(direttamente, o indirettamente). Esempio:
E-> E a | epsilon
Questa e' ricorsiva sinistra, poiche' la produzione del non terminale E inizia a sua volta con E.
Prova a fare la tabella di parsing LL(1) della grammatica che ti avevo scritto, vedrai che non ci sarà nessun conflitto. Se invece provi a fare la tabella di parsing della grammatica: E-> E a | epsilon , trovi un conflitto, poiche' il parser LL(1) non e' in grado di parsarla.
Ultima modifica effettuata da dmr il 03/04/2015 alle 7:17 |