October 2011 Archives

Perl and Parsing 12: Beating up on the "use" statement

you may have noticed that it has been a bad few weeks for Perl's use statement. I have been picking it apart in this series, and chromatic, on his blog, recently pointed out a documentation issue. Unlike chromatic, who focuses on user concerns, I use Perl as a way to implement and to illustrate parsing. T…

Marpa::XS is now beta

Marpa::XS is now beta. Marpa::XS will kept stable. Changes to its interface will be especially avoided.

What is Marpa?

Marpa is an advance over recursive descent and yacc. I hope the Marpa algorithm will become the standard parser for problems too big for regular expressions.

  • Marpa parses, in linear time, those classes of grammar that are currently in practical use.
  • The importance of parse-time debugging is often underestimated. Marpa…

Announcing Marpa::XS 0.016000

Marpa::XS 0.016000 a week ago and the cpantesters results look excellent. With this release, my conversion of Marpa from Perl to C is finished. A lot of Perl code remains, to be sure, but all of it is code that arguably belongs in some kind of higher-level language.

This release was checked for leaks and other memory issues. The couple of issues that turned up were fixed.

What is Marpa?

Marpa is an advance over recursive descent and yacc. I hope the Marpa algorithm will be…

Perl and Parsing 11: Are all Perl programs parseable?

I want to touch on a question I have so far avoided: Are all Perl programs parseable?

Most languages do not pose this question. It was Adam Kennedy, in creating PPI, who first ran up against it. Adam conjectured that in fact Perl parsing may be undecidable. While in the planning stages for Marpa, I found Adam's conjecture and turned it into a formal proof.

Being the first to formalize this result, I took the initial heat over it, and now I get …

Perl and Parsing 10: "Use" the Easier Way

the previous post in this series, I described the way the Traditional Perl Parser (TPP) parses Perl's use statement. This post will describe an IMHO attractive alternative approach, using my own Marpa::XS. Marpa::XS has a prototype Perl parser as part of its test suite.

The TPP Way

If ="https://blogs.perl.org/users/jeffrey_kegler/2011/09/perl-and-…

About Jeffrey Kegler

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