Výjimky
Navrhuju sjednotit výjimky a přiřadit jim takový formát, aby se daly jednoduše zparsovat (taky xml).
Problém:
Postavím dlouhou posloupnost pajp: a | b | c | d | e | f
. Když a
skončí vyjímkou, pak si ostatní aplikace ani neškrtnou a končí přinejlepším taky výjimkami (jsou i horší možnosti), což vede k pěknému bordelu.
Možná by nebylo špatný udělat výjimkám taky XML formát, kde by bylo něco ve stylu název výjimky, popis, možná zdrojová aplikace?. Pokud by se na vstupu ocitla výjimka, pak by ji aplikace jen předelegovala dál.
Pokud si dobře vzpomínám, pak aktuální parser stejně parsuje tak, že neví co má parsovat, ale musím mu to říct (pokud je první token regexp
, zavolej RegExpParser
, pokud to je automaton
, pak AutomatonParser
. K tomu by mohla vzniknout nějaká parser factory, která by se podle toho prvního tagu řídila. Pokud by narazila na tag exception
, tak by ho zparsovala a vyplivla.
Aplikace, které převádějí např. do dot
by se tomu taky nějak přizpůsobily.