# File lib/sadelta.rb, line 240
240:         def generate(target, emit)
241:             start = 0
242:             while start < target.length
243:                 non_len, match_start, match_len = @sary.longest_nonmatch target, start, @short_match_threshold
244:             
245:                 if non_len > 0
246:                     # an insert of good non_len was found
247:                     emit.insert start, non_len, target
248:                 end
249:             
250:                 if match_len > 0
251:                     emit.match match_start, match_len
252:                 end
253:             
254:                 start += non_len + match_len
255:             end
256:         
257:             emit.finished
258:         end