Esempio n. 1
0
        public HashSet <IBaseBlock> ComputeIDF(IBaseBlock block)
        {
            List <IBaseBlock> t = new List <IBaseBlock>();

            t.Add(block);
            return(ComputeIDF(t));
        }
Esempio n. 2
0
 public void Flush()
 {
     if (!_currentBlock.Enumerate().Any())
     {
         return;
     }
     _blocks.Add(_currentBlock);
     _currentBlock = new BaseBlock();
 }
Esempio n. 3
0
 public HashSet <LabelValue> UseLabels(IBaseBlock b)
 {
     return(new HashSet <LabelValue>(Use[b].Select(d => d.Item1)));
 }
Esempio n. 4
0
 static IEnumerable <Tuple <LabelValue, IdentificatorValue> > CalcGen(IBaseBlock block)
 {
     return(block.Enumerate()
            .Where(IsDefinition)
            .Select(t => Tuple.Create(t.Label, t.AsDefinition())));
 }
Esempio n. 5
0
 public HashSet <LabelValue> KillLabels(IBaseBlock b)
 {
     return(new HashSet <LabelValue>(Kill[b].Select(d => d.Item1)));
 }
Esempio n. 6
0
 public CFGNode(IBaseBlock val)
 {
     Value = val;
 }