Ordered pretty printing

Pretty printing is ordered by its occurrence in the grammar.

I.e. given a grammar:

    S -> x | y z | S

Pretty printing will now yield the productions in left to right, top to bottom order, i.e. `S`, `x`, `y`, `z`.