Formát souboru pro uložení konečného automatu

Soubor je textový s kódováním UTF-8 bez BOM.

Řádky začínající znaky // jsou komentáře. Znaky // musí být hned na začátku řádky. Komentáře nemůžou začínat dále na řádce.

V souboru jsou na jednotlivých řádkách postupně uvedeny tyto údaje:

Vstupní symboly i názvy stavů budou vždy jeden znak.

Ukázka deterministického automatu – definice a odpovídající přechodový graf.

// počet vstupních symbolů
2
// počet stavů
3
// tabulka přechodů
	a	b
0	1	0
1	2	0
2	2	0
// počáteční stavy
0
// výstupní stavy
0,1
Přechodový graf deterministického automatu

Ukázka nedeterministického automatu – definice a odpovícající přechodový graf. Chybový stav X není v přechodovém grafu nakreslen.

// počet vstupních symbolů
3
// počet stavů
5
// tabulka přechodů
	a	b	e
S	A	X	C
A	B	X	.
B	X	X	.
C	X	C	B
X	X	X	.
// počáteční stavy
S
// výstupní stavy
B
Přechodový graf nedeterministického automatu

Při implementaci čtení souboru se příliš netrapte s ošetřováním možných chyb. Vaším úkolem je vyřešit úlohu s konečnými automaty, nikoliv napsat robustní parser.