D Parsing (again)/ D grammar

Philippe Sigaud via Digitalmars-d digitalmars-d at puremagic.com
Thu Oct 2 22:10:36 PDT 2014


> I have a huge collection of projects I never published :-) We all do, I
> guess.

Oh, the ratio is more and 100 projects for one published...


> No, this is not exactly what I mean. Multithreading can be perfectly fine in
> some cases, very fruitful sometimes. Say, in NLP, when one has to process
> long or highly ambiguous strings, and the parse tree can become huge and is
> of importance in itself... Yes. In programming language parsing this is just
> a small step towards further stages within a longer pipeline. It has to be
> fast enough to make multithreading on this step an overkill.

I don't know. Using fibers, I'm hoping to get interesting results one
day. I got it by a workstorm before trying fibers. OS threads were a
bit to heavy and didn't work that well.


> BTW, there's one an interesting related work that probably should be taken
> as a positive example of generalized parsing: the Elkhound parser generator.
> It uses a hybrid LALR/GLR approach, thus achieving better performance.
> There's much more to it, I didn't go too deep into it.

Yes, Elkhound is interesting, their approach is nice. But It gave me
the impression to be abandoned for a few years?

>
>> I found an article by the GLL authors explaining how they coded their
>> algorithm for more speed, but I couldn't wrap my head around it.
>
>
> By now, I have read the original Tomita's GLR paper, Antlr ALL(*) paper, a
> few recent GLR papers, three papers on GLL and a few related ones . It
> took... A while. I sort of understand the idea, but still not sure about the
> details :-)

ALL(*) is on my todo list. I tried to implement it in Spring, but got
bogged down in the details. Even the white paper has some imprecisions
when you really sit down and try to code it.
I could have a look at ANTLR v4 source, but wanted to have a clean
start, right from the white paper.

> What's the name of the paper you read? "Modelling GLL Parser
> Implementation"?

Yes.


More information about the Digitalmars-d mailing list