2 module R = RecommPcsAnd
4 let step k st outs ins =
5 if st <> T.OO then k st outs ins else
7 | "gr_sor" :: tl -> k T.OK ("gr_sor" :: outs) tl
8 | "sor" :: tl -> k T.OK ("gr_sor" :: outs) tl
9 | "gr_sand" :: tl -> k T.OK ("gr_sand" :: outs) tl
10 | "sand" :: tl -> k T.OK ("gr_sand" :: outs) tl
11 | "gr_sdj" :: tl -> k T.OK ("gr_sdj" :: outs) tl
12 | "sdj" :: tl -> k T.OK ("gr_sdj" :: outs) tl
13 | "gr_sle" :: tl -> k T.OK ("gr_sle" :: outs) tl
14 | "sle" :: tl -> k T.OK ("gr_sle" :: outs) tl
15 | "inclusion" :: tl -> k T.OK ("gr_sle" :: outs) tl
16 | "gr_coafter" :: tl -> k T.OK ("gr_coafter" :: outs) tl
17 | "coafter" :: tl -> k T.OK ("gr_coafter" :: outs) tl
18 | "gr_after" :: tl -> k T.OK ("gr_after" :: outs) tl
19 | "after" :: tl -> k T.OK ("gr_after" :: outs) tl
20 | "gr_isd" :: tl -> k T.OK ("gr_isd" :: outs) tl
21 | "isdiv" :: tl -> k T.OK ("gr_isd" :: outs) tl
22 | "gr_ist" :: tl -> k T.OK ("gr_ist" :: outs) tl
23 | "ist" :: tl -> k T.OK ("gr_ist" :: outs) tl
24 | "istot" :: tl -> k T.OK ("gr_ist" :: outs) tl
25 | "gr_isf" :: tl -> k T.OK ("gr_isf" :: outs) tl
26 | "isf" :: tl -> k T.OK ("gr_isf" :: outs) tl
27 | "isfin" :: tl -> k T.OK ("gr_isf" :: outs) tl
28 | "test" :: "for" :: "finite" :: "colength" :: tl -> k T.OK ("gr_isf" :: outs) tl
29 | "gr_fcla" :: tl -> k T.OK ("gr_fcla" :: outs) tl
30 | "fcla" :: tl -> k T.OK ("gr_fcla" :: outs) tl
31 | "finite" :: "colength" :: "assignment" :: tl -> k T.OK ("gr_fcla" :: outs) tl
32 | "finite" :: "colength" :: tl -> k T.OK ("gr_fcla" :: outs) tl
33 | "gr_isu" :: tl -> k T.OK ("gr_isu" :: outs) tl
34 | "isuni" :: tl -> k T.OK ("gr_isu" :: outs) tl
35 | "test" :: "for" :: "uniform" :: "relocations" :: tl -> k T.OK ("gr_isu" :: outs) tl
36 | "gr_isi" :: tl -> k T.OK ("gr_isi" :: outs) tl
37 | "isi" :: tl -> k T.OK ("gr_isi" :: outs) tl
38 | "isid" :: tl -> k T.OK ("gr_isi" :: outs) tl
39 | "test" :: "for" :: "identity" :: tl -> k T.OK ("gr_isi" :: outs) tl
40 | "gr_nat" :: tl -> k T.OK ("gr_nat" :: outs) tl
41 | "nat" :: tl -> k T.OK ("gr_nat" :: outs) tl
42 | "gr_pat" :: tl -> k T.OK ("gr_pat" :: outs) tl
43 | "pat" :: tl -> k T.OK ("gr_pat" :: outs) tl
44 | "at" :: tl -> k T.OK ("gr_pat" :: outs) tl
45 | "gr_basic" :: tl -> k T.OK ("gr_basic" :: outs) tl
46 | "basic" :: "relocation" :: tl -> k T.OK ("gr_basic" :: outs) tl
47 | "gr_uni" :: tl -> k T.OK ("gr_uni" :: outs) tl
48 | "uni" :: tl -> k T.OK ("gr_uni" :: outs) tl
49 | "uniform" :: "relocations" :: tl -> k T.OK ("gr_uni" :: outs) tl
50 | "gr_id" :: tl -> k T.OK ("gr_id" :: outs) tl
51 | "id" :: tl -> k T.OK ("gr_id" :: outs) tl
52 | "gr_tls" :: tl -> k T.OK ("gr_tls" :: outs) tl
53 | "tls" :: tl -> k T.OK ("gr_tls" :: outs) tl
54 | "iterated" :: "tail" :: tl -> k T.OK ("gr_tls" :: outs) tl
55 | "gr_nexts" :: tl -> k T.OK ("gr_nexts" :: outs) tl
56 | "nexts" :: tl -> k T.OK ("gr_nexts" :: outs) tl
57 | "iterated" :: "next" :: tl -> k T.OK ("gr_nexts" :: outs) tl
58 | "gr_pushs" :: tl -> k T.OK ("gr_pushs" :: outs) tl
59 | "pushs" :: tl -> k T.OK ("gr_pushs" :: outs) tl
60 | "iterated" :: "push" :: tl -> k T.OK ("gr_pushs" :: outs) tl
61 | "gr_tl" :: tl -> k T.OK ("gr_tl" :: outs) tl
62 | "tl" :: tl -> k T.OK ("gr_tl" :: outs) tl
63 | "tail" :: tl -> k T.OK ("gr_tl" :: outs) tl
64 | "gr_eq" :: tl -> k T.OK ("gr_eq" :: outs) tl
65 | _ -> k T.OO outs ins