Eliminacija jednostrukih pravila

S Vikipedije, slobodne enciklopedije

Neka je data KS-gramatika . Pretpostavimo da je u gramatici G nema nekorisnih simbola, ni ε-pravila. Postupak eliminacije jednostrukih pravila se svodi na postupak traženja svih izvođenja oblika:[1]

Ovaj postupak se vrši rekurzivno polazeći od jednostrukih pravila. Kad god se pronađe izvođenje gornjeg oblika, pravilima koja na levoj strani imaju X dodaju se desne strane svih pravila koja nisu jednostruka, a koja na levoj strani imaju simbol Y, dok se jednostruka Y-pravila uklanjaju. Ovako transformisana gramatika može imati nekorisnih simbola, koje treba eliminisati. Dobijena gramatika je ekvivalentna polaznoj gramatici, a nema nekorisnih simbola, kao ni jednostrukih ili ε-pravila.

Primer[uredi | uredi izvor]

U gramatici oslobođenoj od ε-pravila:

(1)
(2)

jedino jednostruko izvođenje je . Zamenom simbola S na desnoj strani pravila (1) dosnom stranom pravila (2), dobija se sledeća gramatika bez jednostrukih pravila:

(1)
(2)

Pogledajte još[uredi | uredi izvor]

Beleške[uredi | uredi izvor]

  1. ^ Izvor kompletnog članka: „Prevodioci i interpretatori - uvod u teoriju i metode kompilacije programskih jezika“ - Duško Vitas.