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 |
Research Groups and Themes
- Programming Languages
Keywords
- Domain specific language
- Language design
- Parsing
- Pretty-printing
- Program inversion
- Program transformation