On Thursday, 2 October 2014 at 18:20:36 UTC, Philippe Sigaud via
Digitalmars-d wrote:
I did that during this summer, almost to the point it was
self-sustained (that is, the GLL parser generator was used to
generate
a parser for grammars files). I chose a range interface: input
is a
string, the parse forest is output as a range of parse trees.
Nice! Is it public? Github?
Halas, even with some shortcuts on Kleene stars it was quite
slow. I
tried to use threads (spawning worker threads on alternatives),
but
that did not change the timings much.
AFAIK, multithreading is a bad idea in parsing.
Actually, in the gll-combinators Scala project they have similar
speed problems. I don't if it's a fundamental algorithm problem
or an implementation details that lead to slowdowns.