in reply to Parse::RecDescent

Parse::RecDescent has its place, but even its author opted for YAPP when doing the parsing for Lingua::Romana::Perligata for reasons discussed in last year's Perl 5 Conference.

Top-down parsing is good for changing the overall structure of parse phrasing. Bottom up makes hardcore tokenizing easier, and that's why Damian opted for a module other than even his own in this case.

Replies are listed 'Best First'.
Re: Re: Parse::RecDescent
by Masem (Monsignor) on Apr 24, 2001 at 02:07 UTC
    There are still places where you'd want to use Parse::RecDescent over YAPP, based on what I've looked into the latter, a couple which concern me for a project I'm working on; first, you cannot match code blocks if the outside language is not pure perl, unless you insert the entire perl grammar tree within your recipe. This is not a fun prospect. Secondly, YAPP requires you to work with outside tools to generate .pm files that basically become your parser; this doesn't allow for dynamically changing rules or easily creating new parser sets on the fly.

    Mind you, this latter condition is probably a rarity in terms of programmers needs; most programs that use such parsers will have a fixed grammer where the improved reliability of YAPP will play out much better. (Maybe I'll play with that as well and put up a comparible review).

    Dr. Michael K. Neylon - || "You've left the lens cap of your mind on again, Pinky" - The Brain