Example #1
0
        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()