Imho the problem is the fixation on parser generators and BNF. It's just a lot easier to write a recursive descent parser than to figure out the correct BNF for anything other than a toy language with horrible syntax.
The problem with recursive descent parsers is that they don't restrict you into using simple grammars.
But then, pushing regular languages theory into the curriculum, just to rush over it so you can use them for parsing is way worse.
The problem with recursive descent parsers is that they don't restrict you into using simple grammars.
But then, pushing regular languages theory into the curriculum, just to rush over it so you can use them for parsing is way worse.