Marpa

Marpa is a modern Earley parser that can parse all common grammars in linear time, and can handle all context free grammars (CFGs). Jeffrey Kegler developed the algorithm, implemented it as the C library libmarpa, and created a convenient Perl5 interface.