Mercurial > projects > dang
annotate sema/LiteralInterpreter.d @ 106:89db676fbacb
Now able of understanding strings.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Thu, 22 May 2008 12:09:11 +0200 |
parents | |
children | c658172ca8a0 |
rev | line source |
---|---|
106
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
1 module sema.LiteralInterpreter; |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
2 |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
3 import sema.Visitor; |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
4 |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
5 import basic.LiteralParsing, |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
6 basic.Message; |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
7 |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
8 class LiteralInterpreter : Visitor!(void) |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
9 { |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
10 this(MessageHandler messages) |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
11 { |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
12 this.messages = messages; |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
13 } |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
14 |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
15 void visit(Module[] modules) |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
16 { |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
17 super.visit(modules); |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
18 messages.checkErrors(); |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
19 } |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
20 |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
21 void visitStringExp(StringExp exp) |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
22 { |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
23 auto type = parseString(exp.str, exp.loc, messages); |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
24 } |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
25 |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
26 MessageHandler messages; |
89db676fbacb
Now able of understanding strings.
Anders Johnsen <skabet@gmail.com>
parents:
diff
changeset
|
27 } |