ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Types and programming languages
Types and programming languages
Packrat parsing:: simple, powerful, lazy, linear time, functional pearl
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Template meta-programming for Haskell
ACM SIGPLAN Notices
Deterministic, Error-Correcting Combinator Parsers
Advanced Functional Programming, Second International School-Tutorial Text
Observable Sharing for Functional Circuit Description
ASIAN '99 Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science
What is a purely functional language?
Journal of Functional Programming
Removing left recursion from context-free grammars
NAACL 2000 Proceedings of the 1st North American chapter of the Association for Computational Linguistics conference
Type-safe, self inspecting code
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
Type checking with open type functions
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Haskell, do you read me?: constructing and composing efficient top-down parsers at runtime
Proceedings of the first ACM SIGPLAN symposium on Haskell
Typed transformations of typed abstract syntax
Proceedings of the 4th international workshop on Types in language design and implementation
Generic programming with fixed points for mutually recursive datatypes
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Type-safe observable sharing in Haskell
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Proceedings of the 4th ACM symposium on Haskell
Functional modelling of musical harmony: an experience report
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Functional programming with structured graphs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Fixing idioms: a recursion primitive for applicative DSLs
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Grammar fragments fly first-class
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Hi-index | 0.00 |
We propose a novel context-free grammar representation for parsing libraries in a pure programming language. Our representation explicitizes the recursion in the grammar, thus avoiding fundamental limitations of the grammar model currently employed by parser combinator libraries. Additionally, we decouple the grammar from its semantic actions using techniques from the Multirec generic programming library. The look and feel of the grammar and semantic actions remain close to traditional EBNF and syntax-directed definitions respectively. In an accompanying technical report, we demonstrate that our representation supports more declarative implementations of grammar transformations than other work. The ideas described in this paper form the basis for our freely available grammar-combinators parsing library.