def ____get_features_vars(m_str): #print '1111',m_str feature_list = list() var_list = list() names_list = list() functions = Util.get_paras_from_str(m_str) for function in functions: fun_name, fun_para, fun_value = Util.parse_relation_or_function( function) var_list += [ mvar for mvar in Util.get_paras_from_str(fun_para) + [fun_value] if Util.isVar(mvar) ] feature_list.append(Util.generate_function_feature(function)) names_list.append(fun_name) return names_list, feature_list, var_list
def __get_sort_from_function(function): #print '!!!',function fun_name, fun_paras, fun_value = Util.parse_relation_or_function(function) para_list = Util.get_paras_from_str(fun_paras) #symbol_sort = [(symbol, (fun_name, pos+1)) for pos, symbol in enumerate(para_list) if not isMath(symbol)] #symbol_INT = sum([ __get_INTsymbol_from_expression(symbol) for pos, symbol in enumerate(para_list) if isMath(symbol)],[]) symbol_sort = list() equal_symbols = list() for pos, symbol in enumerate(para_list): if not isMath(symbol): symbol_sort += [(symbol.strip(), (fun_name, pos + 1))] else: symbol_INT, words = __get_INTsymbol_from_expression(symbol.strip()) symbol_sort += symbol_INT symbol_sort += [(symbol.strip(), (fun_name, pos + 1)) for symbol in words] return symbol_sort
def get_fun_value_sort(function): fun_name, fun_var, fun_value = Util.parse_relation_or_function(function) return context_operator.get_symbol_sorts_dict()[fun_name]