Compact recursive-descent parsing of expressions
Software—Practice & Experience
4th Annual Symposium on Theoretical Aspects of Computer Sciences on STACS 87
Parsing techniques: a practical guide
Parsing techniques: a practical guide
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Packrat parsing:: simple, powerful, lazy, linear time, functional pearl
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Parsing expression grammars: a recognition-based syntactic foundation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Lua 5.1 Reference Manual
OMeta: an object-oriented language for pattern matching
Proceedings of the 2007 symposium on Dynamic languages
Packrat parsers can support left recursion
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Parsing Expression Grammar as a Primitive Recursive-Descent Parser with Backtracking
Fundamenta Informaticae - Special Issue on Concurrency Specification and Programming (CS&P)
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
A text pattern-matching tool based on Parsing Expression Grammars
Software—Practice & Experience
Some Aspects of Parsing Expression Grammar
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Parser combinators for ambiguous left-recursive grammars
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Packrat parsers can handle practical grammars in mostly constant space
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
LL(*): the foundation of the ANTLR parser generator
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Simple, functional, sound and complete parsing for all context-free grammars
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Hi-index | 0.00 |
Parsing Expression Grammars (PEGs) are a formalism that can describe all deterministic context-free languages through a set of rules that specify a top-down parser for some language. PEGs are easy to use, and there are efficient implementations of PEG libraries in several programming languages. A frequently missed feature of PEGs is left recursion, which is commonly used in Context-Free Grammars (CFGs) to encode left-associative operations. We present a simple conservative extension to the semantics of PEGs that gives useful meaning to direct and indirect left-recursive rules, and show that our extensions make it easy to express left-recursive idioms from CFGs in PEGs, with similar results. We prove the conservativeness of these extensions, and also prove that they work with any left-recursive PEG.