44 lines
796 B
Plaintext
44 lines
796 B
Plaintext
property _genv
|
|
property _genf
|
|
|
|
-- @constructor
|
|
on new (me, genv, genf)
|
|
me._genv = genv
|
|
me._genf = genf
|
|
return me
|
|
end
|
|
|
|
on exec (me, input)
|
|
repeat while TRUE
|
|
me._genv.exec(input)
|
|
v = input[1]
|
|
ok = TRUE
|
|
me._genf.reset() -- reset filter generator
|
|
repeat while TRUE
|
|
me._genf.exec(input)
|
|
f = input[1]
|
|
if f>v then exit repeat
|
|
if f=v then
|
|
ok=FALSE
|
|
exit repeat
|
|
end if
|
|
end repeat
|
|
if ok then
|
|
input[1] = v
|
|
exit repeat
|
|
end if
|
|
end repeat
|
|
return TRUE
|
|
end
|
|
|
|
on skip (me, steps)
|
|
repeat with i = 1 to steps
|
|
me.exec([])
|
|
end repeat
|
|
end
|
|
|
|
on reset (me)
|
|
me._genv.reset()
|
|
me._genf.reset()
|
|
end
|