Form álne jazyky a prekladače
-
Upload
harriet-wiley -
Category
Documents
-
view
23 -
download
0
description
Transcript of Form álne jazyky a prekladače
Formálne jazyky a prekladače
materiály k cvičeniam
Ing. Michaela Bačíková
Rozpoznávač reťazcov regulárneho jazyka Možno konštruovať na základe RV Deterministický (DKA) / nedeterministický
(NKA) Pre každý NKA možno vytvoriť DKA, pričom
obe rozpoznávajú tú istú regulárnu množinu.
Konečnostavové automaty (KSA)
DKA M nad abecedou Σ je systémM = (K, Σ, δ, s0, F)
kde:◦ K je konečná neprázdna množina stavov◦ Σ je konečná vstupná abeceda◦ δ je prechodová funkcia◦ s0 ∈ Kje začiatočný stav◦ F ⊆ K je množina koncových stavov
kdefunkcia δ: K x Σ+ K je definovaná:
δ(p, a) = qδ(p, xa) = δ(δ(p, x), a)
p,q ∈ K, a ∈ Σ, x ∈ Σ +
Deterministický KSA (DKA)
Neterministický KSA (NKA) NKA N nad abecedou Σ je systém
N = (K, Σ, δ, s0, F)
kde:◦ K je konečná neprázdna množina stavov◦ Σ je konečná vstupná abeceda◦ δ je prechodová funkcia◦ s0 ∈ K je začiatočný stav◦ F ⊆ K je množina koncových stavov
kdefunkcia δ: {K} x Σ* {K} je definovaná:δ(P, e) = Q δ(P, xe) = δ(δ(p, x), a)δ(P, a) = R δ(P, xa) = δ(δ(p, x), a)
p,q ∈ K, a ∈ Σ, x ∈ Σ +
stav i ε K
stav s0 = i
stav i ∈ F
stav s0 = i, i ∈ F
Stavy a prechody KSA
i
istart
i
starti
i ja
ia
Prechod δ(i, a) = j
Prechod δ(i, a) = i
a
b
a
Úloha: Tvorba prechodového diagramu pre regulárny výraz a [a|b]
Úloha: Tvorba prechodového diagramu pre regulárny výraz a {ab}
a
ab
start
start
0
1
2
• a [a|b]start
a [• a| • b] •
a
b
a
b
a
start
Prechodový diagram pre RV a [a|b]
Úloha: Tvorba prechodového grafu pre RV a [a|b]
b
Číslami označíme stavy KSA a prekreslíme:
0 1 2a
a
b
start
ba
a [a| b] •
a
a
0
1
2
• a {ab}start
a {• ab} •
a
a {a •b}Prechodový diagram pre RV a {ab}
Úloha: Tvorba prechodového grafu pre RV a {ab}
b
Číslami označíme stavy KSA a prekreslíme:
0 1 2a
a
b
start
a
ab
start
b
bb