D for Suneido

Era Scarecrow rtcvb32 at yahoo.com
Sun Aug 12 22:43:57 PDT 2012


On Sunday, 12 August 2012 at 23:35:39 UTC, bearophile wrote:
> Pragma Tix:
>
>> 2) http://thesoftwarelife.blogspot.fr/2012/08/d-tours.html
>
> From the blog post:
>
> -----------------------
>
>> Another minor annoyance was the lack of an equivalent to 
>> Java's static import. If I want to refer to the tokens as just 
>> IF or ELSE I could make them "anonymous". But then they don't 
>> have a specific type. Or I can give the enum a named type, but 
>> then I have to always reference them with Token.IF . In Java I 
>> could say import static Token.* and then just use the bare 
>> names.

> This helps:
>
> with(Token) {
>     // lot and lot of code here
> }

  Done that before :) Quite heavily in one of my sources.

  Glancing at the code for his lexer I wonder if the approach is 
right. I've only written a couple half lexers for minor projects, 
but he's duplicating what's in std.range & std.ascii; Also his 
structure and methods go twoards suggesting he's making a range 
but not working with D on it (next, nextAll vs front, popFront).

  Wouldn't an actual range for his tokens/lexer be better (which 
then creates/calculates and returns the current token)? I've done 
this once in one of my projects and it actually turned out to 
work very well.


More information about the Digitalmars-d mailing list