Marpa::R2 is now in full release

[ This is cross-posted from the new home of the Ocean of Awareness blog. ]

Announcing Marpa::R2

Marpa::R2 is now in full, official release. For those new to this blog, Marpa::R2 is an efficient, practical general BNF parser, targeted at applications too complex for regular expressions. Marpa::R2 is based on the Marpa parsing algorithm. New, but squarely based on the published literature, the Marpa algorithm parses every class of grammar in practical use today in linear time.

Marpa::R2 is the successor to Marpa::XS and

  • installs and runs on Windows.

  • has better error reporting.

  • is faster.

  • has a cleaner, simpler interface.

Marpa::XS remains available and, since changes to it are now on a "bug fix only" basis, should be quite stable. While Marpa::R2's interface will have a familiar look to users of Marpa::XS, it is not fully compatible: changes are documented here.

Those who have been following this blog may have noticed that a new BNF interface has been added to Marpa::R2. This is growing -- I am currently adding scannerless parsing to it, which means that applications will be able to run Marpa::R2 without a lexer. Because the BNF interface is new and still under very active development, it is being kept in beta status for the time being.


The Windows port of Marpa was the work of Jean-Damien Durand, who utilized Alberto Simões' Config::AutoConf. Comments on this post can be sent to the Marpa Google Group:

About Jeffrey Kegler

user-pic I blog about Perl, with a focus on parsing and Marpa, my parsing algorithm based on Jay Earley's.