Darser: A LL(1) to Recursive Decent Parser/AST/Visitor Generator

Robert Schadek rschadek at symmetryinvestments.com
Thu Mar 21 09:06:32 UTC 2019


On Wednesday, 20 March 2019 at 21:30:29 UTC, Cym13 wrote:

> This looks nice! I'm familiar with pegged which uses PEG 
> grammars, could you maybe comment on the differences and 
> possible benefits of Darser in comparison?

Pegged can recognise a lot more than LL(1) 
(left-recursion,retry,...), Darser can not.
Pegged is really smart, Darser is really stupid.

Pegged error messages are really bad, Darser's are really good.
The Darser AST has actual classes you can set breakpoint on, 
pegged does not.
Darser has a in-build visitor class generated, pegged does not.
Stepping through a parse of some input is really easy in Darser, 
just set your breakpoints inside the parser class, in pegged that 
is not possible.

Pegged runs a CT, Darser puts out files you have to compile.



More information about the Digitalmars-d-announce mailing list