Převody mezi CF gramatikami a zásobníkovými automaty

Zpět k programu

Popis práce s programem

Okno spuštěné aplikace je rozděleno na dvě části. V levé polovině (zelená barva) se nachází definice, zobrazení a obsluha bezkontextové gramatiky. V pravé polovině (modrá barva) je definice, vykreslení a obsluha zásobníkového automatu.

Vlastní definice bezkontextové gramatiky nebo zásobníkového automatu se provádí v horní části příslušného pole. Jsou zde připraveny editační řádky pro všechny definiční symboly, přepisovací pravidla a přechodové relace. Tlačítko add symbol nebo pravidlo do definice přidává, tlačítko del naopak odebírá symbol nebo pravidlo, které je vybrané v příslušném výběrovém seznamu. Tlačítko split provádí přidání všech prvků, které jsou v příslušném editačním řádku zapsány a odděleny čárkami. Je zde také možnost pomocí výběrových seznamů vybrat bezkontextovou gramatiku nebo zásobníkový automat z předdefinovaných možností.

V prostřední části obou polí je prostor pro zobrazení nadefinované bezkontextové gramatiky nebo zásobníkového automatu. Jsou zde umístěna tlačítka pro převod bezkontextové gramatiky na zásobníkový automat a naopak. Výsledek převodu je zobrazen v opačném poli.

V dolní části pole bezkontextové gramatiky se nachází prostor pro transformace gramatiky. Ve výběrovém seznamu lze zvolit typ transformace. Stisknutím tlačítka transformovat se provede příslušná transformace vstupní gramatiky a výsledná gramatika se zde zobrazí. Také tuto gramatiku je možné převést na ekvivalentní zásobníkový automat.

Spodní část pole zásobníkového automatu je vyhrazena pro kreslící plátno, ve kterém je zásobníkový automat zobrazován graficky. Pomocí myši lze pohybovat s uzly grafu, které představují stavy automatu. Tímto způsobem je možné dosáhnout požadovaného zobrazení automatu. Kreslící plátno je možné využít také pro vlastní definici zásobníkového automatu pomocí myši. Návod pro kreslení automatu na kreslící plátno je popsán v následující kapitole.

Ovládání kreslení automatu

Přidat stav: Přidat přechod: Zaměřit stav: Zaměřit přechod: Pohyb uzlu (stav automatu): Přejmenovat stav: Odstranit stav: Nastavit jako koncový stav: Odstranit přechod: Editovat přechodové hodnoty: Zpět k programu