summaryrefslogtreecommitdiff
path: root/src/astnode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/astnode.h')
-rw-r--r--src/astnode.h46
1 files changed, 26 insertions, 20 deletions
diff --git a/src/astnode.h b/src/astnode.h
index 9584788..1054a2b 100644
--- a/src/astnode.h
+++ b/src/astnode.h
@@ -5,30 +5,33 @@
5 5
6class AstNode 6class AstNode
7{ 7{
8friend Bu::Formatter &operator<<( Bu::Formatter &f, const AstNode &n );
8public: 9public:
9 enum Type 10 enum Type
10 { 11 {
11 tLeaf = 0x01000000, 12 tLeaf = 0x01000000,
12 tVarName = 0x01000001, 13 tNot = 0x01000001,
13 tLiteral = 0x01000002, 14 tComp = 0x01000002,
14 tFuncName = 0x01000003, 15 tCompGt = 0x01000003,
15 tNot = 0x01000004, 16 tCompLt = 0x01000004,
16 tComp = 0x01000005, 17 tCompGtEq = 0x01000005,
17 tCompGt = 0x01000006, 18 tCompLtEq = 0x01000006,
18 tCompLt = 0x01000007, 19 tStore = 0x01000007,
19 tCompGtEq = 0x01000008, 20 tAnd = 0x01000008,
20 tCompLtEq = 0x01000009, 21 tOr = 0x01000009,
21 tStore = 0x0100000A, 22
22 tAnd = 0x0100000B, 23 tLeafLiteral = 0x02000000,
23 tOr = 0x0100000C, 24 tVarName = 0x02000001,
24 25 tLiteral = 0x02000002,
25 tBranch = 0x02000000, 26 tFuncName = 0x02000003,
26 tScope = 0x02000001, 27
27 tIf = 0x02000002, 28 tBranch = 0x04000000,
28 tForEach = 0x02000003, 29 tScope = 0x04000001,
29 tWhile = 0x02000004, 30 tIf = 0x04000002,
30 31 tForEach = 0x04000003,
31 tTypeMask = 0x03000000, 32 tWhile = 0x04000004,
33
34 tTypeMask = 0x07000000,
32 }; 35 };
33 36
34 AstNode( Type eType ); 37 AstNode( Type eType );
@@ -40,4 +43,7 @@ private:
40 Type eType; 43 Type eType;
41}; 44};
42 45
46Bu::Formatter &operator<<( Bu::Formatter &f, AstNode::Type t );
47Bu::Formatter &operator<<( Bu::Formatter &f, const AstNode &n );
48
43#endif 49#endif