1.1 --- a/src/Tools/isac/BaseDefinitions/rule-set.sml Sun May 29 19:05:14 2022 +0200
1.2 +++ b/src/Tools/isac/BaseDefinitions/rule-set.sml Tue May 31 09:16:12 2022 +0200
1.3 @@ -12,13 +12,13 @@
1.4 val id: T -> string
1.5 val rep: T -> {calc: Rule_Def.calc list, erls: T, errpats: Rule_Def.errpatID list, id: string,
1.6 preconds: term list, rew_ord: Rewrite_Ord.rew_ord, rules: Rule_Def.rule list, scr: Rule_Def.program, srls: T}
1.7 + val to_string: T -> string
1.8
1.9 val append_rules: string -> T -> Rule_Def.rule list -> T
1.10 val append_erls_rules: string -> T -> Rule_Def.rule list -> T
1.11 val keep_unique_rules: string -> T -> Rule_Def.rule list -> T
1.12 val merge: string -> T -> T -> T
1.13 val get_rules: T -> Rule_Def.rule list
1.14 -(*val rule2rls': Rule.rule -> string*)
1.15 val id_from_rule: Rule.rule -> string
1.16 val contains: Rule.rule -> T -> bool
1.17
1.18 @@ -60,6 +60,18 @@
1.19 {id = id, preconds = preconds, rew_ord = rew_ord, erls = erls, srls = srls, errpats = errpatts,
1.20 calc = calc, rules = rules, scr = scr}
1.21 | rep (Rule_Def.Rrls _) = rep empty
1.22 +fun to_string Rule_Def.Empty = "Rule_Set.Empty"
1.23 + | to_string (Rule_Def.Repeat {id, preconds, rew_ord, erls = _, srls = _, calc = _, errpatts = _, rules, scr}) =
1.24 + "(Rule_Def.Repeat {id = " ^ id ^ ", preconds = " ^ UnparseC.terms preconds ^ ", rew_ord = " ^ Rewrite_Ord.to_string rew_ord
1.25 + ^ ",\n erls = _, srls = _, calc = _, errpatts = _, "
1.26 + ^ ",\n rules = " ^ Rule.s_to_string rules
1.27 + ^ ",\n rules = " ^ Rule_Def.rule_to_string scr ^ "})"
1.28 + | to_string (Rule_Def.Sequence {id, preconds, rew_ord, erls = _, srls = _, calc = _, errpatts = _, rules, scr}) =
1.29 + "(Rule_Def.Repeat {id = " ^ id ^ ", preconds = " ^ UnparseC.terms preconds ^ ", rew_ord = " ^ Rewrite_Ord.to_string rew_ord
1.30 + ^ ",\n erls = _, srls = _, calc = _, errpatts = _, "
1.31 + ^ ",\n rules = " ^ Rule.s_to_string rules
1.32 + ^ ",\n rules = " ^ Rule_Def.rule_to_string scr ^ "})"
1.33 + | to_string (Rule_Def.Rrls _) = "Rule_Def.Rrls _"
1.34
1.35 fun append_rules id Rule_Def.Empty r = (*.. required for append_erls_rules *)
1.36 Rule_Def.Repeat {id = id, preconds = [], rew_ord = ("dummy_ord", dummy_ord), erls = Rule_Def.Empty,