logo

The Butterfly Project

Bevezetésnyil

Az alkalmazás

Rövid leírásnyil

Használati útmutató

Telepítés/Indítás

Futtatásnyil

Felületek

"Fő"nyil

"Új grammatika/automata"nyil

„2-es típusú grammatika algoritmusai”nyil

„CYK algoritmus"nyil

„3-as típusú grammatika algoritmusai”nyil

„Automaták algoritmusai”nyil

Algoritmusok felületenyil

Algoritmusok léptetésenyil

 

"Új grammatika|automata" ablak

uj

2. ábra: “Új grammatika/automata” beviteli ablak

A 2. ábrán látható felületen lehetőségünk nyílik új grammatika vagy automata bevitelére.

Elérés

Az alkalmazás elindítása után az alapfelületen (1. ábra) rögtön megjelenik ez az ablak. Ezt az ablakot az alapfelület menürendszerében található Fájl/Új megnyomásával is előhívhatjuk.

Grammatika megadása

A grammatika bevitelére háromféle lehetőségünk van:

    • grammatika varázsló
    • manuális bevitel
    • fájlból megnyitás

 

Grammatika Varázsló

grmvar

3. ábra: grammatika varázsló

  1. Az 1. pontban adjuk meg a nyelvtani jeleket, majd nyomjunk ENTER-t. Több nyelvtani jel megadása esetén elég lenyomni a nyelvtani jelnek megfelelő betűt a billentyűzeten, mivel a program automatikusan kiteszi a vessző(ke)t.
  2. A 2. pontban adjuk meg a produkciós szabályokat. Ahol nem adunk meg levezetést, ott azt a program automatikusan ε-nak tekinti. Az ε jelölésére a kényelmes használat érdekében a $ szimbólumot használjuk. Miután megadtunk egy lehetséges levezetést, elég SPACE-t nyomnunk és máris látjuk, hogy az adott mező kiegészül a “<szóköz>|<szóköz>“-zel. A terminális jeleket a produkciós szabályokból szűri ki az alkalmazás, tehát bevitelükkel nekünk nem kell foglalkoz-nunk.
  3. A “Tovább!” gombra kattintva (3. pont) megkapjuk a kész grammatikát.
    A program ezt a jobboldalon (4. pont) meg is jeleníti.
  4. Amennyiben számunkra megfelelő a grammatika, a “Tovább az algoritmusokhoz!” gombra kattintva megnyithatjuk az algoritmusokat lejátszó ablakot.
    Ez attól függően, hogy milyen típusú a nyelvünk, lehet a 8. ábrán látható vagy
    a 10. ábrán látható ablak.

 

Manuális (Grammatika)

grmman

4. ábra: grammatika manuális megadása

  1. Az 1.pontban adjuk meg a szabályrendszert. Az ε jelölésére a kényelmes használat érdekében a $ szimbólumot használjuk. Miután megadtuk, hogy mely nyelvtani jelhez (ez a sor elején szereplő nagy betű) szeretnénk szabályt megadni, elég a “–“ jelet lenyomnunk a billentyűzeten, és a program máris kiegészíti a nyíl maradék “>“ jelével, és egy szóközt tesz utána az áttekinthetőség kedvéért.
  2. A “Tovább!” gombra kattintva (2. pont) megkapjuk a kész grammatikát.
    A program ezt a jobboldalon (3. pont) meg is jeleníti.
  3. Amennyiben számunkra megfelelő a grammatika, a “Tovább az algoritmusokhoz!” gombra kattintva megnyithatjuk az algoritmusokat lejátszó ablakot.
    Ez attól függően, hogy milyen típusú a nyelvünk, lehet a 8. ábrán látható vagy
    a 10. ábrán látható ablak.

 

Megnyitás

grmmegnyit

5. ábra: grammatika megnyitása fájlból

  1. A “Nyelv megnyitása” (1. pont) gombra kattintva meg kell nyitni a beolvasni kívánt fájlt.
  2. A 2. pontban még módosíthatjuk a beolvasott fájlt. Az ε jelölésére a kényelmes használat érdekében a $ szimbólumot használjuk. Itt ugyanazok a funkciók segítik a bevitelt, mint a Manuális bevitel ablaknál.
  3. A “Tovább!” gombra kattintva (3. pont) megkapjuk a grammatikát. A program ezt a jobboldalon (4. pont) meg is jeleníti.
  4. Amennyiben számunkra megfelelő a grammatika, a “Tovább az algoritmusokhoz!” gombra kattintva megnyithatjuk az algoritmusokat lejátszó ablakot.
    Ez attól függően, hogy milyen típusú a nyelvünk, lehet a 8. ábrán látható vagy
    a 10. ábrán látható ablak

 

Automata megadása

Az automata bevitelére kétféle lehetőségünk van: az automata varázsló használata és a fájlból történő megnyitás.

 

Automata Varázsló

autvar

6. ábra:  automata varázsló

  1. Az 1. pontban adjuk meg a terminális jeleket. Elég a terminálisoknak megfelelő betűket lenyomni a billentyűzeten, mert a program automatikus kiteszi a vessző(ke)t.
  2. A 2. pontban választhatunk az egyszerű és a bonyolult automata megadása között. Az egyszerű automata nyelvtani jelei (állapotai) között csak nagybetűk szerepelhetnek (például: S,A,B). A bonyolult automata nyelvtani jelei között számok és az aposztróf jel is szerepelhet egy meghatározott formában. Ezáltal nyelvtani jel halmazokat tudunk megadni vele  (például: {S’, X1}).
  3. A 3. pontban adjuk meg a nyelvtani jeleket/állapotokat/állapot-halmazokat. Amennyiben egyszerű automatát kívánunk bevinni, úgy a könnyebb bevitel érdekében az automata állapot-halmazait jelölő {} jeleket a program kiteszi helyettünk. Továbbá elegendő az állapotnak megfelelő betűt beírni, mivel a program kiteszi helyettünk a vessző(ke)t. Ellenkező esetben nekünk kell kitenni a {} és a vessző jeleket.
  4. A 4. pontban tudjuk megadni az átmeneteket. Továbbá itt kell megadni, hogy mely állapotok legyenek a végállapotok, illetve melyik állapot legyen a kezdőállapot. Mivel egy automata állapot-halmazzal van definiálva, ezért az első oszlopban {} között szerepelnek a megadott állapotok.
    • Ha bonyolult automatát adtunk meg korábban, akkor az átmenetek között is {} jelek között kell megadnunk egy állapotot.
    • Ha egyszerű automatát adtunk meg, elég beírni a {} között szereplő állapotok nevét. A program a {} jeleket kiteszi helyettünk. Továbbá elegendő az állapotnak megfelelő betűt beírni, mivel a program kiteszi helyettünk a vessző(ke)t.
  5. A “Tovább!” gombra kattintva (5. pont) megkapjuk az automatát. A program ezt a jobboldalon (6. pont) meg is jeleníti.
  6. Amennyiben számunkra megfelelő az automata, a “Tovább az algoritmusokhoz!” gombra kattintva megnyithatjuk az algoritmusokat lejátszó ablakot.
  7.  

    Megnyitás

    autmegnyit

    7. ábra:  automata megnyitása fájlból

  1. Az “Automata megnyitása” (1. pont) gombra kattintva nyissuk meg a beolvasni kívánt fájlt.
  2. A 2. pontban tudjuk módosítani a terminális jelek listáját. Elég a termináli-soknak megfelelő betűket lenyomni a billentyűzeten, mert a program automatikus kiteszi a vessző(ke)t. A módosítás akkor lép életbe, ha lenyomjunk az ENTER-t. Ekkor viszont újra meg kell adnunk az 4. pontban szereplő információkat.
  3. A 3. pontban tudjuk módosítani a nyelvtani jelek/állapotok/állapot-halmazok listáját. Amennyiben ENTER-t nyomunk, életbe lép a módosítás. Ekkor azonban újra meg kell adnunk a 4. pontban szereplő információkat. A megnyitás funkcióban csak bonyolult automatát (nyelvtani jelei között számok és az aposztróf jel is szerepelhet, továbbá állapot-halmazokat tudunk vele definiálni. Például: {S’, X1} ) lehet megadni.
  4. A 4. pontban tudjuk megadni az átmeneteket. Továbbá itt kell megadni, hogy mely állapotok legyenek a végállapotok, illetve melyik állapot legyen a kezdőállapot. Mivel ebben az ablakban csak bonyolult automatát tudunk megadni, ezért az átmenetek között is a {} jelek között kell megadnunk egy állapotot.
  5. A “Tovább!” gombra kattintva (5. pont) megkapjuk az automatát. A program ezt a jobboldalon (6. pont) meg is jeleníti.
  6. Amennyiben számunkra megfelelő az automata, a “Tovább az algoritmusokhoz!” gombra kattintva megnyithatjuk az algoritmusokat lejátszó ablakot.

The Butterfly Project
Váraljai Fruzsina