2014
DOI: 10.1145/2714064.2660241
|View full text |Cite
|
Sign up to set email alerts
|

Staged parser combinators for efficient data processing

Abstract: Parsers are ubiquitous in computing, and many applications depend on their performance for decoding data efficiently. Parser combinators are an intuitive tool for writing parsers: tight integration with the host language enables grammar specifications to be interleaved with processing of parse results. Unfortunately, parser combinators are typically slow due to the high overhead of the host language abstraction mechanisms that enable composition.We present a technique for eliminating such overhead. We use stag… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(2 citation statements)
references
References 30 publications
0
2
0
Order By: Relevance
“…Staged parser combinators were pioneered in Scala using Light-weight Modular Staging (LMS) [Jonnalagedda et al 2014]. This work illustrates how to add staging annotations to remove the abstraction overheads of the combinators.…”
Section: Nandlangmentioning
confidence: 99%
“…Staged parser combinators were pioneered in Scala using Light-weight Modular Staging (LMS) [Jonnalagedda et al 2014]. This work illustrates how to add staging annotations to remove the abstraction overheads of the combinators.…”
Section: Nandlangmentioning
confidence: 99%
“…We adapt the work on staged parser combinators [43,42] to generate C code instead of Scala code. After this initial port (which amounts to switching the code generation backend of the LMS framework), with minimal additional work, we further ensure that parser requests per second (baseline) nginx (0.94 ± 0.01) • 10 6 (our) staged verified (1.00 ± 0.01) • 10 6 Figure 7.…”
Section: Http Parsermentioning
confidence: 99%