Catalog · How the catalog works
Zapocet-ZS-2017
Zápočtový program zimní semestr 2017
- ★ 1 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
Zápočtový program na zimní semestr 2017 - Jiří Mayer
Převod mezi regulárními výrazy, konečnými automaty deterministickými a nedeterministickými.
Dokumentace
Čtenář by měl být obeznámen s významem termínů:
- regulérní výraz
- deterministický automat
- nedeterministický automat
Ty nejsou v dokumentaci vysvětlené, dokumentace se soustředí na program samotný.
Používání programu
Program se spouští z příkazové řádky následujícím způsobem:
$ ./MainProgram [vstupn?? soubor] [v??stupn?? soubor] [v??stupn?? entita]Entitou se myslí regulérní výraz
RE, nedeterministický automatNDAnebo deterministický automatDE.
Program načte entitu ze vstupního souboru, provede převod na požadovanou výstupní entitu a zapíše ji do výstupního souboru.
První dva argumenty jsou relativní cesty k souborům. Třetí argument je jeden
z kódů entit: RE, NDA, DA.
Formát souborů entit
Na prvním řádku se nachází hlavička - typ entity uvnitř souboru. Hodnotou je jeden
z možných kódů RE, NDA, DA.
Obsah dalších řádků se liší podle typu entity.
Soubor regulérního výrazu
Za hlavičkou je pouze jeden řádek obsahující regulérní výraz serializovaný v prefixové notaci. Více informací zde.
Soubor automatu
Formát souboru obou typů automatů je stený, liší se pouze povoleným uspořádáním přechodů a existencí epsilonových přechodů.
První řádek za hlavičkou obsahuje serializované stavy automatu a každý další obsahuje serializovaný právě jeden přechod. Konkrétní vzhled je zde.
Přehled algoritmu
Popis, jak funguje program algoritmicky je zde.
Struktura programu
Struktura programu z hlediska kódu je popsána zde.
Testovací data
Informace k testování jsou zde.

