diff options
author | Mike Buland <eichlan@xagasoft.com> | 2011-12-24 01:08:21 -0700 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2011-12-24 01:08:21 -0700 |
commit | 32c32bc48c8fd7cffca301b8919fb26726f6467e (patch) | |
tree | fbe58058531f253e4e351312f87e8276ce087c31 /src/astnode.h | |
parent | d7c0a793787eaf52c4302d6d1ea6cc43f7ff9ca7 (diff) | |
download | stage-32c32bc48c8fd7cffca301b8919fb26726f6467e.tar.gz stage-32c32bc48c8fd7cffca301b8919fb26726f6467e.tar.bz2 stage-32c32bc48c8fd7cffca301b8919fb26726f6467e.tar.xz stage-32c32bc48c8fd7cffca301b8919fb26726f6467e.zip |
Ast nearly done, builder coming along.
Diffstat (limited to 'src/astnode.h')
-rw-r--r-- | src/astnode.h | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/src/astnode.h b/src/astnode.h index 780e07e..9584788 100644 --- a/src/astnode.h +++ b/src/astnode.h | |||
@@ -6,31 +6,38 @@ | |||
6 | class AstNode | 6 | class AstNode |
7 | { | 7 | { |
8 | public: | 8 | public: |
9 | AstNode(); | ||
10 | virtual ~AstNode(); | ||
11 | |||
12 | enum Type | 9 | enum Type |
13 | { | 10 | { |
14 | tValue = 0x01000000, | 11 | tLeaf = 0x01000000, |
15 | tVarName = 0x01000001, | 12 | tVarName = 0x01000001, |
16 | tLiteral = 0x01000002, | 13 | tLiteral = 0x01000002, |
17 | tFuncName = 0x01000003, | 14 | tFuncName = 0x01000003, |
15 | tNot = 0x01000004, | ||
16 | tComp = 0x01000005, | ||
17 | tCompGt = 0x01000006, | ||
18 | tCompLt = 0x01000007, | ||
19 | tCompGtEq = 0x01000008, | ||
20 | tCompLtEq = 0x01000009, | ||
21 | tStore = 0x0100000A, | ||
22 | tAnd = 0x0100000B, | ||
23 | tOr = 0x0100000C, | ||
24 | |||
18 | tBranch = 0x02000000, | 25 | tBranch = 0x02000000, |
19 | tScope = 0x02000001, | 26 | tScope = 0x02000001, |
20 | tIf = 0x02000002, | 27 | tIf = 0x02000002, |
21 | tElse = 0x02000003, | 28 | tForEach = 0x02000003, |
22 | tNot = 0x00000004, | 29 | tWhile = 0x02000004, |
23 | tComp = 0x02000005, | 30 | |
24 | tCompGt = 0x02000006, | 31 | tTypeMask = 0x03000000, |
25 | tCompLt = 0x02000007, | ||
26 | tCompGtEq = 0x02000008, | ||
27 | tCompLtEq = 0x02000009, | ||
28 | tStore = 0x0200000A, | ||
29 | tAnd = 0x0200000B, | ||
30 | tOr = 0x0200000C, | ||
31 | }; | 32 | }; |
33 | |||
34 | AstNode( Type eType ); | ||
35 | virtual ~AstNode(); | ||
36 | |||
37 | Type getType() const { return eType; } | ||
32 | 38 | ||
33 | private: | 39 | private: |
40 | Type eType; | ||
34 | }; | 41 | }; |
35 | 42 | ||
36 | #endif | 43 | #endif |