Parsers are an unnecessary added layer of complexity.
What should happen is that the application returns a machine readable responses which is is then output by either a command line display algorithm or a GUI display algorithm.
I question whether the old unix concept of input and output streams has kept up with our user interface standards. I'm not saying they're a bad idea, I just think they could use a little expansion today especially how to set them up. I also think if we should have a packet oriented interface standard layered on top of the stream interface. Unix actually does this, but not for binary streams, only text streams delimited by carriage returns (see AWK).
Alas, Unix will continue to be unix long after we mere mortals are all dust.
What is research but a blind date with knowledge? -- Will Harvey