La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Alfabeti Linguaggi Automi Grammatiche e Compilatori A cura del prof. Ionta Silvio a.s. 2005.

Presentazioni simili


Presentazione sul tema: "Alfabeti Linguaggi Automi Grammatiche e Compilatori A cura del prof. Ionta Silvio a.s. 2005."— Transcript della presentazione:

1 Alfabeti Linguaggi Automi Grammatiche e Compilatori A cura del prof. Ionta Silvio a.s. 2005

2 Prof. Ionta SilvioAnno Mappa Alfabeti Linguaggi Algebra dei Linguaggi Automi Operazioni sugli Automi Esempi

3 AlfabetiAlfabeti Unità didattica n° 1

4 Prof. Ionta SilvioAnno A ALFABETO Insieme finito di simboli elementari Es. : Alfabeto formato dal sol simbolo a A = {a} Alfabeto Binario A = {0,1} Alfabeto Morse A = {-,., spazio } Alfabeto carte da gioco A = {,,,,} Alfabeto della Lingua Italiana A = {a,b,c,…, z,A,B,C, …, Z} Alfabeto della Lingua Inglese A = {a,b,…,z,x,y,w.j,k} Alfabeto Greco A = {α,β,γ,δ,ε,…,φ,χ,ω}

5 Prof. Ionta SilvioAnno Operatore Concatenazione Si ottiene unendo il primo simbolo seguito dal secondo simbolo a b = ab b a = ba Non gode della proprietà commutativa a b b a

6 Prof. Ionta SilvioAnno w Parola - Stringa Le parole si ottengono facendo operazioni di concatenazione fra simboli dello stesso alfabeto A = {a} w = aaaaaaaaaa..aaaaaaa A = {a,b} w = ababaab A = {0,1} w = parola Binaria

7 Prof. Ionta SilvioAnno ε Stringa Vuota Parola ottenuta concatenando nessun simbolo dellalfabeto La lunghezza della parola vuota è |ε| = 0

8 Prof. Ionta SilvioAnno |W| Lunghezza di una Parola È il numero di caratteri utilizzati concatenando fra loro i simboli dellalfabeto nel formare la parola Parola formata da 0 lettere dellAlfabeto Greco A = {α,β,γ,δ,ε,…,φ,χ,ω} |w| = | ε | = 0 Parola formata da 1 lettera dell Alfabeto della Lingua Inglese A = {a,b,…,z,x,y,w.j,k} |w| = |x| = 1 Parola formata da 2 lettere di A = {0,1} |w| = |01| = 2 Parola formata da 3 lettere di A = {a,b} |w| = |aba| = 3 Parola formata da 4 lettere di A = {a} |w| = |aaaa| = 4

9 Prof. Ionta SilvioAnno A n Potenza di un Alfabeto Insieme delle parole che si possono formare concatenando fra loro simboli dellalfabeto di lunghezza pari a n Es. Alfabeto iniziale A = {a} A 0 = {ε} -> Insieme delle parole di lunghezza 0 -> la parola di lunghezza 0 è solo ε A 1 = {a}-> Insieme delle parole di lunghezza 1 la parola di lunghezza 1 è solo quella formata da un solo carattere A 2 = {aa} -> Insieme delle parole di lunghezza 2 la parola di lunghezza 2 è solo quella formata dalla concatenazione dello stesso carattere a per due volte … A n = {aaa…aaa} -> Insieme delle parole di lunghezza n la parola di lunghezza n è solo quella formata dalla concatenazione dello stesso carattere a per n volte

10 Prof. Ionta SilvioAnno A n Potenza di un Alfabeto Es. Alfabeto iniziale A = {a,b} A 0 = {ε} -> Insieme delle parole di lunghezza 0 la parola di lunghezza 0 è solo ε A 1 = {a,b} -> Insieme delle parole di lunghezza 1 la parola di lunghezza 1 è solo quella formata da un solo carattere ci sono due parole : la parola a e la parola b A 2 = {aa,ab,ba,bb} -> Insieme delle parole di lunghezza 2 la parola di lunghezza 2 è solo quella formata dalla concatenazione dei due caratteri a e b sono tante quante le combinazioni a due a due dei due caratteri = 2 2 = 4 A 3 = {aaa,aab,aba,abb,baa,bab,bba,bbb} -> Insieme delle parole di lunghezza 2 la parola di lunghezza 2 è solo quella formata dalla concatenazione dei due caratteri a e b sono tante quante le combinazioni due a due dei due caratteri = …. A n = {aaa…aaa,…,bbb…bbb} -> Insieme delle parole di lunghezza n la parola di lunghezza n è solo quella formata dalla concatenazione dei due caratteri a e b sono tante quante le combinazioni n a n dei due caratteri = 2 n …

11 Prof. Ionta SilvioAnno A + Chiusura Positiva di un Alfabeto È linsieme di tutte le parole, non nulle e lunghezza finita, che si possono formare unendo i caratteri dellalfabeto A + = A 1 A 2 A 3 … A n w A + |w| > 0

12 Prof. Ionta SilvioAnno A + Chiusura Positiva di un Alfabeto Alfabeto iniziale A = {a} A + = {a,aa, aaa,…,aaa..aa} n Alfabeto iniziale A = {a,b} A + = {a,b,aa,ab,ba,bb, aaa,aab,aba,abb,baa,bab,bba,bbb, …,aaa..aa,…,bbb…bbb} n

13 Prof. Ionta SilvioAnno A * Chiusura di un Alfabeto È linsieme di tutte le parole, anche nulle e di lunghezza finita, che si possono formare unendo i caratteri dellalfabeto A * = A 0 A 1 A 2 … A n w A + |w| 0 A * = A 0 A + = {ε} A +

14 Prof. Ionta SilvioAnno A * Chiusura di un Alfabeto Alfabeto iniziale A = {a} A * = {ε, a, aa, aaa, …, aaa..aa} n Alfabeto iniziale A = {a,b} A * = { ε, a,b, aa,ab,ba,bb, aaa,aab,aba,abb,baa,bab,bba,bbb, …, aaa..aa,…,bbb…bbb} n

15 LinguaggiLinguaggi Unità didattica n° 2

16 Prof. Ionta SilvioAnno L Linguaggio sullalfabeto A È un sottoinsieme di A * È linsieme delle parole, di lunghezza finita anche nulla, che si possono formare a partire dai caratteri dellalfabeto concatenandoli fra loro e che soddisfa un particolare insieme di REGOLE Es. il linguaggio Italiano è linsieme di parole che si possono formare a partire dallalfabeto Italiano e che soddisfano le regole della grammatica (sintassi) Italiana Nota : Il linguaggio Italiano si può formare anche dallalfabeto Inglese basta che soddisfi le regole della grammatica Italiana

17 Prof. Ionta SilvioAnno L Linguaggio sullalfabeto A Alfabeto iniziale A = {a} L = { w A * |w| A * } = Linguaggio formato da nessuna Parola L = { w A * |w| = 0 } = {ε} Linguaggio formato dalla Parola Vuota parola di lunghezza zero L = { w A * |w| = 1 } = {a} Linguaggio formato dalla Parola di lunghezza 1

18 Prof. Ionta SilvioAnno L Linguaggio sullalfabeto A Alfabeto iniziale A = {a} L = { w A * a 2n+1 n 0 } = {a,aaa,aaaaa,…} Linguaggio formato dalle parole con un numero dl lettere a dispari L = {w A * a 2n n>0 }= {aa,aaaa,aaaaa,…} Linguaggio formato dalle parole con un numero dl lettere a pari

19 Prof. Ionta SilvioAnno L Linguaggio sullalfabeto A L = { w A * R(w)= Vero } Metodo DISCORSIVO L = insieme delle Parole formate con lettere dellalfabeto A, di lunghezza anche nulla ma finita, che soddisfano la particolare Regola R Metodo ENUMERATIVO L = { elenco completo delle parole } Metodo MATEMATICO L = formula matematica sui linguaggi

20 Prof. Ionta SilvioAnno L Linguaggio sullalfabeto A Es : L = {w {0,1}* Inizi con zero} Metodo DISCORSIVO L = Insieme delle Parole formate con lettere dellalfabeto A cioè I numeri 0 e 1, che soddisfano la particolare Regola che la parola inizi con il numero 0 che può essere seguito da una qualsiasi combinazione, anche nulla, di 0 e 1 a piacere di lunghezza finita Metodo ENUMERATIVO L = { 0, 00, 01, 000, 001, 010, 011, 0000, 0001, 0010, 0011,…. } Metodo MATEMATICO L = 0(0+1)*

21 Algebra dei Linguaggi Unità didattica n° 3

22 Prof. Ionta SilvioAnno Algebra dei Linguaggi A = {a,b} Alfabeto formato da 2 simboli (caratteri) ε Parola vuota formata non prendendo nessun carattere dellalfabeto a parola di lunghezza 1 formata dal 1° carattere dellalfabeto b parola di lunghezza 1 formata dal 2° carattere dellalfabeto

23 Prof. Ionta SilvioAnno Algebra dei Linguaggi aa, ab, ba, bb parole di lunghezza 2 formate concatenando due caratteri dellalfabeto aaa, aab, aba, abb, baa, bab, bba, bbb parole di lunghezza 3 formate concatenando tre caratteri dellalfabeto

24 Prof. Ionta SilvioAnno Algebra dei Linguaggi ( a + b ) Unione abab Posso prendere 1 solo carattere a scelta fra a e b (ab) (ab) Congiunzione ab devo prendere obbligatoriamente entrambi i caratteri nello stesso ordine in cui sono indicati ( prima la a e poi la b

25 Prof. Ionta SilvioAnno Algebra dei Linguaggi (..) + Chiusura Positiva (..) (..)(..) (..)(..)(..) (..)(..)(..)(..)..... Sequenza non vuota di (..) Posso prendere i caratteri in ripetizione in un numero qualsiasi ma obbligatoriamente almeno 1 o prendo un solo carattere (..) o posso prendo una sequenza di caratteri (..) lunga a piacere

26 Prof. Ionta SilvioAnno Algebra dei Linguaggi (..) * Chiusura – Operatore stella ε (..) (..)(..) (..)(..)(..) (..)(..)(..)(..) … Sequenza anche vuota di (..) Posso prendere i caratteri in ripetizione in un numero qualsiasi anche nessuno o non prendo nessun (..) o posso prendo una sequenza di caratteri (..) lunga a piacere

27 Prof. Ionta SilvioAnno Algebra dei Linguaggi a + Chiusura Positiva a aa aaa aaaa..... Sequenza non vuota di caratteri a Posso prendere i caratteri in ripetizione in un numero qualsiasi ma obbligatoriamente almeno 1 o prendo un solo carattere a o posso prendo una sequenza di caratteri a lunga a piacere

28 Prof. Ionta SilvioAnno Algebra dei Linguaggi a * Chiusura – Operatore stella ε a aa aaa aaaa..... Sequenza anche vuota di caratteri a Posso prendere i caratteri in ripetizione in un numero qualsiasi anche nessuno o non prendo nessun carattere a o posso prendo una sequenza di caratteri a lunga a piacere

29 Prof. Ionta SilvioAnno Algebra dei Linguaggi (a+b) + Chiusura Positiva a,b aa,ab,ba,bb aaa,aab,aba,abb,baa,bab,bba,bbb aaaa,… … Sequenza di combinazioni non vuota di caratteri a e b Posso prendere i caratteri in ripetizione in un numero qualsiasi scegliendoli a piacere ma obbligatoriamente almeno 1 o prendo un solo carattere a o un solo caratere b o posso prendo una sequenza di caratteri lunga a piacere

30 Prof. Ionta SilvioAnno Algebra dei Linguaggi (ab) + Chiusura Positiva ab abab ababab … Sequenza di combinazioni non vuota di coppie di caratteri ab Posso prendere i caratteri in coppia in ripetizione in un numero qualsiasi ma obbligatoriamente almeno 1 coppia o prendo una sola coppia di caratteri ab o posso prendo una sequenza di caratteri ab lunga a piacere

31 Prof. Ionta SilvioAnno Algebra dei Linguaggi (a+b) * Chiusura – operatore Stella ε a,b aa,ab,ba,bb aaa,aab,aba,abb,baa,bab,bba,bbb aaaa,… … Sequenza di combinazioni anche vuota di caratteri a e b Posso prendere i caratteri in ripetizione in un numero qualsiasi, anche nessuno, scegliendoli a piacere o nessuno o prendo un solo carattere a o un solo caratere b o posso prendo una sequenza di caratteri lunga a piacere

32 Prof. Ionta SilvioAnno Algebra dei Linguaggi (ab) * Chiusura – operatore Stella ε ab abab ababab … Sequenza di combinazioni non vuota di coppie di caratteri ab Posso prendere i caratteri in coppia in ripetizione in un numero qualsiasi, anche nessuno o nessuno o prendo una sola coppia di caratteri ab o posso prendo una sequenza di caratteri ab lunga a piacere

33 Prof. Ionta SilvioAnno Esempi di Linguaggio Alfabeto iniziale A = {a.b} Metodo MATEMATICO ab*a Metodo DISCORSIVO L = { w A* (tutte le parole formate da lettere dellalfabeto di partenza a e b) t.c. |w| 2 (tali che siano formate da almeno 2 caratteri) e che iniziano e terminano con a con interposto una sequenza anche vuota di b} Metodo ENUMERATIVO L = { aa, aba, abba, abbba, abbbba, abbbbba, … }

34 Prof. Ionta SilvioAnno Esempi di Linguaggio Alfabeto iniziale A = {a.b} Metodo MATEMATICO a(a+b) + a Metodo DISCORSIVO L = { w A* (tutte le parole formate da lettere dellalfabeto di partenza a e b) t.c. |w| 3 (tali che siano formate da almeno 2 caratteri) e che iniziano e terminano con a con interposto una sequenza non vuota di caratteri a scelta fra a e b} Metodo ENUMERATIVO L = { aaa, aba, aaaa, aaba, abaa, abba, aaaaa, aaaba, aabaa, aabba, … } 3 4 5

35 Prof. Ionta SilvioAnno Esempi di Linguaggio Alfabeto iniziale A = {a.b} Metodo MATEMATICO a(ab) * a Metodo DISCORSIVO L = { w A* t.c. |w| 2 e che iniziano e terminano con a con interposto una sequenza anche vuota di coppie di caratteri a scelta ab} Metodo ENUMERATIVO L = { aa, aaba, aababa,aabababa, … }

36 Prof. Ionta SilvioAnno Esempi di Linguaggio Alfabeto iniziale A = {0,1} Metodo MATEMATICO 0(0+1) * Metodo DISCORSIVO L = { w A* t.c. |w| 1 e che iniziano con 0 seguito da una sequenza anche vuota di caratteri a scelta 0e 1} Metodo ENUMERATIVO L = {0,00,01,000,001,010,011,0000,0001,0010,0011,0100,0101,0110,0111, … } >5

37 AutomiAutomi Unità didattica n° 4

38 Prof. Ionta SilvioAnno a Automa Un Automa riconoscitore di un Linguaggio è una Macchina che ogni volta che si inserisce una parola del linguaggio partendo da uno Stato Iniziale q i e passando, attraverso opportune regole, in un insieme finito di Stati Intermedi q n ogni volta che legge un carattere della parola riesce a raggiungere uno degli Stati Finali q f

39 Prof. Ionta SilvioAnno a Automi a = (quintupla) A Alfabeto di Partenza Q Insieme degli Stati {q 0, q 1, q 2, q 3, …, q f1, q f2,…,} Regole di Transizione (Produzioni) qi Stato Iniziale q 0 F Insieme degli Stati Finali { q f1, q f2,…}

40 Prof. Ionta SilvioAnno a Automi Automa Deterministico –Quando le regole permettono la transizione da uno Stato ad un altro in modo univoco Automa Deterministico –Quando le regole non permettono di stabilire con esattezza in quale stato porterà la Transizione

41 Prof. Ionta SilvioAnno Si parte dallo stato iniziale e utilizzando la tabella di transizione si costruisce un automa equivalente ma deterministico. Gli stati non determinati si raggruppano in un unico nuovo stato. Pertanto le transazioni vanno effettuate considerando gli stati come se fossero raggruppati I nuovi stati che contengono stati finali diventano stati finali Infine si rinominano gli stati Automa Deterministico Automa non Deterministico

42 Prof. Ionta SilvioAnno Automa che riconosce il Linguaggio L = a a = q0q0 q1q1 Stato Iniziale Stato Finale a a q0q0 q1q1 q1q1 -

43 Prof. Ionta SilvioAnno Automa che riconosce il Linguaggio L = b a = q0q0 q1q1 Stato Iniziale Stato Finale b b q0q0 q1q1 q1q1 -

44 Operazioni sugli Automi Unità didattica n° 5

45 Prof. Ionta SilvioAnno Unione fra automi Si crea un nuovo Stato Iniziale. Da esso si fanno uscire tante frecce quante sono quelle che uscivano dagli stati iniziali degli altri automi e che vanno finire negli stessi stati Gli stati Iniziali Vecchi e le frecce ad esso collegate spariscono

46 Prof. Ionta SilvioAnno Unione fra automi L = a + b Unione degli Automi L 1 =a e L 2 =b q1q1 q0q0 a q1q1 q0q0 b Nuovo Stato Iniziale q0q0 b a q2q2 ab q0q0 q1q1 q2q2 q1q1 -- q2q2 --

47 Prof. Ionta SilvioAnno Concatenazione fra automi Si scrive il 1° automa senza lindicazione degli stati finali Si sovrappone lo stato iniziale ad ogni stato finale del primo Automa e si costruisce da questi stati (ex finali) il 2° automa Da essi si fanno uscire tante frecce quante sono quelle che uscivano dallo stato iniziale del 2°automa e che vanno finire negli stessi stati del 2° automa

48 Prof. Ionta SilvioAnno Unione fra automi L = ab Concatenazione degli Automi L 1 =a e L 2 =b q1q1 q0q0 a q1q1 q0q0 a q1q1 q0q0 b q2q2 q1q1 b ab q0q0 q1q1 - q1q1 -q2q2 q2q2 --

49 Prof. Ionta SilvioAnno Unione fra automi L = ba Concatenazione degli Automi L 1 =b e L 2 =a q1q1 q0q0 b q1q1 q0q0 b q1q1 q0q0 a q2q2 q1q1 a ab q0q0 -q1q1 q1q1 q2q2 - q2q2 --

50 Prof. Ionta SilvioAnno Chiusura positiva Da ogni Stato Finale dellAutoma si fanno uscire tante frecce quante sono quelle che escono dallo Stato Iniziale che vanno a finire sempre negli stessi Stati

51 Prof. Ionta SilvioAnno Chiusura positiva L = a + Chiusura positiva di L 1 = a q1q1 q0q0 aa a a q0q0 q1q1 q1q1 q1q1

52 Prof. Ionta SilvioAnno Chiusura positiva L = b + Chiusura positiva di L 1 = b q1q1 q0q0 bb b b q0q0 q1q1 q1q1 q1q1

53 Prof. Ionta SilvioAnno Chiusura positiva L = (a + b) + Chiusura positiva di L = a+b q1q1 q0q0 b a q2q2 a b b a a b ab q0q0 q1q1 q2q2 q1q1 q1q1 q2q2 q2q2 q1q1 q2q2 b a

54 Prof. Ionta SilvioAnno Chiusura positiva L = (ab) + Chiusura positiva di L = ab q1q1 q0q0 a q2q2 q1q1 ba a ab q0q0 q1q1 - q1q1 - q2q2 q2q2 q1q1 -

55 Prof. Ionta SilvioAnno Chiusura positiva L = (ba) + Chiusura positiva di L = ba q1q1 q0q0 b q2q2 q1q1 ab a ab q0q0 -q1q1 q1q1 q2q2 - q2q2 - q1q1

56 Prof. Ionta SilvioAnno Operazione Stella Si effettua la Chiusura Positiva –Da ogni Stato Finale dellAutoma si fanno uscire tante frecce quante sono quelle che escono dallo Stato Iniziale che vanno a finire sempre negli stessi Stati Lo Stato Iniziale diventa Stato Finale

57 Prof. Ionta SilvioAnno Operazione Stella L = a * Operazione Stella di L 1 = a q1q1 q0q0 aa a q1q1 q0q0 a q0q0 q1q1 q1q1 q1q1

58 Prof. Ionta SilvioAnno Operazione Stella L = b * Operazione Stella di L 1 = b q1q1 q0q0 bb b q1q1 q0q0 b q0q0 q1q1 q1q1 q1q1

59 Prof. Ionta SilvioAnno Operazione Stella L = (a + b) + Operazione Stella di L = a+b q1q1 q0q0 b a q2q2 a b b a a b ab q0q0 q1q1 q2q2 q1q1 q1q1 q2q2 q2q2 q1q1 q2q2 b a q0q0

60 Prof. Ionta SilvioAnno Operazione Stella L = (ab) * Operazione Stella di L = ab q1q1 q0q0 a q2q2 q1q1 ba a q0q0 ab q0q0 q1q1 - q1q1 - q2q2 q2q2 q1q1 -

61 Prof. Ionta SilvioAnno Operazione Stella L = (ba) * Operazione Stella di L = ba q1q1 q0q0 b q2q2 q1q1 ab b q0q0 ab q0q0 -q1q1 q1q1 q2q2 - q2q2 -q1q1

62 GrammaticaGrammatica Unità didattica n° 6

63 EsempiEsempi Unità didattica n° 7

64 Prof. Ionta SilvioAnno Esempio n°1 L = 0(0+1)*11 L 1 = 0 q0q0 q1q1 0 q0q0 q1q1 1 L 2 = 1L 3 = 11 1 q0q0 q2q2 q1q1 1 q1q1 q0q0 1 0 q2q L 4 = L 5 = (0 + 1)* q1q1 1 0 q2q q0q0 L 6 = 0 (0 + 1)* 0 q2q2 1 0 q3q q1q1 q0q0 1 L f = 0 (0 + 1)*11 q5q5 q3q3 q2q2 1 q1q1 q0q0 q4q

65 Prof. Ionta SilvioAnno Esempio n°1 L = 0(0+1)*11 01 q0q0 q1q1 - q1q1 q2q2 q 3, q 4 q2q2 q2q2 q3q3 q2q2 q4q4 - q5q5 q5q5 - - Automa non Deterministico Ci sono dei passaggi di stato non definiti univocamente Es : se mi trovo nello stato q 3 e leggo il carattere 1 in quale stato devo andare? Ancora nello Stato q 3 o vado nello stato q 4 ? L f = 0 (0 + 1)*11 q5q5 q3q3 q2q2 1 q1q1 q0q0 q4q

66 Prof. Ionta SilvioAnno Esempio n°1 L = 0(0+1)*11 01 q0q0 q1q1 - q1q1 q2q2 q 3, q 4 q2q2 q2q2 q3q3 q2q2 q4q4 - q5q5 q5q5 - - Si parte dallo stato iniziale e utilizzando la tabella di transizione si costruisce un automa equivalente ma deterministico. Gli stati non determinati si raggruppano in un unico nuovo stato. Pertanto le transazioni vanno effettuate considerando gli stati come se fossero raggruppati I nuovi stati che contengono stati finali diventano stati finali Infine si rinominano gli stati Automa Deterministico Automa non Deterministico q0q0 q1q1 0 q2q2 0 0 q 3,q q 3,q 4,q q0q0 q1q1 - q1q1 q2q2 q 3, q 4 q2q2 q2q2 q2q2 q 3, q 4, q 5 -

67 Prof. Ionta SilvioAnno Esempio n°1 L = 0(0+1)*11 Automa Deterministico 01 q0q0 q1q1 - q1q1 q2q2 q3q3 q2q2 q2q2 q3q3 q3q3 q2q2 q4q4 q4q4 - q4q4 q0q0 q1q1 0 q2q2 0 0 q3q3 1 1 q4q


Scaricare ppt "Alfabeti Linguaggi Automi Grammatiche e Compilatori A cura del prof. Ionta Silvio a.s. 2005."

Presentazioni simili


Annunci Google