001    
002    
003    package lrs.visitor;
004    
005    import lrs.*;
006    
007    public class LRSSum implements IAlgo{
008     public static LRSSum Singleton = new LRSSum();
009    
010     private LRSSum() { }
011    
012      public Object emptyCase(LRStruct host, Object... param) {
013          return 0;
014      }
015    
016      public Object nonEmptyCase(LRStruct host, Object... param) {
017          return (Integer) host.getFirst()+ (Integer)host.getRest().execute(this);
018      }
019    }