'Given the original text and the list of augmented word tokens,
construct and return a tokenized list of sentence strings.'

def _build_sentence_list(self, text, tokens):

    pos = 0
    WS_REGEXP = re.compile(u'\\s*')
    sentence = u''
    for aug_tok in tokens:
        tok = aug_tok.tok
        ws = WS_REGEXP.match(text, pos).group()
        pos += len(ws)
        if (text[pos:(pos + len(tok))] != tok):
            pat = u'\\s*'.join((re.escape(c) for c in tok))
            m = re.compile(pat).match(text, pos)
            if m:
                tok = m.group()
        assert (text[pos:(pos + len(tok))] == tok)
        pos += len(tok)
        if sentence:
            sentence += ws
        sentence += tok
        if aug_tok.sentbreak:
            (yield sentence)
            sentence = u''
    if sentence:
        (yield sentence)
