Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Non-determinism in functional languages
The Computer Journal - Special issue on formal methods: part 1
Proving the correctness of recursion-based automatic program transformations
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
Syntax-Directed Semantics: Formal Models Based on Tree Transducers
Syntax-Directed Semantics: Formal Models Based on Tree Transducers
Polytypic data conversion programs
Science of Computer Programming
Relating Accumulative and Non-accumulative Functional Programs
RTA '01 Proceedings of the 12th International Conference on Rewriting Techniques and Applications
The Design of a Pretty-printing Library
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Information Systems
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Positive supercompilation for a higher order call-by-value language
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-order multi-parameter tree transducers and recursion schemes for program verification
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parser combinators for ambiguous left-recursive grammars
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Invertible syntax descriptions: unifying parsing and pretty printing
Proceedings of the third ACM Haskell symposium on Haskell
Proceedings of the 4th ACM symposium on Haskell
Parsing with derivatives: a functional pearl
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A grammar-based approach to invertible programs
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Feat: functional enumeration of algebraic types
Proceedings of the 2012 Haskell Symposium
Correct-by-construction pretty-printing
Proceedings of the 2013 ACM SIGPLAN workshop on Dependently-typed programming
Hi-index | 0.00 |
When implementing a programming language, we often write a parser and a pretty-printer. However, manually writing both programs is not only tedious but also error-prone; it may happen that a pretty-printed result is not correctly parsed. In this paper, we propose FliPpr, which is a program transformation system that uses program inversion to produce a CFG parser from a pretty-printer. This novel approach has the advantages of fine-grained control over pretty-printing, and easy reuse of existing efficient pretty-printer and parser implementations.