| sequence/visitor/Sequence.cs - The class SumVisitor. | Lecture 8 - slide 36 : 37 Program 8 |
public class SumVisitor: Visitor{
public int Visit (IntInterval iv){
int res = 0;
int lower = Math.Min(iv.From,iv.To),
upper = Math.Max(iv.From,iv.To);
for (int i = lower; i <= upper; i++)
res += i;
return res;
}
public int Visit (IntSingular iv){
return iv.TheInt;
}
public int Visit (IntCompSeq iv){
return (iv.First.Accept(this) +
iv.Second.Accept(this));
}
}