|Migrating to Marpa — a comment on "Parsing on your new hyper-quantum computer"||rns||9/25/12 10:44 PM|
How would you rewrite your recursive descent logic to take advantage of this new hyper-quantum computer? Actually, this is exactly the same question that Marpa poses to you today. Because for all classes of grammar in practical use, including the LL(k) grammars parseable by recursive descent, Marpa is efficient non-determinism.
This raises a very important question of migration to marpa. Why does a relatively happy user of recdescent Regexp::Parser have to migrate? For time or memory or features or any their combination. Then comes cost/benefit: how easy will this migration be? Migrating the recdescent's tutorial to Marpa would be a good start. This is also related to Marpa's ease of use that I'll address in a separate topic.
Migration-wise, your recent work on speeding up Marpa::R2::HTML looks very important.
I'm not an expert, but saying (in general): Marpa parses HTML faster than HTML::Parser and lets you deal with more irregularities and confirming it with benchmarks — that can attract attention.
Overall, HTML/XML parsing (and (sub)tree building) in guaranteed linear time with the same or better (or not very worse) memory usage looks like a lofty goal. JSON and YAMLwould make a nice addition.