10 eqtype id |
10 eqtype id |
11 |
11 |
12 val id: T -> string |
12 val id: T -> string |
13 val rep: T -> {calc: Rule_Def.calc list, erls: T, errpats: Rule_Def.errpatID list, id: string, |
13 val rep: T -> {calc: Rule_Def.calc list, erls: T, errpats: Rule_Def.errpatID list, id: string, |
14 preconds: term list, rew_ord: Rewrite_Ord.rew_ord, rules: Rule_Def.rule list, scr: Rule_Def.program, srls: T} |
14 preconds: term list, rew_ord: Rewrite_Ord.rew_ord, rules: Rule_Def.rule list, scr: Rule_Def.program, srls: T} |
|
15 val to_string: T -> string |
15 |
16 |
16 val append_rules: string -> T -> Rule_Def.rule list -> T |
17 val append_rules: string -> T -> Rule_Def.rule list -> T |
17 val append_erls_rules: string -> T -> Rule_Def.rule list -> T |
18 val append_erls_rules: string -> T -> Rule_Def.rule list -> T |
18 val keep_unique_rules: string -> T -> Rule_Def.rule list -> T |
19 val keep_unique_rules: string -> T -> Rule_Def.rule list -> T |
19 val merge: string -> T -> T -> T |
20 val merge: string -> T -> T -> T |
20 val get_rules: T -> Rule_Def.rule list |
21 val get_rules: T -> Rule_Def.rule list |
21 (*val rule2rls': Rule.rule -> string*) |
|
22 val id_from_rule: Rule.rule -> string |
22 val id_from_rule: Rule.rule -> string |
23 val contains: Rule.rule -> T -> bool |
23 val contains: Rule.rule -> T -> bool |
24 |
24 |
25 type for_kestore |
25 type for_kestore |
26 val equal: (''a * ('b * 'c)) * (''a * ('d * 'e)) -> bool |
26 val equal: (''a * ('b * 'c)) * (''a * ('d * 'e)) -> bool |
58 calc = calc, rules = rules, scr = scr} |
58 calc = calc, rules = rules, scr = scr} |
59 | rep (Rule_Def.Sequence {id, preconds, rew_ord, erls, srls, calc, errpatts, rules, scr}) = |
59 | rep (Rule_Def.Sequence {id, preconds, rew_ord, erls, srls, calc, errpatts, rules, scr}) = |
60 {id = id, preconds = preconds, rew_ord = rew_ord, erls = erls, srls = srls, errpats = errpatts, |
60 {id = id, preconds = preconds, rew_ord = rew_ord, erls = erls, srls = srls, errpats = errpatts, |
61 calc = calc, rules = rules, scr = scr} |
61 calc = calc, rules = rules, scr = scr} |
62 | rep (Rule_Def.Rrls _) = rep empty |
62 | rep (Rule_Def.Rrls _) = rep empty |
|
63 fun to_string Rule_Def.Empty = "Rule_Set.Empty" |
|
64 | to_string (Rule_Def.Repeat {id, preconds, rew_ord, erls = _, srls = _, calc = _, errpatts = _, rules, scr}) = |
|
65 "(Rule_Def.Repeat {id = " ^ id ^ ", preconds = " ^ UnparseC.terms preconds ^ ", rew_ord = " ^ Rewrite_Ord.to_string rew_ord |
|
66 ^ ",\n erls = _, srls = _, calc = _, errpatts = _, " |
|
67 ^ ",\n rules = " ^ Rule.s_to_string rules |
|
68 ^ ",\n rules = " ^ Rule_Def.rule_to_string scr ^ "})" |
|
69 | to_string (Rule_Def.Sequence {id, preconds, rew_ord, erls = _, srls = _, calc = _, errpatts = _, rules, scr}) = |
|
70 "(Rule_Def.Repeat {id = " ^ id ^ ", preconds = " ^ UnparseC.terms preconds ^ ", rew_ord = " ^ Rewrite_Ord.to_string rew_ord |
|
71 ^ ",\n erls = _, srls = _, calc = _, errpatts = _, " |
|
72 ^ ",\n rules = " ^ Rule.s_to_string rules |
|
73 ^ ",\n rules = " ^ Rule_Def.rule_to_string scr ^ "})" |
|
74 | to_string (Rule_Def.Rrls _) = "Rule_Def.Rrls _" |
63 |
75 |
64 fun append_rules id Rule_Def.Empty r = (*.. required for append_erls_rules *) |
76 fun append_rules id Rule_Def.Empty r = (*.. required for append_erls_rules *) |
65 Rule_Def.Repeat {id = id, preconds = [], rew_ord = ("dummy_ord", dummy_ord), erls = Rule_Def.Empty, |
77 Rule_Def.Repeat {id = id, preconds = [], rew_ord = ("dummy_ord", dummy_ord), erls = Rule_Def.Empty, |
66 srls = Rule_Def.Empty, calc = [], rules = r, errpatts = [], scr = Rule_Def.Empty_Prog} |
78 srls = Rule_Def.Empty, calc = [], rules = r, errpatts = [], scr = Rule_Def.Empty_Prog} |
67 | append_rules id (Rule_Def.Repeat {id = _, preconds = pc, rew_ord = ro, erls = er, srls = sr, calc = ca, |
79 | append_rules id (Rule_Def.Repeat {id = _, preconds = pc, rew_ord = ro, erls = er, srls = sr, calc = ca, |