|
Pattern matching in compilers
Bílka, Ondřej ; Hubička, Jan (vedoucí práce) ; Mareš, Martin (oponent)
Název práce: Pattern matching in compilers Autor: Ondřej Bílka Katedra: Katedra Aplikované Matematiky Vedoucí diplomové práce: Jan Hubička, Katedra Aplikované Matematiky Abstrakt: V této práci vyvineme nástroje na efektivní a flexibilní pattern matching. Představíme specializovaný programovací jazyk amethyst. Jedna z funkcí amethystu je generatování parserů. Také může sloužit jako alterna- tiva k regulárním výrazum. Naš systém umí generovat dynamické parsery. Jejich hlavní uplatnění je tvorba nástroju do IDE jako např. interaktivní zvýrazňovač syntaxe nebo detektor chyb. Amethyst umí zpracovávat i obecné datové struktury. Plánované využití je implementace kompilátorových optimal- izací jako napřiklad propagace konstant či rozvrhování instrukcí a jiné optimal- izace založené na dataflow analyze. Generované parsery jsou víceméně top-down parsery. Představíme nový algo- ritmus pro parsovaní strukturovaných gramatik v linearním čase. Amethyst používá techniky z kompilatorů pro optimalizovaní generovaných parserů. Klíčová slova: packrat parsování, dynamické parsování, strukturované gramatiky, funkcionální programování 1
|
| |
|
Pattern matching in compilers
Bílka, Ondřej ; Hubička, Jan (vedoucí práce) ; Mareš, Martin (oponent)
Název práce: Pattern matching in compilers Autor: Ondřej Bílka Katedra: Katedra Aplikované Matematiky Vedoucí diplomové práce: Jan Hubička, Katedra Aplikované Matematiky Abstrakt: V této práci vyvineme nástroje na efektivní a flexibilní pattern matching. Představíme specializovaný programovací jazyk amethyst. Jedna z funkcí amethystu je generatování parserů. Také může sloužit jako alterna- tiva k regulárním výrazum. Naš systém umí generovat dynamické parsery. Jejich hlavní uplatnění je tvorba nástroju do IDE jako např. interaktivní zvýrazňovač syntaxe nebo detektor chyb. Amethyst umí zpracovávat i obecné datové struktury. Plánované využití je implementace kompilátorových optimal- izací jako napřiklad propagace konstant či rozvrhování instrukcí a jiné optimal- izace založené na dataflow analyze. Generované parsery jsou víceméně top-down parsery. Představíme nový algo- ritmus pro parsovaní strukturovaných gramatik v linearním čase. Amethyst používá techniky z kompilatorů pro optimalizovaní generovaných parserů. Klíčová slova: packrat parsování, dynamické parsování, strukturované gramatiky, funkcionální programování 1
|
| |