On 11/1/13 1:59 PM, Philippe Sigaud wrote:
The examples directory shows different grammars, from JSON to XML to C to D.

I used it with the D grammar, but the one on the website is woefully
inadequate (some mistakes, out of date compared to the compiler and
written in a somewhat convoluted style full of left-recursion). The
shortcomings are that the generated parser is quite slow compared to
other D parsers.

That comes from my coding, of course: Pegged generates a simple
recursive descent parser. I guess I could push for a better engine, but
I'm waiting for CTFE to get a bit better.

The advantages are nice, though: full parse tree, semantic actions, and
so on.

I have long believed, and continue to believe, that this kind of work is strategic for D. There has been evidence, too - the code I pushed at work recently included a generated lexer replacing a hand-written lexer with a generated component, and people did notice. Compile-time and run-time improvements sealed the deal.

To succeed against established languages, D must not only do well where others also do well. It's not even enough to do great where others do well. It must do well (or great!) where others don't even stand a chance. Regex and Pegged are in that category.

Bugs stopping Pegged from going forward should receive high priority. I also encourage others to participate to that and similar work.


Andrei

Reply via email to