[Python-Dev] Parsing vs. lexing.

Jeremy Hylton jeremy@alum.mit.edu
Wed, 21 Aug 2002 16:21:18 -0400


>>>>> "ZW" == Zack Weinberg <zack@codesourcery.com> writes:

  ZW> You might be interested to know that over in GCC land we're
  ZW> changing the C++ front end to use a hand-written recursive
  ZW> descent parser.  It's not done yet, but we expect it to be
  ZW> easier to maintain, faster, and better at generating diagnostics
  ZW> than the existing yacc-based parser.

LCC also uses a hand-written recursive descent parser, for exactly the
reasons you mention.

Thought I'd also mention a neat new paper about an old algorithm for
recursive descent parsers with backtracking and unlimited lookahead.

Packrat Parsing: Simple, Powerful, Lazy, Linear Time, Bryan Ford. ICFP 2002
http://www.brynosaurus.com/pub.html

Jeremy