Eliminacija nekorisnih simbola

Извор: testwiki
Датум измене: 15. октобар 2024. у 20:24; аутор: imported>FelixBot (DEFAULTSORT → СОРТИРАЊЕ)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу

Eliminacija nekorisnih simbola se odvija u dva koraka:[1]

1. korak

U prvom koraku se eliminišu oni pomoćni simboli -{X}- iz kojih se ne može izvesti nijedna reč koja se sastoji od završnih simbola. Eliminacija se vrši na osnovu sledećih rekurzivnih definicija:

  1. XN je koristan ako u gramatici postoji bar jedno pravilo oblika Xx,xΣ*
  2. XN je koristan ako postoji bar jedno pravilo takvo da je Xα, a α se sastoji samo od korisnih simbola iz -{N}- i simbola iz Σ

Simboli koji nisu korisni se ukljanjaju iz skupa -{N}- i tako se dobija novi skup pomoćnih simbola -{N}-' i pravila -{P}-'. Ovako modifikovana gramatika ekvivalentna je polaznoj gramatici.

2. korak

U drugom koraku se eliminišu nedostupni simboli iz ΣN. Eliminacija se vrši na osnovu sledećih rekurzivnih pravila:

  1. SN je dostupan simbol.
  2. Simboli koji se pojavljuju na desnoj strani pravila dostupnih simbola su dostupni simboli.

Simboli koji se ne identifikuju u ovom koraku su nedostupni, pa se odstranjuju iz skupa -{N}-’, što daje novi skup pomoćnih simbola -{N}-’’. Dobijena gramatika je ekvivalentna polaznoj gramatici.

Primer

Neka je gramatika -{G}- nad Σ={a,b}, gde je N={S,A,B,C,D,E}, -{S}- početni simbol, a skup pravila -{P}-:

SAB|CA

Aa

BAB|EA

CaB|b

DaC

EBA

Prema prvom koraku, kao korisni simboli prvo se identifikuju -{A}- i -{C}-, a zatim još -{S}- i -{D}-. Tada, N={S,A,C,D}, a skup pravila -{P’}- postaje:

SCA

Aa

Cb

DaC

U drugom koraku biće eliminisan simbol -{D}- jer je nedostupan iz simbola -{S}-. Tada N={S,A,C}, a skup pravila -{P’’}-:

SCA

Aa

Cb

Pogledajte još

Beleške

Шаблон:Reflist

Шаблон:Normativna kontrola

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