Parsing for agile modeling

Kurs, Jan (2016). Parsing for agile modeling. (Dissertation, Universität Bern, Pilosophisch-naturwissenschaftliche Fakultät, Institut für Informatik)

[img]
Preview
Text
16kurs_j.pdf - Published Version
Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA).

Download (3MB) | Preview

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. 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.

Item Type:

Thesis (Dissertation)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Kurs, Jan and Nierstrasz, Oscar Marius

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Language:

English

Submitter:

Igor Hammer

Date Deposited:

07 Oct 2016 14:56

Last Modified:

11 Sep 2017 10:44

URN:

urn:nbn:ch:bel-bes-2377

Additional Information:

e-Dissertation (edbe)

BORIS DOI:

10.7892/boris.89195

URI:

https://boris.unibe.ch/id/eprint/89195

Actions (login required)

Edit item Edit item
Provide Feedback