POPIS TESTOVACÍHO PROSTEDÍ Testovací prostedí je navrženo jako tízáložková aplikace, každá záložka obsahuje logicky související funkce. Testovací prostedí obsahuje následující ti záložky: Analýza Gramatiky Objekty 1 ZÁLOŽKA PARSER Tato záložka slouží pro vlastní rozpoznávání objekt, které lze vytvoit na záložce Objekty, gramatikami vytvoenými run nebo editorem ze záložky Gramatiky. V levé ásti formuláe (viz obr. A) je zobrazen výbr disku, adresá a soubor, které obsahují. Zobrazují se pouze gramatiky (soubory s píponou *.grm) a objekty (soubory s píponou *.obj). Operace pístupné z tlaítek umístných ve stední ásti formuláe slouží pro práci se Seznamem gramatik k analýze a Seznamem objekt. Operace s gramatikami jsou následující: Pidání vybrané gramatiky ze souboru do Seznamu gramatik k analýze. Odebrání vybrané gramatiky ze Seznamu gramatik k analýze. Úprava zvolené gramatiky ze Seznamu gramatik k analýze, tedy testovací prostedí zobrazí záložku Gramatiky a zvolená gramatika se nate pro editaci. Smazání souboru se zvolenou gramatikou. Pod tlaítky s tmito funkcemi je zobrazen Seznam gramatik k analýze. Operace s etzci (viz obr. A) jsou následující: Pidání etzce popisujícího testovací objekt ze souboru do Seznamu objekt. Odebrání etzce popisujícího testovací objekt ze Seznamu objekt. Úprava zvoleného etzce popisující testovací objekt ze seznamu, tedy testovací prostedí zobrazí záložku Objekty a zvolený etzec se nate pro editaci. Zaazení etzce popisujícího testovací objekt ze Seznamu objekt jako vstupního etzce k analýze. Pod tlaítky s tmito funkcemi je zobrazen Seznam objekt. Pravá ást formuláe písluší vlastnímu rozpoznávání objekt (viz obr. A). Nejdležitjší je EditBox Vstupní etzec pedstavující vstupní etzec (objekt k rozpoznání) analýzy. Je do nj možno vložit nkterý z pedem vytvoených etzc nebo ho lze run editovat. Nad tímto EditBoxem jsou volby ovlivující analýzu: Podrobný výpis analýzy zda zobrazovat Podrobný výpis analýzy, tato funkce významn prodlužuje asovou náronost analýzy.
Mení asu analýzy do výpisu jsou zahrnuty doby analýzy, mírn prodlužuje asovou náronost analýzy. Optimalizace gramatiky jedná se o optimalizaci gramatiky pro konkrétní vstupní slovo popsanou v kapitole 5.5.10 dizertaní práce. Uvažovat e-pravidla e-pravidla mohou být pro nkteré pípady analýzy nezbytná (pokud je etzec popisující rozpoznávaný deformovaný objekt kratší než etzec popisující nedeformovaný vzor). E-pravidla mají negativní vliv na rychlost analýzy, a tedy by mla být použita, jen když jsou opravdu nezbytná. Obr. A Záložka Analýza V pravé dolní ásti se nacházejí dva výpisy analýzy, zcela dole Výpis analýzy (není na formulái pojmenován), zobrazující veškeré dležité informace o prbhu a výsledcích analýzy daného vstupního slova a seznamu gramatik. Dále je zde Podrobný výpis analýzy, což je detailní výpis innosti Earlyho parseru, výpis všech jeho stav. Po dokonení analýzy njakého vstupního etzce se zpístupní funkce umožující tyto výpisy uložit na disk do textového souboru. Tlaítko Analýza slouží ke spuštní vlastní analýzy. 2
2 ZÁLOŽKA GRAMATIKY Tato záložka obsahuje editor gramatik. V levé ásti formuláe (viz. obr. B) jsou pístupné základní operace s gramatikami: Otevení gramatiky oteve zvolený soubor obsahující gramatiku a zobrazí ji. Uložení gramatiky uloží práv editovanou gramatiku do zvoleného souboru. Nová gramatika vytvoí zcela novou, prázdnou gramatiku. Obr. B Záložka Gramatiky Zcela dole je umístn CheckBox indikující, zda byla provedena njaká doposud neuložená zmna gramatiky. Výpis gramatiky (jméno gramatiky, poátení symbol gramatiky, pravidla gramatiky, seznam terminálních a neterminálních symbol) je ve stední ásti záložky. Terminální symboly jsou ve výpisu gramatiky reprezentovány malými písmeny abecedy, neterminály velkými písmeny abecedy a deformaní neterminály dvojicí znak z nichž první je znak _ + malé písmeno abecedy. V pravé ásti záložky se nacházejí dv skupiny funkcí, horní skupina obsahuje základní operace s pravidly práv editované gramatiky: Pidej pravidlo pidá do gramatiky pravidlo, jehož LHS, RHS a váhu zadáme. 3
Smaž pravidlo smaže vybrané pravidlo. Zm poátení symbol zmní poátení symbol gramatiky na nov zadaný symbol. Zm název gramatiky zmní jméno gramatiky na nov zadané. Uprav pravidlo upraví vybrané pravidlo, lze editovat LHS, RHS a váhu pravidla. Po ukonení editace pravidla se zmny potvrdí pomocí tlaítka Zapiš zmny Skupina funkcí z pravé dolní ásti záložky slouží k vytváení pravidel rozšíené deformaní gramatiky. Je zde indikátor, zda editovaná gramatika je deformaní (tedy zda již byla vytvoena rozšíená deformaní pravidla). Edit boxy slouží k nastavení jednotlivých vah deformaní gramatiky, jejich zmny se zapíší pomocí tlaítka Zapsáni nových vah. Rozšíená deformaní gramatika se vytvoí pomocí tlaítka Udlej z gramatiky deformaní. 3 ZÁLOŽKA OBJEKTY Tato záložka obsahuje editor objekt. Vtšinu záložky zabírá bílá kreslící plocha pro kreslení objekt, pouze v pravé ásti (viz. obr. C) jsou tlaítka ovládající jednotlivé funkce editoru objekt: Obr. C Záložka Objekty Nový objekt smaže kreslící plochu a vytvoí nový prázdný objekt, neuložené nakreslené objekty se automaticky neukládají. 4
Otevi objekt oteve soubor s objektem a zobrazí jej, neuložené nakreslené objekty se automaticky neukládají. Ulož objekt uloží objekt do souboru na disk. Zaa objekt do seznamu objekt k analýze vloží etzec popisující nakreslený objekt do EditBoxu Vstupní etzec záložky Analýza. Vytvo gramatiku pro nakreslený objekt vytvoí pro nakreslený objekt nedeformaní gramatiku zadaného jména, schopnou nakreslený objekt generovat, následn je zobrazena záložka Gramatiky se zobrazenou práv vytvoenou gramatikou. Délka primitiv v tomto EditBoxu lze nastavit délku primitiv práv kresleného objektu. Indikátor uzavené kivky tento CheckBox indikuje bhem kreslení objektu, zda je hranice kresleného objektu uzavená. etzec ve spodní ásti záložky je prbžn zobrazován etzec popisující kreslený objekt. Délka etzce v pravé spodní ásti záložky je zobrazována délka etzce popisujícího nakreslený objekt ve znacích. Kreslení primitiv objektu pro vlastní kreslení objektu slouží tlaítka odpovídající jednotlivým primitivm osm smr úseek a dva oblouky (pro zjednodušení kreslení rozdleny do osmi ástí). Nezbytnou souástí kreslení je i tlaítko pro krok zpt, tedy smazání naposledy nakresleného primitiva. 4 POPIS PRÁCE S TESTOVACÍM PROSTEDÍM Popis práce s testovacím prostedím názorn ukážeme na píkladu. Testovací prostedí spustíme a zobrazíme záložku Objekty. Kreslení je kvli snadné návaznosti primitiv na sebe a jednoduché detekci uzavenosti hranice objektu znan zjednodušené. Objekt zaneme kreslit pomocí dvojkliku myši v míst, kde požadujeme první bod objektu. Poátení bod je zvýraznn erným tvercem. Nakreslíme jednoduchý objekt podle obr. D. 5
Obr. D Píklad objektu V pípad, že v prbhu kreslení objektu udláme chybu nebo je poteba kreslený objekt zmnit, lze využít tlaítka Zpt. Jeho opakovanou aplikací lze smazat celý objekt až na poátení bod. Objekt uložíme na disk pod jménem TestND.obj (nejlépe do adresáe /Objects) a pomocí tlaítka Vytvo gramatiku pro nakreslený objekt vytvoíme gramatiku jménem Test. V testovacím prostedí se nám zobrazí záložka gramatiky, kde gramatiku Test uložíme (nejlépe do adresáe /Grammars) pod jménem TestND.grm. Pomocí tlaítka Udlej z gramatiky deformaní vytvoíme deformaní gramatiku a uložíme ji pod jménem Deformovana_Test.grm. Ilustrováno na obr. E. 6
Obr. E Vytvoená deformaní gramatika Dále zobrazíme záložku Analýza, kde do Seznamu gramatik k analýze pidáme gramatiku Deformovana_Test.grm a do Seznamu objekt pidáme objekt TestND.obj. Do obou seznam je možno pidat více soubor. Tlaítkem etzec jako vstupní nastavíme náš vytvoený objekt jako vstupní etzec analýzy k rozpoznání Viz. obr. F. Tlaítkem Analýza spustíme analýzu. Výsledky analýzy jsou zobrazeny ve výpisu analýzy dole na formulái. Vypsány jsou následující údaje: Rozpoznávaný etzec. Jména všech testovaných gramatik. Pro každou z testovaných gramatik výsledek analýzy (váha) všech možných osmi natoení vstupního objektu. Váha -1 znamená že daný etzec nebyl rozpoznán danou gramatikou. Pro každou z testovaných gramatik nejlepší výsledek analýzy a as, je-li požadován. Celkové výsledky analýzy etzec nebyl identifikován / byl identifikován (která gramatika, váha, as). 7
8 Obr. F Píklad analýzy etzce
SOUBORY TESTOVACÍHO PROSTEDÍ Konfiguraní soubor Testovací prostedí obsahuje konfiguraní soubor typu TIniFile sloužící pro ukládání seznamu gramatik, seznamu etzc popisujících testované objekty k analýze a nastavení testovacího prostedí (váhy) za úelem hladkého obnovení práce pi následujícím spuštní testovacího prostedí. Struktura konfiguraního souboru je na obr. G. [GrammarsToAnalyze] seznam gramatik k analýze [PatternList] seznam etzc k analýze [Weight] nastavení vah použitých pi vytváení deformaní gramatiky Obr. G. Struktura konfiguraního souboru Struktura souboru s gramatikou a testovacím objektem Struktura textového souboru s gramatikou je velmi jednoduchá a je uvedena na obr. H. [jméno gramatiky] [poátení symbol gramatiky] [seznam pravidel ve tvaru LHS RHS :váha] tverec S S DDDDDDBBBBBBCCCCCCAAAAAA :0 D d :0 B b :0 C c :0 A a :0 Obr H. a) Struktura souboru s gramatikou b) konkrétní píklad Struktura textového souboru s testovacím objektem je obdobná struktue souboru s gramatikou. Je uvedena na obr. I. [poet primitiv objektu] [mítko primitiv] [seznam bodu ve tvaru: x-souadnice poáteního bodu primitivy y-souadnice poáteního bodu primitivy x-souadnice koncového bodu primitivy y-souadnice koncového bodu primitivy] [jméno objektu] 4 50 382 230 332 230 d 332 230 332 280 b 332 280 382 280 Obr I. a) Struktura souboru s objektem b) konkrétní píklad c 382 280 382 230 a tverec 9