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 present a technique to systematically eliminate this overhead. We use Scala macros to analyse the grammar specification at compile-time and remove composition, leaving behind an efficient top-down, recursive-descent parser. We compare our macro-based approach to a staging-based approach using the LMS framework, and provide an experience report in which we discuss the advantages and drawbacks of...
Parsers for context-free grammars can be implemented directly and naturally in a functional style kn...
A top-down parsing scheme for macro grammars is proposed. It extends the recursive descent method fr...
We show a combinator parser which corresponds to a standard vari-ation of Earley’s algorithm. Combin...
Abstract Parser combinators offer a universal and flexible approach to parsing. They follow the stru...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators are a popular approach to parsing where contextfree grammars are represented as e...
Parser combinators are a popular approach to parsing. Parser combinators follow the structure of an ...
A top-down parsing scheme for macro grammars is proposed. It extends the recursive descent method fr...
Parser combinators are well-known in functional programming languages such as Haskell. In this paper...
AbstractWe develop, in a stepwise fashion, a set of parser combinators for constructing deterministi...
AbstractWe develop, in a stepwise fashion, a set of parser combinators for constructing deterministi...
AbstractScalaBison is a parser generator accepting bison syntax and generating a parser in Scala. Th...
Parsers for context-free grammars can be implemented directly and naturally in a functional style kn...
A top-down parsing scheme for macro grammars is proposed. It extends the recursive descent method fr...
We show a combinator parser which corresponds to a standard vari-ation of Earley’s algorithm. Combin...
Abstract Parser combinators offer a universal and flexible approach to parsing. They follow the stru...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators offer a universal and flexible approach to parsing. They follow the structure of ...
Parser combinators are a popular approach to parsing where contextfree grammars are represented as e...
Parser combinators are a popular approach to parsing. Parser combinators follow the structure of an ...
A top-down parsing scheme for macro grammars is proposed. It extends the recursive descent method fr...
Parser combinators are well-known in functional programming languages such as Haskell. In this paper...
AbstractWe develop, in a stepwise fashion, a set of parser combinators for constructing deterministi...
AbstractWe develop, in a stepwise fashion, a set of parser combinators for constructing deterministi...
AbstractScalaBison is a parser generator accepting bison syntax and generating a parser in Scala. Th...
Parsers for context-free grammars can be implemented directly and naturally in a functional style kn...
A top-down parsing scheme for macro grammars is proposed. It extends the recursive descent method fr...
We show a combinator parser which corresponds to a standard vari-ation of Earley’s algorithm. Combin...