Zurück zur Übersicht

Bounded seas

Publikationsart Peer-reviewed
Publikationsform Originalbeitrag (peer-reviewed)
Publikationsjahr 2015
Autor/in Kurš Jan, Lungu Mircea, Iyadurai Rathesan, Nierstrasz Oscar
Projekt Agile Software Assessment
Alle Daten anzeigen

Originalbeitrag (peer-reviewed)

Zeitschrift Computer Languages, Systems & Structures
Volume (Issue) 44, Part A
Seite(n) 114 - 140
Status Publiziert
DOI 10.1016/

Open Access


Abstract Imprecise manipulation of source code (semi-parsing) is useful for tasks such as robust parsing, error recovery, lexical analysis, and rapid development of parsers for data extraction. An island grammar precisely defines only a subset of a language syntax (islands), while the rest of the syntax (water) is defined imprecisely. Usually water is defined as the negation of islands. Albeit simple, such a definition of water is naive and impedes composition of islands. When developing an island grammar, sooner or later a language engineer has to create water tailored to each individual island. Such an approach is fragile, because water can change with any change of a grammar. It is time-consuming, because water is defined manually by an engineer and not automatically. Finally, an island surrounded by water cannot be reused because water has to be defined for every grammar individually. In this paper we propose a new technique of island parsing --- bounded seas. Bounded seas are composable, robust, reusable and easy to use because island-specific water is created automatically. Our work focuses on applications of island parsing to data extraction from source code. We have integrated bounded seas into a parser combinator framework as a demonstration of their composability and reusability.