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.