Пример #1
0
 def _initCFG(self, row):
     self.currentCFG = CFG()
     self.currentCFG.addNode(BasicBlock(row))
     self.currentLevel = int(getCSVRowLevel(row)) + 1
     self.functionLevel = self.currentLevel - 1
     self.functionName = row[5]
     self.functionPos = row[1]
     self.resetStacks()    
Пример #2
0
    def prune(self, cfg):
        prunedCfg = CFG()
        prunedCfg.edges = cfg.edges

        for basicBlock in cfg.nodes:
            prunedBasicBlock = self.pruneBasicBlock(basicBlock)
            prunedCfg.addNode(prunedBasicBlock)

        prunedCfg.registerSuccessors()

        return prunedCfg