Staged selective parser combinators
Staged selective parser combinators
复制标题
分阶段选择性解析器组合器
DOI:
10.1145/3409002
复制
发表时间:
2020
影响因子:
--
通讯作者:
Matthew Pickering
中科院分区:
文献类型:
--
作者:
Jamie Willis;Nicolas Wu;Matthew Pickering
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.
影响因子:
--
作者:
J. Gibbons;Nicolas Wu
通讯作者:
J. Gibbons;Nicolas Wu