filipg/amu_automata_2011 — Issue #552: Dodać zaznaczanie grup do AutomatonSpecification 
Author: filipg
Created: 2012-01-13 09:19:06+00:00
State: open
Labels: 4 punkty, assigned

(Uwaga, zadanie z I działu).

Do `AutomatonSpecification` dodać abstrakcyjne metody:

void markAsGroupBeginning(State state, int groupId);

void markAsGroupEng(State state, int groupId);

Set getBeginningGroups(State state);

Set getEndGroups(State state);

Dwie pierwsze metody oznaczają stan jako odpowiednio początek/koniec grupy. Kolejne dwie metody zwracają identyfikatory grup, dla których stan jest początkiem/końcem grupy.

Należy zaimplementować te metody we wszystkich klasach wywiedzionych z `AutomatonSpecification` (np. w `NaiveAutomatonSpecification`), implementacja nie powinna być trudna, najlepiej użyć `HashSet`.

Grupy w automatach będą odpowiadały fragmentom wyrażenia regularnego ujętym w nawiasy okrągłe - dzięki temu będzie można zrealizować mechanizm wyłuskiwania.