3 ms·
As for the practical construction of parsers, you don't have to make special case hacks for operator precedence, you only have to express operator precedence di
by dfox 16y ago
As for the practical construction of parsers, you don't have to make special case hacks for operator precedence, you only have to express operator precedence directly in grammar (using trick that seems obvious once you see it).
Recursive descent is often ideal in practice, but it is "unfashionable" mostly because it's trivial to write tools that convert grammar in "right" form to parsers, but almost impossible to write tools that converts random grammar into such "right" form. Most other subsets of CFG are significantly more complex to parse, but better suited to computer manipulation on the grammar level (typical LALR parser generator does the above mentioned trick internally and many similar transformations).