Since composed grammars are often ambiguous, grammar composition requires a mechanism for dealing with ambiguity: either ruling it out entirely through the use of delimiters, or by selecting the desired parse tree from the parse forest. In this paper we show that language boxes – a delimiter-based algorithm atop incremental parsing – can be extended in a way that creates a new point in the design space between these two extremes. In essence, we retain the use of delimiters, but introduce an algorithm which provides a default disambiguation scheme that can automatically insert, remove, or resize language boxes – leading to what we call automatic language boxes. The very nature of the problem means that automatic language boxes cannot always match a user’s intention. However, our experimental evaluation shows that it behaves acceptably in 96.9% of tests involving compositions of real-world programming languages.
Mon 21 OctDisplayed time zone: Beirut change
16:00 - 17:30
|Multiple Lexicalisation - A Java Based Study
|Breaking Parsers: Mutation-based Generation of Programs with Guaranteed Syntax ErrorsNEW IDEABest Paper
|Default disambiguation for online parsers
SLE 2019DOI Pre-print