def static_eval(bits, r): #print("static", r) if isinstance(r, int): rt = bits[r] elif r[0] == "and": rt = all(map(inf(static_eval, bits), r[1])) elif r[0] == "or": rt = any(map(inf(static_eval, bits), r[1])) elif r[0] == "not": rt = not static_eval(bits, r[1]) else: rt = None #print("ret3", rt) return rt
def __getattr__(self, fname): return inf(print, fname)