Eliminacija jednostrukih pravila

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 уреди

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š уреди

Beleške уреди

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