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);