Is there a parser generator that also implements the inverse direction, i.e. unparsing domain objects (a.k.a. pretty-printing) from the same grammar specification? As far as I k
Take a look at Invertible syntax descriptions: Unifying parsing and pretty printing.