Szakdolgozat: Véges automaták és reguláris nyelvek kapcsolata
A szabály hosszredukció végrehajtásához adjuk hozzá a „Feldolgozás műveletei” listához a „Zsákutca mentesítés” kapcsolót. A szabály végrehajtása a „feldolgozás” gomb megnyomására történik. A szabály lefutása során kiírja az indulási állapotot és a lefutás utáni eredmény állapotot.
A zsákutca mentesítés folyamán a szabály halmazból eltávolítjuk azokat a szabályokat, amelyeket a kezdő állapotból kiindulva nem tudunk elérni, így nincsenek használva a feldolgozás során.
Figyelem: A következő egyszerűsített feltételezést nem jelenthetjük ki: van olyan NT elem a szabályok között, amelyik egyik szabály jobb oldalán sem található. Ha találunk ilyent, akkor a hozzá tartozó összes szabályt törölhetjük.
Az előző mondatok azért nem állják meg a helyüket, illetve rossz zsákutca mentesítéshez vezetnének, mert ha van két NT szabály amelyek egymásra mutatnak, de nincsenek kapcsolatuk a kezdő szimbólummal, akkor Ők az előző feltételezés szerint megmaradnának, de egy valóságos zsákutca mentesítés esetén mindkettőt törölni kell!
Kiinduló szabály halmaz:
A → Aa | b | a B → b | a C → a <-- jól látható, hogy ezen szabály (S kezdő szimbólum esetén) nincs használva S → ASB | b | a
Eredmény szabály halmaz:
A → Aa | b | a B → b | a S → ASB | b | a