Mercurial > projects > dang
view sema/LiteralInterpreter.d @ 195:4e1a7265d620
Made a BuildTypes pass, to give all exp's a type.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Tue, 29 Jul 2008 15:50:24 +0200 |
parents | fda35d57847e |
children |
line wrap: on
line source
module sema.LiteralInterpreter; import sema.Visitor; import basic.LiteralParsing, basic.Message; class LiteralInterpreter : Visitor!(void) { this(MessageHandler messages) { this.messages = messages; } void visit(Module[] modules) { super.visit(modules); messages.checkErrors(); } void visitStringExp(StringExp exp) { auto str = parseString(exp.str, exp.loc, messages); exp.data = str; } void visitIntegerLit(IntegerLit exp) { exp.number = parseNumber(exp.name, exp.loc, messages); } MessageHandler messages; }