]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/bin/recomm/recommPccFor.ml
cdad8df5599a13ce628bc91706fc2a74fba35482
[helm.git] / matita / matita / contribs / lambdadelta / bin / recomm / recommPccFor.ml
1 module EC = RecommCheck
2 module ES = RecommStep
3
4 let d_line = ref ES.id
5
6 let r_line = ref ES.id
7
8 let k_for k ok outs ins =
9   if ok then begin
10     match ins with
11     | "FOR" :: tl -> !d_line k false ("FOR" :: outs) tl
12     | _           -> k true outs ins
13   end else begin
14     k true outs ins
15   end
16
17 let k_or k ok outs ins =
18   if ok then k ok outs ins else
19   !r_line (k_for k) ok outs ins
20
21 let step k ok outs ins =
22   if ok then k ok outs ins else
23   !d_line (k_or k) ok outs ins
24
25 let register_d =
26   ES.register d_line
27
28 let register_r =
29   ES.register r_line
30
31 let main =
32   EC.register_c step