1
0
forked from GitHub/gf-core

more Finnish

This commit is contained in:
aarne
2005-06-29 09:31:56 +00:00
parent d25419c8ed
commit 3f8fecbf30
7 changed files with 111 additions and 85 deletions

View File

@@ -157,6 +157,7 @@ oper
-- that is given to the noun that is being determined.
Determiner : Type = {s : Gender => Case => Str ; n : Number ; isNum : Bool} ;
DeterminerNum : Type = {s : Gender => Case => Str ; isNum : Bool} ;
detNounPhrase : Determiner -> CommNounPhrase -> NounPhrase = \joku, mies ->
{s = \\f => let {c = npForm2Case joku.n f} in
@@ -166,6 +167,15 @@ oper
p = NP3
} ;
numDetNounPhrase : DeterminerNum -> Numeral -> CommNounPhrase -> NounPhrase =
\joku, viisi, mies ->
{s = \\f => let {c = npForm2Case Pl f} in
joku.s ! mies.g ! c ++ viisi.s ! NPCase c ++
mkCaseNum joku.isNum Pl c (mies.s ! False) ;
n = Pl ;
p = NP3
} ;
mkCaseNum : Bool -> Number -> Case -> (Number => Case => Str) -> Str =
\isNum, n, c, mies ->
case <isNum,c> of {
@@ -183,28 +193,20 @@ oper
isNum = False
} ;
mkDeterminerGenNum : Numeral -> (_,_ : Case => Str) -> Determiner =
\n,mika,kuka ->
{s = table {
NonHuman => \\c => mika ! c ++ n.s ! NPCase c ;
Human => \\c => kuka ! c ++ n.s ! NPCase c
} ;
n = Pl ;
isNum = n.isNum
} ;
mkDeterminer : Number -> (Case => Str) -> Determiner = \n,kaikki ->
mkDeterminerGen n kaikki kaikki ;
mkDeterminerNum : Numeral -> (Case => Str) -> Determiner = \n,kaikki ->
mkDeterminerGenNum n kaikki kaikki ;
mkDeterminerNum : (Case => Str) -> DeterminerNum =
mkDeterminer Pl ;
mkDeterminerGenNum : (_,_ : Case => Str) -> DeterminerNum =
mkDeterminerGen Pl ;
jokainenDet = mkDeterminer Sg (caseTable Sg (sNainen "jokaista")) ;
kaikkiDet : Numeral -> Determiner = \n -> mkDeterminerNum n (kaikkiPron Pl) ;
kaikkiDet : DeterminerNum = mkDeterminerNum (kaikkiPron Pl) ;
useimmatDet = mkDeterminer Pl (caseTable Pl (sSuurin "useinta")) ;
mikaDet = mkDeterminerGen Sg (mikaInt ! Sg) (kukaInt ! Sg) ;
mitkaDet : Numeral -> Determiner = \n ->
mkDeterminerGenNum n (mikaInt ! Pl) (kukaInt ! Pl) ;
mitkaDet : DeterminerNum =
mkDeterminerGenNum (mikaInt ! Pl) (kukaInt ! Pl) ;
indefNounPhrase : Number -> CommNounPhrase -> NounPhrase = \n,mies ->
case n of {