Staged selective parser combinators

13Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.

Abstract

Parser combinators are a middle ground between the fine control of hand-rolled parsers and the high-level almost grammar-like appearance of parsers created via parser generators. They also promote a cleaner, compositional design for parsers. Historically, however, they cannot match the performance of their counterparts. This paper describes how to compile parser combinators into parsers of hand-written quality. This is done by leveraging the static information present in the grammar by representing it as a tree. However, in order to exploit this information, it will be necessary to drop support for monadic computation since this generates dynamic structure. Selective functors can help recover lost functionality in the absence of monads, and the parser tree can be partially evaluated with staging. This is implemented in a library called Parsley.

Author supplied keywords

Cite

CITATION STYLE

APA

Willis, J., Wu, N., & Pickering, M. (2020). Staged selective parser combinators. Proceedings of the ACM on Programming Languages, 4(ICFP). https://doi.org/10.1145/3409002

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free