Towards Zero-Overhead Disambiguation of Deep Priority Conflicts
Lu\'is Eduardo de Souza Amorim (Delft University of Technology,, Netherlands), Michael J. Steindorfer (Delft University of Technology,, Netherlands), Eelco Visser (Delft University of Technology, Netherlands)

TL;DR
This paper introduces a novel, low-overhead disambiguation technique for scannerless generalized parsers to efficiently resolve deep operator priority and associativity conflicts, enhancing parser modularity and performance.
Contribution
The paper presents a lightweight, data-dependent disambiguation method specifically designed for deep conflicts in scannerless generalized parsers, improving upon existing approaches.
Findings
Significantly reduces disambiguation overhead compared to state-of-the-art methods.
Successfully applied to Java and OCaml repositories, demonstrating practical effectiveness.
Maintains parser modularity and supports language composition.
Abstract
**Context** Context-free grammars are widely used for language prototyping and implementation. They allow formalizing the syntax of domain-specific or general-purpose programming languages concisely and declaratively. However, the natural and concise way of writing a context-free grammar is often ambiguous. Therefore, grammar formalisms support extensions in the form of *declarative disambiguation rules* to specify operator precedence and associativity, solving ambiguities that are caused by the subset of the grammar that corresponds to expressions. **Inquiry** Implementing support for declarative disambiguation within a parser typically comes with one or more of the following limitations in practice: a lack of parsing performance, or a lack of modularity (i.e., disallowing the composition of grammar fragments of potentially different languages). The latter subject is generally…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
