[dmd-internals] Fixing forward ref bugs for good

mrmocool at gmx.de mrmocool at gmx.de
Wed Sep 28 08:35:32 PDT 2011


> Don, just so you know, I've been thinking for a while about  
> transitioning from doing the semantic pass in order to doing it  
> completely "on demand". In other words, try to semantic a declaration.  
> In the process, any declarations it depends on are semantic'd if not  
> already, recursively.

I've been wondering for quite some time about how one could leverage the D  
module system to properly parallelize D compilation.
(Of course I'm not speaking about the crappy C way of compiling modules  
separately with make -j where everything is processed umpteen times)

I think lexing and parsing could be done in parallel without problems?!
Semantic analysis is the tough part but one could probably consider the  
import graph and process all the sinks, i.e. modules that only import  
modules already processed or no modules, in parallel and then start a new  
iteration?!

Now I wonder how that would interact with the proposed on-demand semantic  
analysis.


More information about the dmd-internals mailing list