Source code for benchmarkstt.diff

from benchmarkstt.factory import Factory


[docs]class Base: def __init__(self, a='', b=''): raise NotImplementedError()
[docs] def get_opcodes(self): """ Return list of 5-tuples describing how to turn `a` into `b`. Each tuple is of the form `(tag, i1, i2, j1, j2)`. The first tuple has `i1 == j1 == 0`, and remaining tuples have `i1` equals the `i2` from the tuple preceding it, and likewise for `j1` equals the previous `j2`. The tags are strings, with these meanings: - 'replace': `a[i1:i2]` should be replaced by `b[j1:j2]` - 'delete': `a[i1:i2]` should be deleted. Note that `j1==j2` in this case. - 'insert': `b[j1:j2]` should be inserted at `a[i1:i1]`. Note that `i1==i2` in this case. - 'equal': `a[i1:i2] == b[j1:j2]` """ raise NotImplementedError()
factory = Factory(Base)