2013
DOI: 10.1007/978-3-642-37036-6_6
|View full text |Cite
|
Sign up to set email alerts
|

FliPpr: A Prettier Invertible Printing System

Abstract: Abstract. 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 prettyprinted 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 effici… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
19
0

Year Published

2013
2013
2020
2020

Publication Types

Select...
3
2
1

Relationship

1
5

Authors

Journals

citations
Cited by 15 publications
(19 citation statements)
references
References 26 publications
(50 reference statements)
0
19
0
Order By: Relevance
“…A subject closely related to reversible programming is inverse computation and program inversion, e.g. [1,21,26,27,29,32,43]. Generalized program inversion generates a semi-inverse program, in the sense that, given some of the original inputs and outputs, it returns the remaining inputs and outputs [45,51].…”
Section: Related Workmentioning
confidence: 99%
“…A subject closely related to reversible programming is inverse computation and program inversion, e.g. [1,21,26,27,29,32,43]. Generalized program inversion generates a semi-inverse program, in the sense that, given some of the original inputs and outputs, it returns the remaining inputs and outputs [45,51].…”
Section: Related Workmentioning
confidence: 99%
“…The following example is based on one discussed by Matsuda and Wang (2013). Expressions are defined inductively as follows:…”
Section: Expressionsmentioning
confidence: 99%
“…This is the approach taken by Matsuda and Wang (2013), described in Sections 1 and 4.2. Matsuda and Wang outline the proof of a…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Introducing monadic composition to BX programming significantly expands the expressiveness of BX languages and opens up a route for programmers to explore the connection between BX programming and mainstream uni-directional programming. Moreover, it appears that many applications of bidirectional transformations (e.g., parsers and printers [17]) do not share the lens get /put pattern, and as a result have not been sufficiently explored. However, monadic composition is known to be an effective way to construct at least one direction of such transformations (e.g., parsers).…”
Section: Introductionmentioning
confidence: 99%