Example #1
0
 static void split(
     List<AslanppReference> one,
     List<AslanppReference> two,
     List<AslanppReference> intersection,
     List<AslanppReference> dif1,
     List<AslanppReference> dif2) {
   boolean mark[] = new boolean[two.size()];
   Arrays.fill(mark, false);
   for (AslanppReference eOne : one) {
     boolean found = false;
     int i = 0;
     for (AslanppReference eTwo : two) {
       if (eOne.isTheSame(eTwo)) {
         if (intersection != null) {
           addIfNotContained(intersection, eTwo);
           found = true;
           mark[i] = true;
         }
         i++;
       }
     }
     if (!found && dif1 != null) {
       addIfNotContained(dif1, eOne);
     }
   }
   if (dif2 != null) {
     int i = 0;
     for (AslanppReference eTwo : two) {
       if (!mark[i]) {
         addIfNotContained(dif2, eTwo);
       }
       i++;
     }
   }
 }
Example #2
0
 @Override
 public boolean isTheSame(AslanppStatement stm) {
   if (stm instanceof AslanppAssignment) {
     return l.isTheSame(((AslanppAssignment) stm).l) && r.isTheSame(((AslanppAssignment) stm).r);
   }
   return false;
 }
Example #3
0
 static List<AslanppReference> addIfNotContained(
     List<AslanppReference> list, AslanppReference theElement) {
   for (AslanppReference aRef : list) {
     if (aRef.isTheSame(theElement)) return list;
   }
   list.add(theElement);
   return list;
 }
Example #4
0
 @Override
 public void print(int tabs, StringBuilder str) {
   super.print(tabs, str);
   l.print(0, str);
   str.append(" := ");
   r.print(0, str);
   str.append(";\n");
 }