Felhasználói eszközök

Eszközök a webhelyen


szakdoli:szabalykezel

Ez a dokumentum egy előző változata!


Szakdolgozat: Véges automaták és reguláris nyelvek kapcsolata

Reguláris nyelv modul felépítése, kezelése

Terminális és nem terminális elemek kijelölése

A feladat kiírásakor peremfeltételként volt meghatározva, hogy először legyenek kijelölve a terminális (továbbiakban: T) és nem terminális (továbbiakban: NT) elemek, majd csak utána lehessen szabályokat alkotni. Ezért a felső részben megjelenítem a lehetséges T és NT elemeket. Ezzel korlátozva a szabályok létrehozásának lehetőségét. A T és NT sorokban található gombokra kattintva tudjuk kijelölni azt az elemet, amelyet használni szeretnénk a szabály felépítésekor. Az 'S' jelű NT elem automatikusan ki van jelölve, mivel Ő a kezdő elem. És bár a kezdő elem egyéb esetben tetszőlegesen választható az NT elemek közül, ebben a feladatban ezt fixáltuk és mindig kijelölt elemként jelenik meg! (törlése nem lehetséges)

Az ABC betűinek használatát kínálom fel a választáskor. A T elemek a kisbetűket, a NT elemek a nagybetűket tartalmazzák. 'A'-tól 'Z' karakterig listázom az angol ABC szerint a betűket. A karakterekből eltávolítottam az 'I', 'L' és 'O' karaktereket, mivel megtévesztőek lehetnek és a T és NT összekeverhetővé válhat egyes fontkészletek esetében. Ezzel a megszorítással 23 lehetőséget kínálok fel választásra az egyes csoportokban.

Szabály szerkesztése

A szabály szerkesztésében bevezettem bizonyos korlátozásokat:
- Csak a korábban kijelölt N és NT elemeket lehet felhasználni szabály készítésekor
- A bal oldalon csak 1 darab NT elemet lehet választani. Ezzel lekorlátoztam a létrehozható szabályok körét a Chomsky-féle 2-es és 3-as kategóriára.

Egy szabály elkészítésekor lehetőségünk van a legördülő választó mezőkből kiválasztani a szükséges T és NT elemet. Ha a felső részben engedélyezzük a használatát azaz kiválasztunk egy T vagy NT elemet, az azonnal megjelenik a legördülő listában található elemek között. Így bármikor változtathatunk a szükséges N és NT elemek között.

Figyelem: ha viszont törlünk egy engedélyezést a T vagy NT elemek között, akkor viszont azonnal törlődnek azok a szabályok a szabály halmazból amelyek tartalmazzák a most már nem engedélyezett T vagy NT elemet! Ezzel a megszorítással mindig konzisztens marad az elemek kijelölése a szabály halmazzal.

A szerkesztett szabály tagjainak számát lehet bővíteni vagy csökkenteni a '+' és '-' gombok segítségével. A minimális tagok száma egy, de a maximális tagok száma nincs korlátozva.

Ha elkészültünk a szabály szerkesztésével, akkor a 'Szabály felvétele a szabályhalmazba' gomb segítségével tudjuk a szabály halmaz közé rögzíteni az új szabályt.

Lehetőségünk van egy adott szabályt törölni a szabály halmazból az adott szabály mellett található 'Törlés' gomb segítségével. Mivel egy-egy szabály szerkezete viszonylag egyszerű, ezért nem láttam szükségesnek egy módosítás funkció létrehozását. Módosítás esetén kövessük a következő folyamatot: törlés majd új szabály felvétele.

Szabályhalmaz feldolgozásának műveletei

Szabályhalmaz feldolgozási műveletek beállításai

Max mélység

A 'max. mélység' beállításával azt állíthatjuk be, hogy amikor a szabályhalmaz alkalmazásával a rendszer előállítja a lehetséges szavakat, akkor rekurzívan milyen mélységig kövesse a szabályokat a rendszer.

Pl. A→aA szabály esetében a végtelenségig lehetne 'a' karaktert tartalmazó szavakat előállítani. Ezen beállítással ez lekorlátozható pl. maximum 10 karakter hosszú szóra.

Max szó

A 'max. szó' beállításával azt állíthatjuk be, hogy mennyi legyen a maximálisan előállított szavak száma. Az előző pontban is említett példa esetében ez végtelen lenne, ennek a beállításnak az alkalmazásával ez lekorlátozható pl. maximum 1000 db szóra.

Szavak

A szavak előállításának végeredményét lehet szabályozni ezzel a kapcsolóval. A szavak megjelenési formátumát tudjuk szabályozni.

Egyedi szavak megjelenítése

A rendszer csoportosítja az egyes szavakat és minden szórt csak egyszer jelenít meg, és megmutatja a szó mellett a szó előfordulási mennyiségét is. A szavak ebben az esetben ABC sorrendben jelennek meg.

Minden szó megjelenítése

Minden egyes szót megjelenít a rendszer. Így előfordulhat, hogy egy szó többször is meg fog jelenni a listában. Ezzel a beállítással végig tudjuk követni a szavak előállítási sorrendjét (nincs sorba rendezés).

Szabályhalmaz eltárolása

Eltárolt szabályhalmazok kezelése

szakdoli/szabalykezel.1454963228.txt.gz · legutóbbi módosítás: (külső szerkesztés)