def pretty_interp_rules(interp_rules): fact_classes = get_all_fact_classes() interp_rule_strs = [] for sym_id,irules in interp_rules.items(): fact_class = fact_classes[sym_id] interp_rule_strs.append("============= " + fact_class.__name__ + " =============") interp_rule_strs += map(pretty_interp_rule,irules) interp_rule_strs.append("======================================") return '\n'.join( interp_rule_strs )
def pretty_interp_rules(interp_rules): fact_classes = get_all_fact_classes() interp_rule_strs = [] for sym_id, irules in interp_rules.items(): fact_class = fact_classes[sym_id] interp_rule_strs.append("============= " + fact_class.__name__ + " =============") interp_rule_strs += map(pretty_interp_rule, irules) interp_rule_strs.append("======================================") return '\n'.join(interp_rule_strs)
def pretty_stores(fact_stores, brief=False): fact_classes = get_all_fact_classes() strs = [] for sym_id, st in fact_stores.items(): if not brief: strs.append(str(st)) else: my_str = st.str_brief() if my_str != None: strs.append(my_str) return '\n'.join(strs) + '\n'
def pretty_stores(fact_stores, brief=False): fact_classes = get_all_fact_classes() strs = [] for sym_id,st in fact_stores.items(): if not brief: strs.append( str(st) ) else: my_str = st.str_brief() if my_str != None: strs.append( my_str ) return '\n'.join(strs) + '\n'
def interpret_rules(rules, fact_stores): interp_rules = defaultdict(list) for rule in rules: interp_rule = interpret_rule(rule, fact_stores) for rule_occ in interp_rule: interp_rules[rule_occ['entry']['sym_id']].append(rule_occ) for fact_sym_id in get_all_fact_classes(): if fact_sym_id not in interp_rules: interp_rules[fact_sym_id] = [] return interp_rules
def new_stores(): fact_stores = {} for sym_id in get_all_fact_classes(): fact_stores[sym_id] = FactStore(sym_id) return fact_stores
def pretty_fact_pat(fact_pat): fact_classes = get_all_fact_classes() return "%s(%s)" % (fact_classes[fact_pat['sym_id']].__name__, ','.join( map(str, fact_pat['terms'])))
def pretty_fact_pat(fact_pat): fact_classes = get_all_fact_classes() return "%s(%s)" % ( fact_classes[fact_pat['sym_id']].__name__ , ','.join(map(str,fact_pat['terms'])) )