Esempio n. 1
0
def what_fnsymbols_used2(prog: L4Contract) -> Iterable[str]:
    pred = lambda t: isinstance(t, FnApp)

    def f(t: FnApp):
        if isinstance(t, FnApp):
            yield t.fnsymb_name

    return prog.forEach(pred, f)
Esempio n. 2
0
def what_fnsymbol_arity_pairs_used(
        prog: L4Contract) -> Iterable[Tuple[str, int]]:
    pred = lambda t: isinstance(t, FnApp)

    def f(t: FnApp):
        # if isinstance(t, FnApp):
        yield (t.fnsymb_name, len(t.args))

    return prog.forEach(pred, f)