예제 #1
0
파일: cdgWrapper.c 프로젝트: swapnilsm/CDG
// branch variable tell on which branch of parent the node is to be attached
void addtoCDGnode(int id, int pid, int branch) {
    CDGNode* node = newBlankNode();
    setID(node, id);
    if ( 0 == id ) {
        root = node;
    } else {
        if (branch) {
            addTrueNode(nodes[pid], node);
        } else {
            addFalseNode(nodes[pid], node);
        }
    }
    nodes[id] = node;
}
예제 #2
0
CDGNode *addDummyNodes(CDGNode * node) {
  while (node) {
    if (!isLeaf(node)) {
      if (NULL == getTrueNodeSet(node)) {
	addTrueNode(node, newBlankNode());
      } else if (NULL == getFalseNodeSet(node)) {
	addFalseNode(node, newBlankNode());
      }
    }
    addDummyNodes(getTrueNodeSet(node));
    addDummyNodes(getFalseNodeSet(node));
    node = getNextNode(node);
  }
  return node;
}