Scanner / Parser for D2
Unknown W. Brackets
unknown at simplemachines.org
Sat Apr 25 18:20:01 PDT 2009
Just be warned, I spent time trying to make the grammar correct and I
just ran into shift/reduce conflicts. I don't think D's grammar
(especially with nested things) can be properly understood by flex and
bison.
I may be wrong, though, I never liked .y and .l files, so it may just be
that I was bad at them.
What I wanted to do, eventually, was try to reuse more of DMD's existing
code. I mean, it's only a few key routines that aren't newline
friendly, and if a proper plan was laid out Walter might even be
friendly to changing them, I'd guess.
-[Unknown]
Arild Boes wrote:
> Thanks.
>
> I had not really thought about efficiency of the scanner with regards to
> realtime usage, and you are proberbly right about scanning/lexing on a
> line by line basis. Maybe the right thing to do, is to write a custom
> scanner that accomodates that. I was trying to avoid this however,
> because changes in the language, means changing the lexer obviously.
> An viable alternative would be to use some scanner generator, that suits
> my needs. Now only the grammar needs to be updated.
>
> The DCoder thing sounds interesting.
>
> /ab
>
> Unknown W. Brackets skrev:
>> I went and rewrote the bulk of the main parser/lexer in a wa
>
> y that was
>> more VSIP-friendly, which worked out for me. Unfortunately, it's just
>> a separate thing, and I need to update it badly at this point.
>>
>> One problem is, you really want to be able to scan/lex by line. If
>> you don't do some caching/optimization based on that in Visual Studio,
>> you'll be eating dirt. The design of the parser and lexer in D
>> doesn't really lend itself to that, as-is.
>>
>> But, I never went much farther than colored tokens and brace matching,
>> and it's been a few months since I've had time to mess with it.
>>
>> You may also be interested in Dave Sieber's DCoder, which was on
>> dsource iirc, although it was built trying to use yacc/etc. for D,
>> which didn't really work out well at the time. It was for 2003 iirc.
>>
>> -[Unknown]
>>
More information about the Digitalmars-d
mailing list