Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Re: evolving an OO design

by Schemer (Scribe)
on Dec 04, 2002 at 04:10 UTC ( [id://217416] : note . print w/replies, xml ) Need Help??

in reply to Re: evolving an OO design
in thread evolving an OO design

.. Parse::RecDescent provides a tool to build complete grammars, and according to TheDamian, most of the capabilities of this module are going into the Perl 6 language.

Just for your information there are types of grammar a recursive descent parser (like Parse::RecDescent) can't parse. Among other conditions (which I don't remember quite clearly) a left-recursive grammar can't be parsed by recdescent. A LR(n) parser would be more useful to write a grammar for a full language.

The strenght of Parse::RecDescent is in its ease of use to parse simple grammars, which is most of the time enough for general needs.

And from what I think I've understood from what I've read (parse that!), Perl 6 will be even more powerful on parsing grammars than Parse::RecDescent, which may make it a really good tool for prototyping small languages.