Toggle menu
310,1 tis.
50
18
525,6 tis.
Hrvatska internetska enciklopedija
Toggle preferences menu
Toggle personal menu
Niste prijavljeni
Your IP address will be publicly visible if you make any edits.

Regularna gramatika

Izvor: Hrvatska internetska enciklopedija

U računarstvu, regularna gramatika (još i pravilna gramatika[1]) je desna regularna gramatika ili desno-linearna gramatika ako je formalna gramatika (N, Σ, P, S) kojoj su sve produkcije iz skupa P oblika:

  1. Aa - gdje je A nezavršni znak u N i a je završni znak u Σ
  2. AaB - gdje su A i B u N i a je u Σ
  3. A → ε - gdje je A u N i ε označava prazni niz, tj. niz duljine 0.

U lijevoj regularnoj gramatici ili lijevo-linearnoj gramatici su sve produkcije oblika:

  1. Aa - gdje je A nezavršni znak u N i a je završni znak u Σ
  2. ABa - gdje su A i B u N i a je u Σ
  3. A → ε - gdje je A u N i ε je prazni niz.

Primjer desno-linearne gramatike je G sa N = {S, A}, Σ = {a, b, c}, P se sastoji od sljedećih produkcija:

S → aS
S → bA
A → ε
A → cA

S je početni nezavršni znak. Ova gramatika opisuje isti jezik kao i regularni izraz a*bc*.

Regularna gramatika je lijevo-linearna ili desno-linearna regularna gramatika.

Uvod

Regularne gramatike opisuju točno sve regularne jezike i u tom su smislu istovjetne konačnim automatima i regularnim izrazima. Štoviše, desno-linearne regularne gramatike su same istovjetne regularnim jezicima, baš kao što su i lijevo-linearne regularne gramatike.

Svaka regularna gramatika je kontekstno neovisna gramatika.

Svaka kontekstno neovisna gramatika se može lako zapisati u obliku u kojem je korištena samo kombinacija desnih i lijevih regularnih produkcija. Stoga takve gramatike mogu opisati sve kontekstno neovisne jezike. Regularne gramatike, koje koriste ili lijevo-linearne ili desno-linearne produkcije ali ne i obje, mogu generirati samo manji podskup jezika zvan regularni jezici. U tom su smislu one istovjetne sa konačnim automatima i regularnim izrazima. Kao ilustraciju možemo navesti kanonski primjer kontekstno neovisnog jezika za svim nizovima znakova oblika kojeg generira gramatika G sa N = {S, A}, Σ = {a, b}, te produkcijama u P:

S → aA
A → Sb
S → ε

gdje je S početni nezavršni znak. Uočimo da ova gramatika ima i lijevo-linearne i desno-linearne produkcije te stoga više nije regularna.

Neki udžbenici zabranjuju uporabu praznih produkcija (ε-produkcija) i pretpostavljaju da prazni niz nije prisutan u jezicima.

Izvori

  1. Kiš Miroslav, Englesko-hrvatski i hrvatsko-engleski informatički rječnik, Zagreb, Naklada Ljevak, 2000., str. 785
Teorija automata: formalni jezici i formalne gramatike
Chomskyjeva
hijerarhija
Gramatike Jezici Minimalni
automat
Tip 0 Neograničenih produkcija Rekurzivno prebrojiv Turingov stroj
n/a (nema uobičajenog imena) Rekurzivni Odlučitelj
Tip 1 Kontekstno ovisna Kontekstno ovisni Linearno ograničen
n/a Indeksirana Indeksirani Ugniježđenog stoga
Tip 2 Kontekstno neovisna Kontekstno neovisni Nedeterministički potisni
n/a Deterministička kontekstno neovisna Deterministički kontekstno neovisni Deterministički potisni
Tip 3 Regularna Regularni Konačni
Svaka kategorija jezika ili gramatika je pravi podskup nadređene kategorije.