Results 1 to 10 of about 147 (106)
Parser Combinators: a Practical Application for Generating Parsers for NMR Data. [PDF]
Nuclear Magnetic Resonance (NMR) spectroscopy is a technique for acquiring protein data at atomic resolution and determining the three-dimensional structure of large protein molecules. A typical structure determination process results in the deposition of a large data sets to the BMRB (Bio-Magnetic Resonance Data Bank).
Fenwick M+3 more
europepmc +6 more sources
Combinator Parsers: From Toys to Tools [PDF]
AbstractWe develop, in a stepwise fashion, a set of parser combinators for constructing deterministic, error-correcting parsers. The only restriction on the grammar is that it is not left recursive. Extensive use is made of lazy evaluation, and the parsers constructed “analyze themselves”.
S. Doaitse Swierstra
openalex +3 more sources
Staged selective parser combinators [PDF]
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.
Jamie Willis+2 more
openalex +4 more sources
Staged parser combinators for efficient data processing [PDF]
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.
Manohar Jonnalagedda+4 more
+4 more sources
Design patterns for parser combinators (functional pearl) [PDF]
Parser combinators are a popular and elegant approach for parsing in functional languages. The design and implementation of such libraries are well discussed, but having a well-designed library is only one-half of the story. In this paper we explore several reusable approaches to writing parsers in combinator style, focusing on easy to apply patterns ...
Jamie Willis, Nicolas Wu
openalex +3 more sources
A new view on parser combinators [PDF]
Parser combinators offer a concise and fast way to produce reasonably efficient parsers. The combinator libraries themselves can be small and provide an elegant application of functional programming techniques. They are one of the success stories in functional programming that are also ported to many other languages.
Pieter Koopman, Rinus Plasmeijer
openalex +4 more sources
Lightweight multi-language syntax transformation with parser parser combinators [PDF]
Automatically transforming programs is hard, yet critical for automated program refactoring, rewriting, and repair. Multi-language syntax transformation is especially hard due to heterogeneous representations in syntax, parse trees, and abstract syntax trees (ASTs).
Rijnard van Tonder, Claire Le Goues
openalex +3 more sources
Practical, general parser combinators [PDF]
Parser combinators are a popular approach to parsing where context-free 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
Anastasia Izmaylova+2 more
openalex +3 more sources
Mímico: a monadic combinator parser generator [PDF]
This article describes a compiler generator, called Mimico, that outputs code based on the use of monadic combinators. Mimico can parse infinite look-ahead and left-recursive context free grammars and defines a scheme for handling the precedence and associativity of binary infix operators, and monadic code in semantic rules. Mimico provides an easy way
Carlos Camarão+2 more
openalex +6 more sources
Accelerating parser combinators with macros [PDF]
Parser combinators provide an elegant way of writing parsers: parser implementations closely follow the structure of the underlying grammar, while accommodating interleaved host language code for data processing. However, the host language features used for composition introduce substantial overhead, which leads to poor performance.In this paper, we ...
Eric Béguet, Manohar Jonnalagedda
openalex +3 more sources