Generování zapouzdřovače

Zapouzdřovač je parser, jehož výstupem je zdrojový text zpracovaný dle specifikace dané konfiguračním souborem. Pro daný typ vstupního textu je konstruován podle .hlx souboru. Je provedena lexikální, syntaktická a sémantická analýza, jejichž výsledkem jsou akceptory vygenerované z regulárních výrazů v něm obsažených. Parsery zkonstruované podle jednotlivých bloků jsou spojeny a jejich kompozicí je vytvořen zapouzdřovač sestavený z knihovních konstruktorů.

Protože má generování zapouzdřovače offline charakter, lze provést jeho optimalizaci, aby bylo jeho následné použití efektivnější. Optimalizace, kterou provádí knihovní predikát optimizeRegExprParser/4, je rekurzivní a spočívá především v transformaci kombinátorů alternativní kompozice, jak bylo popsáno v části [*]. Rozkladové tabulky, které jsou v těchto parserech vytvářeny v době analýzy vstupního textu, optimalizátor konstruuje abstraktní interpretací parseru a jejich vhodnou reprezentací nahradí původní kód. Výsledný parser ve formě termu je uložen do souboru .coc.



dvorka 2013-12-31