Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Lex & yacc
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
Scheme: A Interpreter for Extended Lambda Calculus
Higher-Order and Symbolic Computation
Adding Semantic and Syntactic Predicates To LL(k): pred-LL(k)
CC '94 Proceedings of the 5th International Conference on Compiler Construction
Parsing expression grammars: a recognition-based syntactic foundation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
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)
Extraction in Coq: An Overview
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Formal verification of a realistic compiler
Communications of the ACM - Barbara Liskov: ACM's A.M. Turing Award Winner
A Large-Scale Experiment in Executing Extracted Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Simple, functional, sound and complete parsing for all context-free grammars
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Parsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsing expression grammars (PEGs), a formalism essentially representing recursive descent parsing, which we consider an attractive alternative to context-free grammars (CFGs). From this formalization we can extract a parser for an arbitrary PEG grammar with the warranty of total correctness, i.e., the resulting parser is terminating and correct with respect to its grammar and the semantics of PEGs; both properties formally proven in Coq.