1 module EC = RecommCheck
3 module ET = RecommTypes
9 let k_exit k st out ins =
10 if st <> ET.OK then k ET.KO out ins else
13 let k_for k st outs ins =
14 if st <> ET.OK then k ET.KO outs ins else
16 | "FOR" :: tl -> !d_line (k_exit k) ET.OO ("FOR" :: outs) tl
17 | "OF" :: tl -> !d_line (k_exit k) ET.OO ("FOR" :: outs) tl
18 | _ -> k ET.KO outs ins
20 let k_or k st outs ins =
21 if st <> ET.OO then k st outs ins else
22 !r_line (k_for k) st outs ins
24 let step k st outs ins =
25 if st = ET.KO then k st outs ins else
26 !d_line (k_or k) ET.OO outs ins