001    
002    package lrs.lazyLRSEvaluators;
003    
004    import lrs.*;
005    //import lrs.visitor.*;
006    import logic.*;
007    
008    public class LazySieveEval extends ALazyEval
009    {
010        /** @SBGen Variable (,helper,,64)   */
011        LazyFilterEval lazyFilterEval;
012        int value = 2;
013        
014        
015        public LazySieveEval()
016        {
017            LRStruct src = (new LazyIncEval (value, 1)).makeLRS (); // src is all integers from 2.
018            lazyFilterEval = new LazyFilterEval (new ModPredStrategy(value), src);
019        }
020        
021        public LRStruct nextLRS()
022        {
023            value = (Integer)lazyFilterEval.nextLRS().getFirst();
024            lazyFilterEval = new LazyFilterEval (new ModPredStrategy(value), lazyFilterEval.makeLRS ());
025            return makeLRS ();
026        }
027        
028        public LRStruct makeLRS()
029        {
030            return makeLazyLRS(value);
031        }
032    }
033