LLPARSER
LLPARSER e' il risultato di un lavoro di tesi in Informatica, realizzato
dal dott. Samuele Manfrin. Si tratta dell'unico, al meglio della mia conoscenza,
sistema per la valutazione top-down di grammatiche LL(1) con attributi
sintetizzati ed ereditati.
Il sistema, nella versione prototipo, sara' utilizzato nel nostro corso
in vari momenti e per varie attivita' successive. Le due principali sono:
-
definizione di grammatica LL(1)
-
definizioni di grammatiche ad attributi
-
analisi di propagazione degli attributi e calcolo
1) Definizione di grammatica LL(1).
-
esercitarsi sul calcolo dei first e dei follow
-
deselezionare tutte le opzioni riportate in basso a sinistra della finestra
principale;
-
Inserire le (sole) produzioni della grammatica (con l'avvertenza che tutti
i simboli devono essere di un solo carattere, Maiuscoli per non terminali).
Sono ammessi i soli operatori di alternatore e concatenazione;
-
premere il pulsante Analyze
-
Il nuovo quadro e' costituito di quattro sezioni
-
la sezione 1 riporta il calcolo dei first per tutte le parti destre delle
produzioni inserite, e il calcolo dei follow per tutti i non terminali.
-
la sezione 2 riporta errori individuati nella definizione inserita.
Scritta una grammatica e calcolati i first e follow potete inserire la
definizione della grammatica nella finestra principale di LLPARSER e verificare
la correttezza dei vostri calcoli. La sezione 2 vi avvisa di errori trovati
nella vostra definizione.
-
esercitarsi sulle condizioni di LL(1)-soddisfacibilita' di una grammatica
context free
-
procedere con i passi 1-4, sopra per il calcolo dei first e dei follow
-
controllare la sezione 2: in caso di condizioni violate e' riportato un
avviso
-
calcolo delle tabelle di analisi
-
procedere con i passi 1-4, sopra per il calcolo dei first e dei follow
-
la sezione 3 riporta la tabella di analisi LL(1).
-
esercitarsi sulle derivazioni leftmost
-
procedere con i passi 1-2, sopra per il calcolo dei first e dei follow
-
inserire la frase che vogliamo analizzare nella finestra a riga in basso
-
premere il pulsante Analyze
-
la sezione 4 contiene l'analisi della frase: verificare che le conclusioni
dell'analisi coincidano con le conclusioni della derivazione condotta manualmente
-
esercitarsi sull'uso di un automa a "espansione" di pila
-
procedere con i passi 1-4, sopra esercitarsi sulle derivazioni leftmost
-
inserire la frase che vogliamo analizzare nella finestra a riga in basso
-
premere il pulsante Analyze
-
la sezione 4 contiene l'analisi della frase: verificare che i vari passi
delle modifiche dello stack coincidano con quelli condotti manualmente.
Accesso
al prototipo