def add(self, l, st, ptr):
        try:
            ctr = st[id(self)]
        except __HOLE__:
            ctr = st[id(self)] = 0
        if ctr >= self.a and (self.b is None or ctr <= self.b):
            st2 = st.copy()
            count = st2.pop(id(self)) # record loop exit statistics and reset counter
            try:
                st2[self.name] = st2[self.name] + (count,)
            except KeyError:
                st2[self.name] = (count,)
            self.out.add(l, st2, ptr)
        ctr += 1
        st[id(self)] = ctr
        if self.b is None or ctr <= self.b:
            self.out2.add(l, st, ptr)
dataset/ETHPy150Open blackberry/ALF/alf/fuzz/grammr2_crack.py/_rstate.add