The syntax definition formalism SDF—reference manual—
ACM SIGPLAN Notices
Scannerless NSLR(1) parsing of programming languages
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Parsing techniques: a practical guide
Parsing techniques: a practical guide
ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Handbook of formal languages, vol. 3
Indexed Grammars—An Extension of Context-Free Grammars
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
What can we do about the unnecessary diversity of notation for syntactic definitions?
Communications of the ACM
Fast context-free grammar parsing requires fast boolean matrix multiplication
Journal of the ACM (JACM)
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Journal of Automata, Languages and Combinatorics - Special issue: selected papers of the second internaional workshop on Descriptional Complexity of Automata, Grammars and Related Structures (London, Ontario, Canada, July 27-29, 2000)
The Theory of Parsing, Translation, and Compiling
The Theory of Parsing, Translation, and Compiling
Packrat parsing:: simple, powerful, lazy, linear time, functional pearl
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
LACL '96 Selected papers from the First International Conference on Logical Aspects of Computational Linguistics
Adding Semantic and Syntactic Predicates To LL(k): pred-LL(k)
CC '94 Proceedings of the 5th International Conference on Compiler Construction
Disambiguation Filters for Scannerless Generalized LR Parsers
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Lower Bounds for Matrix Product
FOCS '01 Proceedings of the 42nd IEEE symposium on Foundations of Computer Science
The tmg recognition schema
Report on the algorithmic language ALGOL 68
Report on the algorithmic language ALGOL 68
The next 700 data description languages
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Better extensibility through modular syntax
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
A translational BNF grammar notation (TBNF)
ACM SIGPLAN Notices
Journal of Computing Sciences in Colleges
Context-aware scanning for parsing extensible languages
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
OMeta: an object-oriented language for pattern matching
Proceedings of the 2007 symposium on Dynamic languages
Executable Grammars in Newspeak
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 1st international conference on Principles, systems and applications of IP telecommunications
Packrat parsers can support left recursion
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Xoc, an extension-oriented compiler for systems programming
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
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
ANTLRWorks: an ANTLR grammar development environment
Software—Practice & Experience
A text pattern-matching tool based on Parsing Expression Grammars
Software—Practice & Experience
Sectional domain specific languages
Proceedings of the 4th workshop on Domain-specific aspect languages
Some Aspects of Parsing Expression Grammar
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
An implementation substrate for languages composing modularized crosscutting concerns
Proceedings of the 2009 ACM symposium on Applied Computing
Practical Scope Recovery Using Bridge Parsing
Software Language Engineering
Faster Scannerless GLR Parsing
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Verifiable composition of deterministic grammars
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Gel: A Generic Extensible Language
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Applying Classical Concepts to Parsing Expression Grammar
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Effective interactive proofs for higher-order imperative programs
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
nfn2dlp and nfnsolve: Normal Form Nested Programs Compiler and Solver
LPNMR '09 Proceedings of the 10th International Conference on Logic Programming and Nonmonotonic Reasoning
Computer Languages, Systems and Structures
Thorn: robust, concurrent, extensible scripting on the JVM
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Silver: An extensible attribute grammar system
Science of Computer Programming
The next 700 data description languages
Journal of the ACM (JACM)
Semantics and algorithms for data-dependent grammars
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A simple P-complete problem and its representations by language equations
MCU'07 Proceedings of the 5th international conference on Machines, computations, and universality
Growing a language: the GLoo perspective
SC'08 Proceedings of the 7th international conference on Software composition
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
Typed and unambiguous pattern matching on strings using regular expressions
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Pinocchio: bringing reflection to life with first-class interpreters
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Pure and declarative syntax definition: paradise lost and regained
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Trace-based verification of imperative programs with I/O
Journal of Symbolic Computation
DSL evolution through composition
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
A simple P-complete problem and its language-theoretic representations
Theoretical Computer Science
PEG-based transformer provides front-, middle-and back-end stages in a simple compiler
Workshop on Self-Sustaining Systems
Workshop on Self-Sustaining Systems
Incremental concrete syntax for embedded languages
Proceedings of the 2011 ACM Symposium on Applied Computing
A new method for dependent parsing
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
LL(*): the foundation of the ANTLR parser generator
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Integrating OCL and textual modelling languages
MODELS'10 Proceedings of the 2010 international conference on Models in software engineering
Worlds: controlling the scope of side effects
Proceedings of the 25th European conference on Object-oriented programming
Design and implementation of the Sweble Wikitext parser: unlocking the structured data of Wikipedia
Proceedings of the 7th International Symposium on Wikis and Open Collaboration
A role-based approach towards modular language engineering
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Language boxes: bending the host language with modular language changes
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Harvesting software systems for MDA-Based reengineering
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
TRX: a formally verified parser interpreter
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Defining contexts in context-free grammars
LATA'12 Proceedings of the 6th international conference on Language and Automata Theory and Applications
SuperC: parsing all of C by taming the preprocessor
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Proceedings of the 34th International Conference on Software Engineering
Parse forest diagnostics with dr. ambiguity
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
The Semantics of Parsing with Semantic Actions
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
BITES Instead of FIRST for Parsing Expression Grammar
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
GeForMTjs: a javascript library based on a domain specific language for multi-touch gestures
ICWE'12 Proceedings of the 12th international conference on Web Engineering
Applying Classical Concepts to Parsing Expression Grammar
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Some Aspects of Parsing Expression Grammar
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Domain-Specific languages in few steps: the neverlang approach
SC'12 Proceedings of the 11th international conference on Software Composition
Parsing Expression Grammar as a Primitive Recursive-Descent Parser with Backtracking
Fundamenta Informaticae - Special Issue on Concurrency Specification and Programming (CS&P)
Left recursion in parsing expression grammars
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Adaptable parsing expression grammars
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Visual access to graph content using magic lenses and filtering
Proceedings of the 28th Spring Conference on Computer Graphics
Powerful and seamless syntax extensions on a statically typed language
Proceedings of the 12th annual international conference companion on Aspect-oriented software development
Incremental concrete syntax for embedded languages with support for separate compilation
Science of Computer Programming
Science of Computer Programming
Fundamenta Informaticae - Concurrency, Specification and Programming
Hi-index | 0.00 |
For decades we have been using Chomsky's generative system of grammars, particularly context-free grammars (CFGs) and regular expressions (REs), to express the syntax of programming languages and protocols. The power of generative grammars to express ambiguity is crucial to their original purpose of modelling natural languages, but this very power makes it unnecessarily difficult both to express and to parse machine-oriented languages using CFGs. Parsing Expression Grammars (PEGs) provide an alternative, recognition-based formal foundation for describing machine-oriented syntax, which solves the ambiguity problem by not introducing ambiguity in the first place. Where CFGs express nondeterministic choice between alternatives, PEGs instead use prioritized choice. PEGs address frequently felt expressiveness limitations of CFGs and REs, simplifying syntax definitions and making it unnecessary to separate their lexical and hierarchical components. A linear-time parser can be built for any PEG, avoiding both the complexity and fickleness of LR parsers and the inefficiency of generalized CFG parsing. While PEGs provide a rich set of operators for constructing grammars, they are reducible to two minimal recognition schemas developed around 1970, TS/TDPL and gTS/GTDPL, which are here proven equivalent in effective recognition power.