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