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)); } } |