Original title:
ParsecCore: Parsovací knihovna s kombinátory v jazyce C#
Translated title:
ParsecCore: A parser combinator library in the C# language
Authors:
Tichý, Michal ; Kliber, Filip (advisor) ; Šefl, Vít (referee) Document type: Bachelor's theses
Year:
2023
Language:
eng Abstract:
[eng][cze] In this thesis, we implement a parser combinator library in C# inspired by Parsec. Parser combinators refer to a style of parsing where a parser is modeled as function from string to some structured result. Afterward, higher-order functions called combinators are used to combine simple parsers into more complex ones. Other such libraries exist, but in our estimation, they contain various deficiencies. We create an implementation without these faults and also introduce two new modules for parsing indentation- sensitive languages and permutations. We additionally implement two ex- ample parsers to showcase our library.V této práci implementujeme parsovací knihovnu pro C# inspirovanou Parsecem, která využívá parsovací kombinátory. Parsovací kombinátory od- kazují na styl syntaktické analýzy, při kterém je parser modelován jako funkce, která bere textový řetězec jako vstup a produkuje strukturovaný výsledek. Následně používáme funkce vyšších řádů, kterým se říká kombi- nátory, pro spojování jednoduchých perserů do komplexnějších. Knihovny založené na stejném principu již existují, avšak, v našem mínění, jsou v ně- kterých ohledech nedostačující. Naše implementace nemá tyto nedostatky a také obsahuje dva nové moduly, které pomáhají se syntaktickou analýzou jazyků, pro které odsazení je signifikantní, a také se syntaktickou analýzou permutací. Dále implementujeme dva příkladné parsery, abychom předvedli naši knihovnu.
Keywords:
C#|csharp|parser|combinator|syntax analysis; C#|csharp|parsování|kombinátor|syntaktická analýza
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/183086