def match(support, stream_in): ''' Do the match and test whether the stream has progressed. ''' try: generator = matcher._match(stream_in) while True: (result, stream_out) = yield generator if consume != s_eq(stream_in, stream_out): yield (result, stream_out) except StopIteration: pass
def eq(self, state1, state2): line_stream1 = state_to_line_stream(state1) line_stream2 = state_to_line_stream(state2) return s_eq(line_stream1, line_stream2)