forked from GitHub/gf-core
Poss,Part,Count NP implemented in Finnish: tehtaan johtaja, lasi viiniä, kolme pojista
This commit is contained in:
@@ -221,6 +221,32 @@ concrete NounFin of Noun = CatFin ** open ResFin, MorphoFin, Prelude in {
|
|||||||
ApposCN cn np = {s = \\nf=> cn.s ! nf ++ np.s ! NPCase Nom ;
|
ApposCN cn np = {s = \\nf=> cn.s ! nf ++ np.s ! NPCase Nom ;
|
||||||
h = cn.h } ; --- luvun x
|
h = cn.h } ; --- luvun x
|
||||||
|
|
||||||
|
PossNP cn np = {s = \\nf => np.s ! NPCase Gen ++ cn.s ! nf ;
|
||||||
|
h = cn.h
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PartNP cn np = {s = \\nf => cn.s ! nf ++ np.s ! NPCase Part ;
|
||||||
|
h = cn.h ---- gives "lasin viiniänsa" ; should be "lasinsa viiniä"
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
CountNP det np =
|
||||||
|
let
|
||||||
|
n : Number = case det.isNum of {
|
||||||
|
True => Sg ;
|
||||||
|
_ => det.n
|
||||||
|
} ;
|
||||||
|
in {
|
||||||
|
s = \\c => let k = npform2case n c in
|
||||||
|
det.sp ! k ++ np.s ! NPCase Elat ; -- cf DetNP above
|
||||||
|
a = agrP3 (case det.isDef of {
|
||||||
|
False => Sg ; -- autoja menee; kolme autoa menee
|
||||||
|
_ => det.n
|
||||||
|
}) ;
|
||||||
|
isPron = False ; isNeg = det.isNeg
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
oper
|
oper
|
||||||
numN : NForm -> Number = \nf -> case nf of {
|
numN : NForm -> Number = \nf -> case nf of {
|
||||||
NCase n _ => n ;
|
NCase n _ => n ;
|
||||||
|
|||||||
Reference in New Issue
Block a user