Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation 2016
DOI: 10.1145/2847538.2847539
|View full text |Cite
|
Sign up to set email alerts
|

Practical, general parser combinators

Abstract: Parser combinators are a popular approach to parsing where contextfree grammars are represented as executable code. However, conventional parser combinators do not support left recursion, and can have worst-case exponential runtime. These limitations hinder the expressivity and performance predictability of parser combinators when constructing parsers for programming languages.In this paper we present general parser combinators that support all context-free grammars and construct a parse forest in cubic time a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 12 publications
(5 citation statements)
references
References 22 publications
0
5
0
Order By: Relevance
“…To address these complexities or to enhance the efficiency of Syntactical Analysis, various strategies have been explored. These include the implementation of combinators [20,21] and the optimization of existing combinators [22][23][24]. In the context of functional programming, the design of such combinators, conceptualized as functions that operate on other functions, introduces additional layers of complexity.…”
Section: Limitations Of Conventional Parsing Approachesmentioning
confidence: 99%
“…To address these complexities or to enhance the efficiency of Syntactical Analysis, various strategies have been explored. These include the implementation of combinators [20,21] and the optimization of existing combinators [22][23][24]. In the context of functional programming, the design of such combinators, conceptualized as functions that operate on other functions, introduces additional layers of complexity.…”
Section: Limitations Of Conventional Parsing Approachesmentioning
confidence: 99%
“…However, the set of LR(1) languages is a strict subset of the set of context-free languages. For context-free languages which are not LR(1), there exist well-known algorithms like Earley's [4,9], GLR [24], GLL [22] or general parser combinators [15]. These algorithms can base their decision on an arbitrary number of lookups, can cope with ambiguous grammars by generating parse forests instead of parse trees, and generally have a cubic complexity.…”
Section: About Parsing Technologiesmentioning
confidence: 99%
“…Johnson showed that recognition combinators written in continuation-passing style can be extended with memoisation to solve the leftrecursion problem [16]. Afroozeh, Izmaylova and Van der Storm, build on Johnson's recognition combinators to develop general parser combinators [36]. Frost, Hafiz, and Callaghan [35] handle left-recursion with a 'curtailment' procedure, making at most as many recursive calls as there are characters remaining in the input t-string.…”
Section: Conventional Parser Combinatorsmentioning
confidence: 99%