The Marpa parser

This is Jeffrey Kegler's website for Marpa, a parsing algorithm


The official Marpa starting page.


The Ocean of Awareness blog: home page, chronological index, and annotated index.

Marpa::R2 (active distribution): CPAN | MetaCPAN

Mailing List

Github repository

Jeffrey Kegler's personal website

Marpa is a parsing algorithm. It is new, but very much based on the prior work of Jay Earley, Joop Leo, John Aycock and R. Nigel Horspool. Marpa is intended to replace, and to go well beyond, recursive descent and the yacc family of parsers.

Learning more about Marpa

This is Jeffrey Kegler's Marpa web site. (I'm the author of Marpa.) The official starting point for learning about Marpa is Ron Savage's Marpa page. Other good places to learn about Marpa include the documentation of Marpa::R2, its current release, and my blog, Ocean of Awareness. Many of my blog posts are tutorials and readers have found these especially helpful. To get oriented in my blog, start at its annotated list of the most interesting Marpa posts. Discussion of Marpa currently centers around the "marpa parser" Google Group.


For those interested in the mathematics behind Marpa, there's a paper with pseudocode, and proofs of correctness and of my complexity claims.

Other resources

Libmarpa is a C library, and is the core of Marpa.

Marpa internals: These are resources of interest only to those working on the internals of Marpa itself -- "bleeding edge" documentation, etc.