Sei sulla pagina 1di 2

Linguaggi, Compilatori e Modelli

Computazionali
Esame del 13 Giugno 2017
Esercizio 1.
Definire (direttamente, senza fare trasformazioni) un’espressione regolare che rappresenti il lin-
guaggio sull’alfabeto {a,b} delle stringhe anbm in cui n ed m sono entrambi pari o entrambi dispari
(0 è considerato pari). Ad esempio aabbbb, bb, abbb, aaaa ed ε appartengono al linguaggio
mentre aaabb, a, bbb e bbaa non vi appartengono. Trasformare, poi, l’espressione regolare in ε-
NFA utilizzando la trasformazione vista a lezione (cioè quella definita nel libro di testo).
Esercizio 2.
Definire (direttamente, senza fare trasformazioni) un DFA che rappresenti il linguaggio sul-
l’alfabeto {a,b} delle stringhe in cui il numero n di a ed il numero m di b sono tali che: n ed m
danno lo stesso resto quando divisi per 3, cioè n mod 3 = m mod 3. Ad esempio abaabb, bbabb,
abab, aaa ed ε appartengono al linguaggio mentre bb, a, aabbb e babaaa non vi appartengono.

Esercizio 3.
Si consideri il linguaggio delle stringhe anbmckdk con n ≥ m. Ad es. aaabbcd, ab, aabcccddd, a, ε
appartengono al linguaggio mentre abbcd, baacd non vi appartengono. Classificare il linguaggio
dicendo se è un linguaggio regolare, libero, ricorsivo, ricorsivamente enumerabile, o nemmeno
ricorsivamente enumerabile. Giustificare la risposta.

Esercizio 4.
Si consideri il linguaggio delle stringhe anckbmdk con n ≥ m. Ad es. aaacbbd, ab, aacccbddd, a, ε
appartengono al linguaggio mentre acbbd, bcaad non vi appartengono. Classificare il linguaggio
dicendo se è un linguaggio regolare, libero, ricorsivo, ricorsivamente enumerabile, o nemmeno
ricorsivamente enumerabile. Giustificare la risposta.

Esercizio 5.
Si considerino gli automi (LTS) descritti, tramite algebra di processi, da:
A = (a->STOP | c->d->A) .
X = (b->c->X).
||A_X = (A || X).
Si disegnino gli automi (LTS) “A” ed “X” e la loro composizione “||A_X”.
Si dica inoltre quali delle seguenti formule LTL sono soddisfatte da “||A_X”:
“<> a”, “b => () (a \/ c)”. Giustificare le risposte.

Esercizio 6.
Riportare la definizione di linguaggio di diagonalizzazione Ld e di linguaggio universale Lu .
Esercizio 7.
Descrivere in dettaglio il metodo di eliminazione degli stati visto a lezione (cioè quello definito
nel libro di testo) per trasformare un DFA in una espressione regolare.
Esercizio 8.
Si consideri la seguente grammatica:
S  AbB | cSd
A  adA | ε
B  bBa | Ad
Dire se si tratta di grammatica di tipo LL(1) e presentare la corrispondente tabella di parsing.
Mostrare le modalità di costruzione della tabella.

Potrebbero piacerti anche