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