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
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Fondamenti linguaggi e traduttori

Alfabeto

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

Linguaggio: l'insieme di stringhe costruite su un alfabeto

Un linguaggio formale non deve essere ambiguo

Stringa vuota

ε: |ε| = 0

Linguaggio vuoto

L = {ε} |L| = 1

Caso particolare (linguaggi formati da solo ε)

Concatenamento

X Y = aaabbb Y = bbb X Y = aaabbb

Concatenamento di linguaggi

  • L1 L2 = {x y | x ∈ L1, y ∈ L2}
  • Σ L = L L Σ = L
  • ∅L = L∅ = ∅

Potenze

  • an = {an} se n ≠ 0
  • {ε} se n = 0

Operatore di Kleene

L* = ⋃i=0Li

Operatore +

Concatenamento

a+ = an con n ≠ 0

Complemento

  • L &supl; Σ* L = Σ* - L

Espressioni regolari

Dato un alfabeto sono espressioni regolari:

  • ε
  • ∀ a ∈ Σ (a è uno dei simboli dell'alfabeto)

Def: Date e1, e2 espressioni regolari:

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

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

L = Σ ∅ + -

Ex

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

  • = Σ{+, - ,0,1,2,3,4,5,6,7,8,9,0}
  • (+ - ∪ ∅)(0 ∪ 1 ∪ 2 ∪ 3 ∪...9)*
  • Ho un problema potendo generare le seconde parenzeω anche o vare, potrei ottenere un segno seguitodallo nulla — errore — scambio `* con +`
  • Ho un problema posso generare numeri come 0+000 • (bloccato) => (+ -  
  • ∃ {(∪, 0, 1, ∪, 2, 3, ∪, 9)}(0 ∪ 1 & u;
  • Mo un problema — non riesca generare lo letto πla sola
  • (+ ∪ - ∪ ∅)(2,3;(0,0 0,1,2,9)(0 ∪ Σ,9)* ∪ 0

Derivazione

  • e1 → e2 se e2 è sottinsieme di e1
  • Regole : e1, e2, ∪ V ∃
  • e2 → n, 0 ≤ n

Derivazione immediata

e1 → e2 se dato e1, a β ed e2 α n β allora δ → γ

1. (a∪b)(a∪b)* ⊨

  • (a∪b) (a∪bb) L
  • (a∪b) (a∪bb) a*
  • (a∪b) (a∪bb) a
  • (a∪b) (a∪bb) aa
  • ba (a∪bb)a
  • ba (a∪bb)a

Regole concatenamento linguaggi ed e.c.

  • L(e₁e₂) = L(e₁, e₂)
  • L(e)∪L(e₂)
  • L(e₁, e₂) = L(e, e₂)

Idem per intersezione, differenza, complemento.

Errori:

  • aⁿbⁿ n≥0 (il numero di a è uguale al numero b) (non è descrivibile tramite e.c.)
  • aⁿ bʳ (prende anche case in più)

Palindromi

∑:={a,b} ⟹ a₂a₂

abba

a b ba NO (Fa la ricerca di un tag = simbolo che non esistente)

∫∫ deve avere un numero pari di simboli

Regole grammaticali

  • Se ho un dato simbolo, lo posso sostituire con altri simboli
  • PAL ⟹ a PAL a
  • PAL ⟹ b PAL b
  • PAL ⟹ a
  • PAL ⟹ b
  • Non genera la stringa vuota

Grammatica

= quadrupla ⟨V, Σ, P, S⟩ dove:

  • V = simboli non terminali (maiuscoli, indica ciò che parola non è ancora terminato)
  • Σ = Alfabeto, simbolo terminali
  • P = insieme di tutte le regole grammaticali (coppie di produzione)
  • S = assieme, ovvero da dove parte

es:

  • P: F ⟹ A | a A | a
  • B ⟹ h A
  • V: {a, B}
  • Σ: {a, b}

(A ⟹ a A | a = a A = a)

  • S = a b A
  • Se Σ = B, allora B ⟹ b F ⟹ ba
  • Se Σ = B, allora non genera nulla se non a

Qualunque linguaggio composto da un numero finito di parole è regolare

L(G)={x∈Σ* : S⟹* x}

er di grammatica

  • V :={S, A, B} ∑ :={a, b}
  • S ⟹ A a | S (da S arrivo a S)
  • A ⟹ S (da A vado a S) S⟹* S
  • A ⟹ b S (ovvero : non avere B nella grammatica e denomina specifici simboli di spazio)

Grammatica ridotta

  • ∀ A Є V ∃ α β ≠ A
  • ∀ A Є V ∀ α Σ* ∃ β
  • ∀ A Є V S* ⟹ α β ⟹ dove α, β ∈ (V U Σ)*

Es grammatica che descrive le operazioni aritmetiche * e + (grammatici ridotte)

E ➝ E + T | T

T ➝ T * F | F

F ➝ (E) | n (n numero generale: a)

Macchina di Turing

Modello matematico (astratto) proposto da Alan Turing che costituisce l'anticipatore formale di un computer moderno.

  • Controller
  • Nastro infinito
  • 0, 1, blank (nello stato vuoto)

Funzione del nastro:

CPU dove sta il programma

  • Descritta tramite funzioni matematiche
  • Tipo: [N] ma devo fare in memoria del passato

funzione di transizione stato

dato da inserire

Linguaggi: Context Sensitive + regole

L = {anbncn, n ≥ 1}, L = {x y cy | x ∈ Σ \ {c}|}

S → X c

fine stringa per 'ci'

X a X → A I b X B

X B → X B

  • X B → X A'
  • A → aa
  • B' → b
  • A → ab
  • A' → a A'
  • C c
  • B' B → B B C B' B → B C B
  • B → b
  • B' → B' B B B B' → B B' B' B B B B B B' B' B
  • S → a S B c

Linguaggi Context Free

L = {anbn+1 cd m} n ≥ 1, m ≥ 2

Bilanciamento

  • S → T c d
  • D → d|d b
  • T → a T b|abb

S → a S c|a|c

A →

S → AB d

A → a A b|a (X n: minimu d = ae b = 0)

  • C → c C|
  • B → b C|
  • B → b B|

Bilanciamenti in sequenza (sempre context free)

annm+2 = (c u d)k ac m bd k n k z

N K

b b d a a

  • S → t d
  • N → B H e
  • N (N senza |a e k, N|a e k|a|dc la|Ia)

* = contiene stati finali

ecc...

Automa a stati finito

Espressioni Regolari

Grammatiche Linear dx

Q = V

q0 = S

A → bB

A → aB

A → a

A → ε

V = {S, A, B}

F = ∠ A, B '

A → ε

B → ε

S → 0A

A → 1S

A → 0A A → 1B

Esercizi

E1: anbn n > 0

aabb

  • PUSH X
  • a PUSH X
  • b POP
  • b POP
  • (q0, a, z0) → (q2, Xz0)
  • (q2, a, Z) → (q2, XX)
  • (q2, b, X) → (q2, ε)
  • (q2, ε, z0) → (q3, z0)

E2: aaab

  • S
  • a
  • S
  • a
  • S
  • A
  • a
  • A
  • a
  • b
  • A
  • b
Stato Pila Input q0 Z0 aaabbb⊢

Esercizi

E1: (a U b)nca cb n > 0

  • S → X S aa | caa
  • X → a | b

E2: L = a2bmdmanan-1 m > 0, n > 1

  • S → a S a | a B a
  • B → b b b | D
  • D → d d | ε
Dettagli
Publisher
A.A. 2022-2023
26 pagine
1 download
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.