DMD semantic passes overview?
a at a.a
Fri Dec 2 10:01:44 PST 2011
I don't suppose there's any information out there on how DMD's sematic
passes work? (esp, regarding types, forward reference resolution and
DSymbol::scope as used by AggregateDeclaration, but I suppose getting that
specific might be asking too much).
I've been digging through the code, and so far what I've been able to grok
is that there's theree passes (semantic, semantic2 and semantic3), each node
in the AST tries to run the (same) semantic pass for it's own members and
for anything they reference, and during the first pass some stuff gets
deferred to right after the first pass.
I'll keep digging though, but any help would be, umm, helpful :)
More information about the Digitalmars-d-learn