On 31-07-2011 12:36, Jonathan M Davis wrote:
On Sunday 31 July 2011 12:28:29 Alex Rønne Petersen wrote:
On 31-07-2011 12:24, Jonathan M Davis wrote:
On Sunday 31 July 2011 12:01:02 Alex Rønne Petersen wrote:
On 31-07-2011 11:57, Jacob Carlborg wrote:
Have a look at Derelict: http://dsource.org/projects/derelict/
It wraps OpenGL, OpenAL and other game/multimedia related libraries.

That looks nice. Are there any plans for OpenCL support?

I think someone is working on this.

I know of the Goldie project. Is this it?

Off and on, I've been working on porting dmd's lexer to D for Phobos,
but I've had enough else going on, that I haven't gotten much done on
it of late. And there is some controversy on the matter, because Andrei
and others want a lexer/parser generator in Phobos rather than a
hand-written lexer and parser. Both are of value though. So, I don't
know what we'll end up with in the end. I'm not aware of anyone working
on a lexer or parser generator for Phobos though. Goldie is the closest
to that sort of thing that there is at the moment. I think that Jacob
was referring to my efforts to port the dmd lexer though.

- Jonathan M Davis

A generator is what I had in mind - it would allow users to more easily
approach parsing, I think. Hand-written parsers have a much greater
learning curve.

I do agree on both ideas though; a built-in parser for D would probably
be pretty useful to have for extracting information from D source code.

An interesting exercise would be generating a lexer/parser via CTFE and
mixins. :) Perhaps we don't really need dlex/dyacc tools if we could do
something like that.

The idea behind the hand-written D lexer (and eventually parser) for D is that
it follows the implementation of the compiler's front-end, and so using it to
process D code will have the same result as running the compiler. It obviously
doesn't scale beyond D itself.

If you have a lexer generator and/or parser parser generator, then you can get
it to generate a lexer or parser for any grammar that you want. So, it covers
a different use case - which is why both are of value.

Personally, I'd probably want to write a parser by hand anyway, since there
are definite advantages in doing so, but there's no reason why Phobos shouldn't
have a generator for that for those who want it. Someone still needs to write
it though.

- Jonathan M Davis

It's something I wouldn't mind having a look into. I think we could do some awesome magic with CTFE/mixins to do it all inside the D language, using no external tools, but I'm not sure. I'll have to dig into the implementations of existing lexers/parsers first and wee how it could be done.

- Alex

Reply via email to