SDC & ddmd

Bernard Helyer b.helyer at gmail.com
Sun Dec 11 03:03:57 PST 2011


On Saturday, 10 December 2011 at 11:17:19 UTC, Timon Gehr wrote:
> On 12/10/2011 10:54 AM, Bernard Helyer wrote:
>> On Saturday, 10 December 2011 at 09:47:14 UTC, Timon Gehr 
>> wrote:
>>> How is that an 'omission'?
>>
>> Just my lame attempt at humour. :P
>
> Should have thought of that. =)
> Do you already have a working design? I think what Don 
> suggested (process static if and mixins in sequence...<snip>

Nothing so elegant, I'm afraid. Each module has all top level 
declarations added to a list, SDC then iterates over the list 
trying to resolve them appropriately. If it can, it marks it as 
done and moves to the next. If it can't it increments the "can't 
resolve" counter and keeps going. If on a given loop the can't 
resolve counter is zero, then a source of top level declarations 
(static if, import statements, version blocks, etc) is added to 
the list. This keeps going until the entire list is handled, or 
we've hit an impossible situation.

Rather simplistic, but we haven't had any trouble with it yet.


More information about the Digitalmars-d mailing list