Елиминација некорисних симбола
Елиминација некорисних симбола се одвија у два корака:[1]
1. корак
У првом кораку се елиминишу они помоћни симболи X из којих се не може извести ниједна реч која се састоји од завршних симбола. Елиминација се врши на основу следећих рекурзивних дефиниција:
- је користан ако у граматици постоји бар једно правило облика
- је користан ако постоји бар једно правило такво да је , а α се састоји само од корисних симбола из N и симбола из Σ
Симболи који нису корисни се укљањају из скупа N и тако се добија нови скуп помоћних симбола N' и правила P'. Овако модификована граматика еквивалентна је полазној граматици.
2. корак
У другом кораку се елиминишу недоступни симболи из . Елиминација се врши на основу следећих рекурзивних правила:
- је доступан симбол.
- Симболи који се појављују на десној страни правила доступних симбола су доступни симболи.
Симболи који се не идентификују у овом кораку су недоступни, па се одстрањују из скупа N’, што даје нови скуп помоћних симбола N’’. Добијена граматика је еквивалентна полазној граматици.
Пример
уредиНека је граматика G над , где је , S почетни симбол, а скуп правила P:
Према првом кораку, као корисни симболи прво се идентификују A и C, а затим још S и D. Тада, , а скуп правила P’ постаје:
У другом кораку биће елиминисан симбол D јер је недоступан из симбола S. Тада , а скуп правила P’’:
Погледајте још
уредиБелешке
уреди- ^ Извор комплетног чланка: „Преводиоци и интерпретатори - увод у теорију и методе компилације програмских језика“ - Душко Витас.