view sema/LiteralInterpreter.d @ 119:c0b531362ca6

Non compileing commit. Work on floating points and casts
author Anders Johnsen <skabet@gmail.com>
date Sun, 25 May 2008 19:13:07 +0200
parents c658172ca8a0
children 6cb2f4201e2a
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 type = parseString(exp.str, exp.loc, messages);
    }

    void visitIntegerLit(IntegerLit exp)
    {
        exp.number = parseNumber(exp.name, exp.loc, messages);
    }

    MessageHandler messages;
}