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 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.
Original language | English |
---|---|
Pages (from-to) | 173-202 |
Number of pages | 30 |
Journal | New Generation Computing |
Volume | 36 |
Issue number | 3 |
Early online date | 27 Aug 2018 |
DOIs | |
Publication status | Published - 2018 |
Structured keywords
- Programming Languages
Keywords
- Domain specific language
- Language design
- Parsing
- Pretty-printing
- Program inversion
- Program transformation