Fast handy languages

My new blog post is a summary of what the Marpa parser is about. It even includes a section on when not to use Marpa.

Linear? Yeah right.

Marpa claims to be linear -- O(n) -- for every grammar class that PEG, recursive descent, yacc or bison are, and then some. Dubious? Check out "Linear? Yeah right."

PEG: Ambiguity, precision and confusion

In my lastest blog post, I talk about PEG, the popular parsing algorithm.

Parsing: top-down versus bottom-up

[ This is cross-posted by invitation, from its home on the Ocean of Awareness blog. ]

Comparisons between top-down and bottom-up parsing are often either too high-level or too low-level. Overly high-level treatments reduce the two approaches to buzzwords, and the comparison to a recitation of received wisdom. Overly low-level treatments get immersed in the minutiae of implementation, and the resulting comparison is as revealing as placing two abstractly related code listings side by side. In this post I hope to find the middle level; to shed light on why advocates of bottom-up and top-down parsing approaches take the positions they do; and to speculate about the way forward.

Top-down parsing

The basic idea of top-down parsing is as brutally simple as anything in programming: Starting at the top, we add pieces. We do this by looking at the next token and deciding then and there where it fits into the parse tree. Once we've looked at every token, we have our parse tree.

Removing obsolete versions of Marpa from CPAN

[ This is cross-posted by invitation, from its home on the Ocean of Awareness blog. ]

Marpa::XS, Marpa::PP, and Marpa::HTML are obsolete versions of Marpa, which I have been keeping on CPAN for the convenience of legacy users. All new users should look only at Marpa::R2.

I plan to delete the obsolete releases from CPAN soon. For legacy users who need copies, they will still be available on backPAN.