コード例 #1
0
ファイル: interpreter.py プロジェクト: sllam/msre-py
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 )
コード例 #2
0
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)
コード例 #3
0
ファイル: store.py プロジェクト: sllam/msre-py
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'
コード例 #4
0
ファイル: store.py プロジェクト: sllam/msre-py
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'
コード例 #5
0
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
コード例 #6
0
ファイル: interpreter.py プロジェクト: sllam/msre-py
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
コード例 #7
0
ファイル: store.py プロジェクト: sllam/msre-py
def new_stores():
    fact_stores = {}
    for sym_id in get_all_fact_classes():
        fact_stores[sym_id] = FactStore(sym_id)
    return fact_stores
コード例 #8
0
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'])))
コード例 #9
0
ファイル: store.py プロジェクト: sllam/msre-py
def new_stores():
	fact_stores = {}
	for sym_id in get_all_fact_classes():
		fact_stores[sym_id] = FactStore(sym_id)
	return fact_stores
コード例 #10
0
ファイル: interpreter.py プロジェクト: sllam/msre-py
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'])) )