szakdoli:szabalykezel
Összehasonlítás
A kiválasztott és az jelenlegi változat között az alábbi különbségek fordulnak elő:
| Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat | ||
| szakdoli:szabalykezel [2016/02/08 20:46] – [Szabályhalmaz feldolgozásának műveletei] peter | szakdoli:szabalykezel [2016/04/15 23:41] (aktuális) – [Szabály szavainak előállítása] peter | ||
|---|---|---|---|
| Sor 1: | Sor 1: | ||
| [[szakdoli: | [[szakdoli: | ||
| ====== Reguláris nyelv modul felépítése, | ====== Reguláris nyelv modul felépítése, | ||
| + | Megjegyzés: | ||
| + | |||
| ===== Terminális és nem terminális elemek kijelölése ===== | ===== Terminális és nem terminális elemek kijelölése ===== | ||
| A feladat kiírásakor peremfeltételként volt meghatározva, | A feladat kiírásakor peremfeltételként volt meghatározva, | ||
| Sor 33: | Sor 35: | ||
| Ezek nagy része külön leírásban van részletezve, | Ezek nagy része külön leírásban van részletezve, | ||
| ==== Szabály konvertálása automatává ==== | ==== Szabály konvertálása automatává ==== | ||
| + | Ezen algoritmus kiválasztása a következő algoritmusok sorrendjében ajánlott: | ||
| + | - Láncszabály mentesítés | ||
| + | - Zsákutca mentesítés | ||
| + | - Szabály hosszredukció | ||
| + | - Szabály konvertálása automatává | ||
| + | A felsorolt szabályok készítik elő egy nyelvi szabályhalmazt olyan állapotba, hogy átalakítható legyen automata szerkezetté. Az algoritmus csak akkor engedi az átalakítást miután megvizsgálta, | ||
| + | A→aA | ||
| + | A→a | ||
| + | A→λ | ||
| + | Az algoritmus végeredménye | ||
| + | - hibaüzenet: | ||
| + | - konvertálás végrehajtódott, | ||
| + | Figyelem: Ezen pont alkalmazása sikeres végrehajtás esetén a jelenlegi automata törlésével/ | ||
| ==== Szabály szavainak előállítása ==== | ==== Szabály szavainak előállítása ==== | ||
| Lehetőség van arra, hogy megtekintsük a szabályhalmaz által generálható szavakat. Az előállításhoz több beállítás is tartozik, amelyeket a következő nagy pontban részletezek. | Lehetőség van arra, hogy megtekintsük a szabályhalmaz által generálható szavakat. Az előállításhoz több beállítás is tartozik, amelyeket a következő nagy pontban részletezek. | ||
| - | Ezt természetesen úgy is megtehetjük, | + | Figyelem: A szavak előállítása sokszor nagy számítási és idő igényű, ezért a beállításoknál csak akkor alkalmazzunk nagy értékeket ha már megbizonyosodtunk, |
| + | |||
| + | Amennyiben valamely korlátozó feltétel miatt állt le a szavak előállítási folyamata (pl. elérte az 1000 db szó korlátot az előállított szavak száma), tehát a generálási folyamat meg lett szakítva és ezáltal nem a teljes halmazt állította elő a rutin, akkor megjelenik egy figyelmeztető üzenet: "Nincs előállítva az összes lehetséges szó!" | ||
| + | |||
| + | Természetesen azt is megtehetjük, | ||
| + | |||
| + | A szabály szavainak előállításakor nem csak a generált szavakat listázza a rendszer, hanem a szavak előállítási módját is megmutatja. | ||
| + | |||
| + | Pl.: [S→aA] [a**A**, A→aB] [aa**B**, B→λ] [aa] | ||
| + | |||
| + | A példában jól látható, hogy a vastag betűvel jelölt NT tag kifejtése történik a mellette szereplő nyelvtani szabály alkalmazásával. Az így kapott eredmény a következő blokkban láthatjuk. Az első blokk a kiinduló szabályt mutatja, az utolsó blokk pedig a létrehozott szót. | ||
| + | |||
| + | Az " | ||
| + | |||
| ===== Szabályhalmaz feldolgozási műveletek beállításai ===== | ===== Szabályhalmaz feldolgozási műveletek beállításai ===== | ||
| - | ==== Max mélység ==== | + | ==== Max. mélység ==== |
| A 'max. mélység' | A 'max. mélység' | ||
| Pl. A→aA szabály esetében a végtelenségig lehetne ' | Pl. A→aA szabály esetében a végtelenségig lehetne ' | ||
| - | ==== Max szó ==== | + | ==== 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. | 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. | ||
| + | ==== Max. futási idő ==== | ||
| + | Lehetőségünk van korlátozni a szavak előállításának futási idejét másodpercben megadva. Így megakadályozhatjuk, | ||
| ==== Szavak ==== | ==== 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. | 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 === | === Egyedi szavak megjelenítése === | ||
| - | A rendszer csoportosítja az egyes szavakat és minden | + | A rendszer csoportosítja az egyes szavakat és minden |
| === Minden szó megjelenítése === | === Minden szó megjelenítése === | ||
| Minden egyes szót megjelenít a rendszer. Így előfordulhat, | Minden egyes szót megjelenít a rendszer. Így előfordulhat, | ||
| + | |||
| ===== Szabályhalmaz eltárolása ===== | ===== Szabályhalmaz eltárolása ===== | ||
| Lehetőségünk van eltárolni egy adott nyelvi szabályhalmazt. Meg kell adni egy elnevezést, | Lehetőségünk van eltárolni egy adott nyelvi szabályhalmazt. Meg kell adni egy elnevezést, | ||
szakdoli/szabalykezel.1454964404.txt.gz · legutóbbi módosítás: (külső szerkesztés)
