Mercurial > projects > dang
comparison dang/compiler.d @ 194:08f68d684047
Rename some files. Hopefully we can get a more iterative sema pass, that's a lot easier to "get startet with".
Also added support for alias.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Tue, 29 Jul 2008 13:54:44 +0200 |
parents | dc9bf56b7ace |
children | 4e1a7265d620 |
comparison
equal
deleted
inserted
replaced
193:658178183018 | 194:08f68d684047 |
---|---|
23 | 23 |
24 import gen.CodeGen; | 24 import gen.CodeGen; |
25 | 25 |
26 import sema.Visitor, | 26 import sema.Visitor, |
27 sema.AstAction, | 27 sema.AstAction, |
28 sema.ScopeBuilder, | 28 sema.BuildScopes, |
29 sema.BuildSymbols, | |
30 sema.CheckScopes, | |
31 sema.CheckTypes, | |
29 sema.LiteralInterpreter, | 32 sema.LiteralInterpreter, |
30 sema.ScopeCheck, | |
31 sema.VC, | 33 sema.VC, |
32 sema.ObjectOriented, | 34 sema.ObjectOriented; |
33 sema.TypeCheck; | |
34 | 35 |
35 import tango.stdc.posix.unistd; | 36 import tango.stdc.posix.unistd; |
36 import tango.stdc.stdlib; | 37 import tango.stdc.stdlib; |
37 | 38 |
38 import Opt = dang.OptParse; | 39 import Opt = dang.OptParse; |
312 } | 313 } |
313 | 314 |
314 modules = (new ModuleLoader()).visit(modules, messages, src_mgr); | 315 modules = (new ModuleLoader()).visit(modules, messages, src_mgr); |
315 messages.checkErrors; | 316 messages.checkErrors; |
316 | 317 |
317 (new ScopeBuilder).visit(modules); | 318 (new BuildScopes).visit(modules); |
319 (new BuildSymbols).visit(modules); | |
318 StopWatch watch2; | 320 StopWatch watch2; |
319 watch.start; | 321 watch.start; |
320 watch2.start; | 322 watch2.start; |
321 (new ScopeCheck(messages)).visit(modules); | 323 (new CheckScopes(messages)).visit(modules); |
322 messages.checkErrors; | 324 messages.checkErrors; |
323 auto scope_check = watch2.stop; | 325 auto scope_check = watch2.stop; |
324 | 326 |
325 watch2.start; | 327 watch2.start; |
326 (new TypeCheck(messages)).visit(modules); | 328 (new CheckTypes(messages)).visit(modules); |
327 messages.checkErrors; | 329 messages.checkErrors; |
328 auto type_check = watch2.stop; | 330 auto type_check = watch2.stop; |
329 | 331 |
330 watch2.start; | 332 watch2.start; |
331 (new ObjectOriented(messages)).visit(modules); | 333 (new ObjectOriented(messages)).visit(modules); |