Grammatiche Altro metodo per generare insiemi di stringhe
- Slides: 22
Grammatiche Altro metodo per generare insiemi di stringhe Una grammatica è, intuitivamente, un insieme di regole che permettono di generare un linguaggio. Un ruolo fondamentale tra le grammatiche è costituito dalle grammatiche libere dal contesto (Context-Free - CF), mediante le quali viene solitamente descritta la sintassi dei linguaggi di programmazione.
Una Grammatica di tipo 0 (o a struttura di frase) (V ∪ T)+ (regola di riscrittura)
Nel seguito useremo la seguente notazione V = {A, B, . . . } variabili non terminali �� = {a, b, . . . } simboli terminali
Esempio
Molto più complicato di prima ottenere le stringhe del linguaggio: 6
n=3 a 3 b 3 a 3 a. SBA aa. SBABA aaab. ABABA aaab. BABAA aaab. BBAAA aaabbb. AAA aaabbbaa. A aaabbbaaa (1) (2) (3) (3) (4) (5) (6) n-1 n-1
L'insieme si dice ricorsivamente enumerabile se CA è parzialmente computabile, cioè se 'x A' è semidecidibile in altre parole:
A sinistra ci sono solo variabili I simboli terminali stanno solo a destra
Tipo 2 - CF Grammatiche di Tipo 2 libere dal contesto (Context Free - CF) Rappresentano facilmente stringhe con struttura ottenibile mediante ricorsione Usate inizialmente per studiare la struttura delle lingue naturali Applicazioni: parser per compilatori e interpreti
Tipo 2 - CF A sinistra ci sono solo variabili invece che Un linguaggio generato da una grammatica Context Free si chiama Context Free Language (CFL)
Tipo 2 - CF Esempio di derivazione Rappresentazione mediante albero di derivazione della stringa 000#111
Tipo 2 - CF Rappresentazione mediante albero di derivazione della stringa ((0 or 1) and (not 0))
Altro esempio Tipo 2 - CF
Tipo 2 - CF
Tipo 2 - CF Altro esempio
Tipo 2 - CF
Forma normale di Chomsky Ogni produzione è nella forma: A �BC A, B, C∈V A ��� �� simbolo terminale Nota: B e C non possono essere variabili iniziali; si accetta la produzione S ��� con S variabile iniziale Si può dimostrare che ogni CFG può essere resa in forma normale
Teorema (senza dim. ): Un linguaggio è Context Free se e solo se può essere generato da una macchina non deterministica con 1 memoria pushdown (automa a pila) Linguaggi regolari Automi a stati finiti (DFA) Automi non-deterministici (NFA) Grafi di Transizione (GT) Espressioni Regolari (ER) Linguaggi CF Macchina non deterministica con 1 memoria pushdown
A struttura di frase CF Regolari
Gerarchia delle grammatiche di Chomsky Struttura di frase (tipo 0) Sensibile al contesto (tipo 1) Libere dal contesto - CF (tipo 2) Regolari (tipo 3)
Gerarchia delle potenze Macchine non deterministiche di Turing – Macchine finite non deterministiche con due memorie push-down || Macchine di Turing – Modello RAM – Macchine di Post – Macchine finite con due memorie push-down {an bn an | n ≥ 0} > Macchine finite non deterministiche con una memoria push-down > Macchine finite con una memoria push-down {w w. R | w∈{a, b}* } {an bn | n ≥ 0} > Macchine finite non deterministiche senza memorie push-down || Macchine finite senza memorie push-down || Automi finiti
- Concatenazione stringhe c
- Non trattare gli altri come non vorresti essere trattato
- Di null'altro mai ci glorieremo
- Un segmento è il quintuplo di un altro
- Altro nome della tignola
- Ornella vanoni un altro addio
- Non desidero altro
- Io sono il signore dio tuo non avrai altro dio
- Insiemi simbologia
- Antinomia di russell
- Insiemi disgiunti
- Linguaggio insiemi
- Insieme vuoto
- Prodotto cartesiano a x b x c
- Q e r
- Unione tra due insiemi
- Proporzionalità quadratica
- Bufala
- Metodo di studio per liceo scientifico
- Metodo di studio e dsa riassunto
- Per stirpes v per capita
- Per capita vs per stirpes
- Moltiplicazioni con numeri periodici