Definicija: Regularni jezik L nad abecedo A je formalni jezik, ki zadovoljuje naslednje ekvivalentne lastnosti:
Primer:
Sprejemnik (Acceptor) |
Opisnik (Descriptor) |
Tvornik (Generator) |
![]() |
a*ba* | S → aS | bA A → ε | aA |
Definicija: Jezik L ∈ A* je regularen, če L ustreza nekaterim KA.
če je podan L, L' ∈ A*, definiraj unijo L ∪ L', zdruŽitev L ∘ L' = { v = ww'| w ∈ L, w' ∈ L'}
Definiraj L0 = { ε }, Lk = L ∘ Lk-1 za k > 0. Kleenova iteracija: L* = ⋃ (k = 0 to ∞ ) Lk.
Teorem - zapiranje z regularnimi operacijami: če so L, L' ∈ A* regularni jeziki, so regularni jeziki tudi L ∪ L', L ∘ L' in L*.
Dokaz: S podanimi KA, ki sprejemajo L, torej L', konstruiraj NKA, da sprejmejo L ∪ L', L ∘ L' in L*, kot prikazano. Podani KA so prikazani kot kvadrati z začetnim stanjem na levi in enim ustreznim stanjem (predstavljajoč vse druge) na desni. V vsakem primeru dodamo novo začetno stanje in nekatere ε-prehode, kot je prikazano.
![]() |
![]() |
![]() |
Definicija: S podano abecedo A, ugotovimo razred R(A) regularnih izrazov nad A na sledeči način:
Konstruiraj končni avtomat za deskriptorje:a, aa|ba|ε, (a(bb|a)*)*, b(a*(ba*)*)*|a