Estratto del documento

Fondamenti, linguaggi e traduttori

Alfabeto e cardinalità

Alfabeto Σ = {a, b} |Σ| = numero di simboli |Σ| = cardinalità

Linguaggio e struttura

Linguaggio = insieme di stringhe costruite su un alfabeto

Un linguaggio formale non deve essere ambiguo

l1 = ab = | l1 | = 2

l2 = aab = | l2 | = 3

l2 = a = | l2 | = 1

l2 = ε = | l2 | = 0

Stringa vuota ε |ε| = 0

Linguaggio vuoto ∅ |∅| = 0

L = { ε } | L | = 1 caso particolare (linguaggio formato da solo ε)

Concatenamento

x = aab y = bbb x y = aabbba

Concatenamento di linguaggi L1 L2 = {x y | x ∈ L1, y ∈ L2}

Φ L = Φ e L1 = Φ

L Φ = Φ e | ε |

Potenza

a0 = ε se n = 0

a^ε = se n ≠ 0

Ln = { L^(n−1) L se n ≠ 0

L0 = {ε}

Operatore di Kleene

a* = U an

L* = U Ln

Operatore +

a+ = a a* = aa*

L+ = U Ln

Complemento

L = L U L = Σ* = L = Σ

Espressioni regolari

Dato un alfabeto sono espressioni regolari: Φε∀ a ∈ Σ (a è uno dei simboli dell’alfabeto)

Definizione: Date e1, e2 espressioni regolari:

  • se e1 e e2, allora e1
  • se e1 e e2, allora e1 e e2

Espressione regolare per numeri interi

Σ = {+ , - , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0}

Scrivere l'espressione regolare che permette di scrivere un numero intero con segno o senza (con la zero).

Σ = {+ , - , ε, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0}

→ (+ U - U ε) (0 U 1 U 2 U 3 U . . . U 9)*

Ho male posizionato potenze, e parente la seconda parentesi anche 0 volte, potrei ottenere un segno seguito dal nulla = errore = scambio * → con +

Esempio: sarebbe possibile generare un numero come +00001 (biogotti)

→ (+ U - U ε) ((1 U . . . U 9)(0 U 1 U . . . U 9)*) U 0

Problemi e soluzioni

Ho un problema: non riesco a generare lo zero da solo.

→ ((+ U - U ε) ((1 U . . . 9)((0 U 1 U . . . U 9)*) U 0

Derivazione

e1 → e2, se e2 è sottoinsieme di e1.

Regole: e1 e e2 U en → e1

e* → en 0 ≤ n

Derivazione immediata: e1 → e2 se A ⊆ B ed e2 → α β ed e2 → α B, allora A → ε

Alfabeto aggiuntivo

Σ = {a, b, 1} |Σ| = numero di simboli

L = {ε} |L| = 1

|| = cardinalità

Linguaggio vuoto e concatenamento

L'insieme di stringhe costruite su un alfabeto ε ∈ L

l1 = b | l1 = L {1}

l2 = a | l1 = L {2}

L = {ε, l1, l2} |L| = 1001

caso particolare (linguaggio formato da sola ε)

Stringa vuota: ε = li0

Linguaggio vuoto: ∅ = L ∈() |L| = 0

Concatenamento: x = aaε, y = bbb, z = aaabbb

Concatenamento di linguaggi e potenza

Concatenamento di linguaggi: L1L2 = {x1x2 | x1 ∈ L1, x2 ∈ L2}

∅ = {x} ∅

Potenza e operatori

a0 = ε, se n = 0

a-n = ∅, se n ≠ 0

Ln = {l1l2 ... ln | li ∈ L }, se n ≠ 0

Operatore di Kleene: a* = ⋃i = 0n Li

Operatore +: a+ = Li

Complemento e espressioni regolari

Complemento: L = LΣ ∩ Σ*

L' = LU - L

Espressioni regolari da un alfabeto sono espressioni regolari: ∅ε∀ a ∈ Σ (a è uno dei simboli dell'alfabeto)

Ulteriori definizioni

Definizione: Date e1, e2 espressioni regolari:

  • se e1 e e2, allora e1 e2
  • se e1, e2 sono e, allora e1 e2
  • se e1 e e2 sono ei allora e1 ∪ e2

Espressione regolare per numeri interi

Σ = {+, -, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0}

Scrivere l'espressione regolare che permette di scrivere un numero intero con segno o senza (con lo zero).

Σ = {+, -, ε, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0} → { (+ ∪ - ∪ ε) (0 ∪ 1 ∪ 2 ∪ 3 ∪ 4 ∪ 8 ∪ 9) → * Ho ∅ problema, ε potrebbe ∅, e scambiare * con +.

ε che genera il minimo con ε solo.

Ho ∅ per generare lo zero da solo.

→ ((+ ∪ - ∪ ε) (0 ∪ 1 ∪ 2 ∪ 3 ∪ 4 ∪ 5 ∪ 9 ∪ 9 ∪ 0 ∪ 1 ∪ 9)

Derivazione

e1 → e2, se e2 è sottoinsieme di e1.

Anteprima
Vedrai una selezione di 7 pagine su 26
Appunti Fondamenti, Linguaggi e Traduttori (FLT) Pag. 1 Appunti Fondamenti, Linguaggi e Traduttori (FLT) Pag. 2
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Appunti Fondamenti, Linguaggi e Traduttori (FLT) Pag. 6
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Appunti Fondamenti, Linguaggi e Traduttori (FLT) Pag. 11
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Appunti Fondamenti, Linguaggi e Traduttori (FLT) Pag. 16
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Appunti Fondamenti, Linguaggi e Traduttori (FLT) Pag. 21
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Appunti Fondamenti, Linguaggi e Traduttori (FLT) Pag. 26
1 su 26
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze antichità, filologico-letterarie e storico-artistiche L-FIL-LET/12 Linguistica italiana

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher flaviabat di informazioni apprese con la frequenza delle lezioni di Fondamenti, linguaggi e traduttori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Piemonte Orientale Amedeo Avogadro - Unipmn o del prof Bottrighi Alessio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community