Mercurial > projects > dil
comparison trunk/src/dil/Expressions.d @ 502:4e14cd1b24da
Refactored code and added modules related to tabulated Identifiers.
Rearranged members of struct Identifier and added new member ID identID.
Moved idTableLookup to module dil.IdTable.
Renamed module TokenIDs to TokensEnum.
Added member Identifier* ident to struct Token.
Changed string switchtes in Parser to integer switches using enum ID.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Tue, 11 Dec 2007 14:19:30 +0100 |
parents | 47be6bfe39cd |
children | 3bb94ba21490 |
comparison
equal
deleted
inserted
replaced
501:949a53332c66 | 502:4e14cd1b24da |
---|---|
6 import dil.SyntaxTree; | 6 import dil.SyntaxTree; |
7 import dil.Token; | 7 import dil.Token; |
8 import dil.Types; | 8 import dil.Types; |
9 import dil.Declarations; | 9 import dil.Declarations; |
10 import dil.Statements; | 10 import dil.Statements; |
11 import dil.Identifier; | |
11 import dil.Scope; | 12 import dil.Scope; |
12 | 13 |
13 abstract class Expression : Node | 14 abstract class Expression : Node |
14 { | 15 { |
15 this() | 16 this() |
1010 } | 1011 } |
1011 } | 1012 } |
1012 | 1013 |
1013 class AsmRegisterExpression : Expression | 1014 class AsmRegisterExpression : Expression |
1014 { | 1015 { |
1015 Token* register; | 1016 Identifier* register; |
1016 Token* number; // ST(0) - ST(7) or FS:0, FS:4, FS:8 | 1017 int number; // ST(0) - ST(7) or FS:0, FS:4, FS:8 |
1017 this(Token* register, Token* number = null) | 1018 this(Identifier* register, int number = -1) |
1018 { | 1019 { |
1019 mixin(set_kind); | 1020 mixin(set_kind); |
1020 this.register = register; | 1021 this.register = register; |
1021 this.number = number; | 1022 this.number = number; |
1022 } | 1023 } |