Елиминација некорисних симбола

Елиминација некорисних симбола се одвија у два корака:[1]

1. корак

У првом кораку се елиминишу они помоћни симболи X из којих се не може извести ниједна реч која се састоји од завршних симбола. Елиминација се врши на основу следећих рекурзивних дефиниција:

  1. је користан ако у граматици постоји бар једно правило облика
  2. је користан ако постоји бар једно правило такво да је , а α се састоји само од корисних симбола из N и симбола из Σ

Симболи који нису корисни се укљањају из скупа N и тако се добија нови скуп помоћних симбола N' и правила P'. Овако модификована граматика еквивалентна је полазној граматици.

2. корак

У другом кораку се елиминишу недоступни симболи из . Елиминација се врши на основу следећих рекурзивних правила:

  1. је доступан симбол.
  2. Симболи који се појављују на десној страни правила доступних симбола су доступни симболи.

Симболи који се не идентификују у овом кораку су недоступни, па се одстрањују из скупа N’, што даје нови скуп помоћних симбола N’’. Добијена граматика је еквивалентна полазној граматици.

Пример

уреди

Нека је граматика G над  , где је  , S почетни симбол, а скуп правила P:

 

 

 

 

 

 

Према првом кораку, као корисни симболи прво се идентификују A и C, а затим још S и D. Тада,  , а скуп правила P’ постаје:

 

 

 

 

У другом кораку биће елиминисан симбол D јер је недоступан из симбола S. Тада  , а скуп правила P’’:

 

 

 

Погледајте још

уреди

Белешке

уреди
  1. ^ Извор комплетног чланка: „Преводиоци и интерпретатори - увод у теорију и методе компилације програмских језика“ - Душко Витас.