index
1 /************************************************************
2 * file: SyntaxTreeNode.cpp
3 * date: 2006-04-12
4 * author: ideawu
5 * describe: none; SyntaxTreeNode
6 *************************************************************/
7
8 #include "SyntaxTreeNode.h"
9
10
11 SyntaxTreeNode::SyntaxTreeNode(){
12 type = ERROR;
13 value = 0;
14 left = right = child3 = NULL;
15 }
16 SyntaxTreeNode::SyntaxTreeNode(TokenType t, int val){
17 type = t;
18 value = val;
19 left = right = child3 = NULL;
20 }
21
22 SyntaxTreeNode::~SyntaxTreeNode(){
23 if(left != NULL){
24 delete left;
25 }
26 if(right != NULL){
27 delete right;
28 }
29 if(child3 != NULL){
30 delete child3;
31 }
32 }
33
34 /*===================================================================*/
35
36 void SyntaxTreeNode::setType(TokenType t){
37 type = t;
38 }
39
40 TokenType SyntaxTreeNode::getType(){
41 return type;
42 }
43
44 void SyntaxTreeNode::setValue(int val){
45 value = val;
46 }
47
48 int SyntaxTreeNode::getValue(){
49 return value;
50 }
51
52
53 void SyntaxTreeNode::addLeft(TokenType t, int val){
54 left = new SyntaxTreeNode(t, val);
55 }
56 void SyntaxTreeNode::addLeft(SyntaxTreeNode *n){
57 left = n;
58 }
59
60
61 void SyntaxTreeNode::addRight(TokenType t, int val){
62 right = new SyntaxTreeNode(t, val);
63 }
64 void SyntaxTreeNode::addRight(SyntaxTreeNode *n){
65 right = n;
66 }
67
68
69 void SyntaxTreeNode::addChild3(TokenType t, int val){
70 child3 = new SyntaxTreeNode(t, val);
71 }
72 void SyntaxTreeNode::addChild3(SyntaxTreeNode *n){
73 child3 = n;
74 }
75
76
77 SyntaxTreeNode* SyntaxTreeNode::getLeft(){
78 return left;
79 }
80
81 SyntaxTreeNode* SyntaxTreeNode::getRight(){
82 return right;
83 }
84
85 SyntaxTreeNode* SyntaxTreeNode::getChild3(){
86 return child3;
87 }
88
89
90