예제 #1
0
파일: rules.py 프로젝트: fergusq/hau
 def _(tree, params, rest):
     val = translate(tree, rest)
     if isinstance(val, FiVP):
         valverb = val.verb
         val.verb = FiA([
             FiP(fi_verb, verbflags),
             compgen(valverb) if compgen else niTree(valverb, compflags)
         ])
         val.flags |= phraseflags
         return val
     else:
         return FiA([
             FiP(fi_verb, verbflags),
             compgen(val) if compgen else niTree(val, compflags)
         ])
예제 #2
0
파일: rules.py 프로젝트: fergusq/hau
 def _(tree, params, rest):
     val = translate(tree, rest)
     val2 = translate(params["subtree"], PHRASE_RULES)
     return FiA(
         [val, FiNI("("),
          FiNI(fi_conj),
          niTree(val2),
          FiNI(")")], val.flags)
예제 #3
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translateRest(tree)
    val2 = translate(params["subtree"], VP_RULES)
    subj = translate(params["subj"], NP_RULES)
    return FiVP(verb=FiA([FiP("olla"),
                          niTree(val2, {"-tava"}), val]),
                subj=subj,
                flags={"nollapersoona"})
예제 #4
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translate(tree, rest)
    val2 = translate(params["subtree"], VP_RULES)
    return FiA([val, niTree(val2, {"-a"})], val.flags)
예제 #5
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translateRest(tree)
    val2 = translate(params["subtree"], VP_RULES)
    # TODO: predikatiivimuoto erikseen: kykenevä tekemään
    return FiA([niTree(val2, {"-minen", "illatiivi"}), FiP("kykenevä"), val])
예제 #6
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    ap = params["ap"]
    val = translate(tree, rest)
    val2 = translate(ap, ADVP_RULES)
    return FiA([val, niTree(val2)])
예제 #7
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    ap = params["ap"]
    val = translate(tree, rest)
    val2 = translate(ap, NP_RULES)
    return FiA([niTree(val2, {"genetiivi"}), val], val.flags)
예제 #8
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translate(tree, rest)
    val2 = translate(params["proper"], NP_RULES)
    return FiA([niTree(val2, {"genetiivi"}), val], val.flags)
예제 #9
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    return niTree(translateUnknownPos(tree), set())
예제 #10
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translateRest(tree)
    val2 = translate(params["subtree"], NP_RULES)
    return FiA([val, FiNI("kuin"), niTree(val2, {"nominatiivi"})], val.flags)
예제 #11
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translate(tree, rest)
    val2 = translate(params["prefix"], NP_RULES)
    return FiA([niTree(val2, {"nominatiivi"}), val], val.flags, compound=True)
예제 #12
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translateRest(tree)
    val2 = translate(params["subtree"], NP_RULES)
    return FiA([niTree(val2, {"genetiivi"}), FiNI("toimesta"), val])
예제 #13
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translate(tree, VP_RULES)
    return niTree(val, {"verbi", "imperatiivi", "yks_2", "subjekti yks_2"})
예제 #14
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translate(tree, VP_RULES)
    return niTree(val, {
        "verbi", "preteriti", "pe4" if "passiivi" in val.flags else "finiitti"
    })
예제 #15
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translate(tree, VP_RULES)
    return niTree(val, {"verbi", "preesens", "finiitti"})
예제 #16
0
파일: rules.py 프로젝트: fergusq/hau
def _(tree, params, rest):
    val = translateRest(tree)
    val2 = translate(params["subtree"], VP_RULES)
    return FiA([FiP("olla"), niTree(val2, {"-tava"}), val])