def declarative_present_informal_low(infinitive, regular=False, further_use=False):
    infinitive = base2(infinitive, regular)
    if not further_use and ((infinitive[-1] == u'이' and not getattr(infinitive, 'hidden_padchim', False)) or \
                            infinitive == u'아니'):
        conjugation.reasons.append(u'야 irregular')
        return infinitive + u'야'
    # 르 irregular
    if regular and infinitive == u'이르':
        return u'일러'

    if is_l_euh_irregular(infinitive, regular):
        new_base = infinitive[:-2] + join(lead(infinitive[-2]), 
                                          vowel(infinitive[-2]), u'ᆯ')
        if infinitive[-2:] in [u'푸르', u'이르']:
            new_base = new_base + join(u'ᄅ', 
                                       vowel(find_vowel_to_append(new_base)))
            conjugation.reasons.append(u'irregular stem + %s -> %s' % 
                                       (infinitive, new_base))
            return infinitive + u'러'
        elif find_vowel_to_append(infinitive[:-1]) == u'아':
            new_base += u'라'
            conjugation.reasons.append(u'르 irregular stem change [%s -> %s]' %
                                       (infinitive, new_base))
            return new_base
        else:
            new_base += u'러'
            conjugation.reasons.append(u'르 irregular stem change [%s -> %s]' %
                                       (infinitive, new_base))
            return new_base
    elif infinitive[-1] == u'하':
        return merge(infinitive, u'여')
    elif is_h_irregular(infinitive, regular):
        return merge(infinitive, u'이')
    return merge(infinitive, find_vowel_to_append(infinitive))
示例#2
0
def past_base(infinitive, regular=False):
    ps = declarative_present_informal_low(infinitive,
                                          regular,
                                          further_use=True)
    if find_vowel_to_append(ps) == '아':
        return merge(ps, '았')
    else:
        return merge(ps, '었')
def past_base(infinitive, regular=False):
    ps = declarative_present_informal_low(infinitive, regular, further_use=True)
    if find_vowel_to_append(ps) == u'아':
        return merge(ps, u'았')
    else:
        return merge(ps, u'었')