Parsing for Agile Modeling

Agile Modeling refers to a set of methods that allow for a quick initial development of an Importer and its further refinement. These requirements are not met simultaneously by the current parsing technology. Problems with parsing became a bottleneck in our research of agile modeling. pdf , wayback

In this thesis we introduce a novel approach to specify and build parsers. Our approach allows for expressive, tolerant and composable parsers without sacrificing performance. The approach is based on a context-sensitive extension of parsing expression grammars that allows a grammar engineer to specify complex language restrictions. To insure high parsing performance we automatically analyze a grammar definition and choose different parsing strategies for different parts of the grammar.

We show that context-sensitive parsing expression grammars allow for highly composable, tolerant and variable-grained parsers that can be easily refined. Different parsing strategies significantly insure high-performance of parsers without sacrificing expressiveness of the underlying grammars.

~

Jan Kurs, „Parsing For Agile Modeling“, Wayback Machine, 20. Januar 2022. pdf , p. 11.

> In agile modeling heuristics and Automation are used to implement a parser. The burden on expert is lowered, because she only verifies results or guides Decisions of heuristics.

As a proof of concept introduced in this thesis we extend PetitParser [RDGN10, KLR+13] — a PEG-based parser combinator framework. In our work we show that with parsing contexts and Bounded Seas it is possible to quickly prototype a coarsegrained imprecise parser. We also show that it is possible to incrementally refine the parser by adding more features without any significant engineering overhead.