Form álne jazyky a prekladače

8
Formálne jazyky a prekladače materiály k cvičeniam Ing. Michaela Bačíková

description

Form álne jazyky a prekladače. materiály k cvičeniam Ing. Michaela Bačíková. Konečnostavové automaty (KSA). Rozpoznávač reťazcov regulárneho jazyka Možno konštruovať na základe RV Deterministický (DKA) / nedeterministický (NKA) - PowerPoint PPT Presentation

Transcript of Form álne jazyky a prekladače

Page 1: Form álne  jazyky a prekladače

Formálne jazyky a prekladače

materiály k cvičeniam

Ing. Michaela Bačíková

Page 2: Form álne  jazyky a prekladače

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)

Page 3: Form álne  jazyky a prekladače

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)

Page 4: Form álne  jazyky a prekladače

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 ∈ Σ +

Page 5: Form álne  jazyky a prekladače

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

Page 6: Form álne  jazyky a prekladače

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

Page 7: Form álne  jazyky a prekladače

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] •

Page 8: Form álne  jazyky a prekladače

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