def variabilize_mode(self,mode): """Returns the variabilized mode only.""" if 'abrupt_acceleration(' in mode: stop = 'stop' inp = functs.plmrks(mode,'+') out = functs.plmrks(mode,'-') gr = functs.plmrks(mode,'#') all = flatten([inp,out,gr]) d,v = {},0 for mo in all: if mo in d: n = d[mo] mode = functs.replace_nth(mode,mo,'X'+str(v),1) v += 1 d[mo] += 1 else: mode = functs.replace_nth(mode,mo,'X'+str(v),1) v += 1 d[mo] = 1 return mode
def variabilize_mode_(self,mode): """Returns the variabilized mode in addition to a variables/placemarkers map. This is used to find if a mode declaration subsumes an atom (using the theta_subsumption function from subsumption)""" if 'abrupt_acceleration(' in mode: stop = 'stop' inp = functs.plmrks(mode,'+') out = functs.plmrks(mode,'-') gr = functs.plmrks(mode,'#') all_ = flatten([inp,out,gr]) d,v,map_ = {},0,{} for mo in all_: mode = functs.replace_nth(mode,mo,'X'+str(v),1) map_.update({'X'+str(v):mo}) v += 1 if mo in d: #n = d[mo] d[mo] += 1 else: d[mo] = 1 return (map_,mode)