There are two kinds of parsers - the kind that support an executable language and rigidly enforce their syntax - and the kind that try to figure out what people mean and are somewhat forgiving.

You absolutely must teach recurisve decent parsing to deal with the second (and I'll argue more common) scenario.

Consider html, syntax coloring editors, and a whole bunch of other domains I don't have time to list.

The standard parsers build by lex/yacc/bison/smacc, all bail at the first error. In practice, this is seldom good enough. You want to recover from errors and keep going, at least to save the developer some time down the road.

So I take a dim view of compiler compilers. The really good ones are written by hand.