data = {} for sig in dic.keys(): data[sig] = (dic[sig][0].copy(), []) for sig in data.keys(): regex = re.compile( sig + r"\(" + r",\s*".join([types.get(e) for e in data.get(sig)[0]]) + "\)") if not data.get(sig)[0]: if not regex.findall(line): data.get(sig)[1].append([False]) for e in regex.findall(line): values = [] for t, k in zip( data.get(sig)[0], e.split("(")[-1][:-1].split(",")): if t == 'INT': values.append(int(k)) else: values.append(k) data.get(sig)[1].append(values) table = Evaluator.evaluate(node, data, context) if isinstance(table, Bool): if not table.v: print("@" + str(ts), True) elif table.is_negative: for e in get_tuples(table.name, table.fv, context): print("@" + str(ts), e) else: raise RuntimeError("Got infinite violations") context.cycle_name()