def test_left2(self): #basicConfig(level=DEBUG) seq = Delayed() letter = Any() seq += letter | (seq & letter) seq.config.clear().left_memoize().trace_stack(True) p = seq.get_match_string() results = list(p('abcdef')) assert len(results) == 6, len(results) assert results[0][0] == ['a'], results[0][0] assert results[1][0] == ['a', 'b'], results[1][0]
def test_left2(self): #basicConfig(level=DEBUG) seq = Delayed() letter = Any() seq += letter | (seq & letter) seq.config.clear().left_memoize().trace(True) p = seq.get_match_string() results = list(p('abcdef')) assert len(results) == 6, len(results) assert results[0][0] == ['a'], results[0][0] assert results[1][0] == ['a', 'b'], results[1][0]
def test_left1b(self): #basicConfig(level=DEBUG) seq = Delayed() letter = Any() seq += Optional(seq) & letter seq.config.clear().left_memoize().trace_stack(True) p = seq.get_match_string() results = list(p('ab')) assert len(results) == 2, len(results) assert results[0][0] == ['a', 'b'], results[0][0] assert results[1][0] == ['a'], results[1][0]
def test_right(self): #basicConfig(level=DEBUG) seq = Delayed() letter = Any() seq += letter & Optional(seq) #print(seq) seq.config.clear().right_memoize().trace(True) p = seq.get_match_string() #print(p.matcher) results = list(p('ab')) assert len(results) == 2, len(results) assert results[0][0] == ['a', 'b'], results[0][0] assert results[1][0] == ['a'], results[1][0]
def test_right(self): #basicConfig(level=DEBUG) seq = Delayed() letter = Any() seq += letter & Optional(seq) #print(seq.tree()) seq.config.clear().right_memoize().trace_stack(True) #seq.config.clear().right_memoize() p = seq.get_match_string() #print(p.matcher.tree()) results = list(p('ab')) assert len(results) == 2, len(results) assert results[0][0] == ['a', 'b'], results[0][0] assert results[1][0] == ['a'], results[1][0]