Reviews by

cpanratings
 

RSS

App-SVN-Bisect (1.0) *****

This module is great. It brings the "bisect search for a bug" algorithm to subversion. With svn-bisect you can
find any interesting commit using a binary search.

A tip: If you aren't using English locales be sure you set the LC_MESSAGES environment variable to "C" before running svn-bisect:

export LC_MESSAGES=C

Parse-RecDescent (1.94) ****

Parse::RecDescent used to be my second favourite module for parsing.
I like the powerful directives that make parsing much easier.

However there are three considerations where I feel Parse::Yapp is preferable:

- In RD is more difficult to deal with left recursive grammars. Usually you have to transform the "natural rules"

- Performance

- In RD, the language described by the grammar depends on the order of the rules. But probably this is more a question of taste than a drawback.

This is why Parse::Yapp was my favourite module for parsing
even if it lacks most of the beautiful features provided by Parse::RecDescent.

For these reasons I wrote an extension of Parse::Yapp named 'Parse::Eyapp'. Any program that runs on Parse::Yapp works without changing a comma on Parse::Eyapp.

Parse::Eyapp provides extensions similar to the ones you can find in Parse::RecDescent. For example, using the directive %defaultaction works as RD "autoactions".
The directive %tree is similar to <autotree>, etc.

I tried to merge the best of Yapp and RecDescent
and added a few extensions. Among others:
translations schemes and a language for the manipulation of abstract syntax trees.

If you like Parse::RecDescent, give it a try to Parse::Eyapp.

Parse-Yapp (1.05) *****

Parse::Yapp was my favourite module for parsing.
True, it lacks named access to semantic rules values
and other nice features that Parse::RecDescent (my second
favourite module for parsing) provides.

This is one of the reasons I wrote an extension of Parse::Yapp named 'Parse::Eyapp'. Any program that runs on Parse::Yapp works without changing a comma on Parse::Eyapp. Parse::Eyapp also provides extensions similar to the ones you can find in Parse::RecDescent. For example, using the directive %defaultaction works as the "autoactions" in Parse::RecDescent.

I tried to merge the many beautiful features of Yapp and RecDescent.
And add a few more. If you like these two modules, give a try to Parse::Eyapp.