1
0
forked from GitHub/gf-core

some fixes in Hindi and Finnish

This commit is contained in:
aarne
2008-06-24 20:40:21 +00:00
parent a0953a6c94
commit 06eb01ac7e
11 changed files with 111 additions and 79 deletions

View File

@@ -91,8 +91,8 @@ concrete CatFin of Cat = CommonX ** open ResFin, Prelude in {
A2 = {s : Degree => AForm => Str ; c2 : Compl} ;
N = {s : NForm => Str} ;
N2 = {s : NForm => Str} ** {c2 : Compl} ;
N3 = {s : NForm => Str} ** {c2,c3 : Compl} ;
N2 = {s : NForm => Str} ** {c2 : Compl ; isPre : Bool} ;
N3 = {s : NForm => Str} ** {c2,c3 : Compl ; isPre,isPre2 : Bool} ;
PN = {s : Case => Str} ;
oper Verb1 = {s : VForm => Str ; sc : NPForm ; qp : Str} ;

View File

@@ -203,22 +203,25 @@ concrete NounFin of Noun = CatFin ** open ResFin, Prelude in {
Use2N3 f = {
s = f.s ;
c2 = f.c2
c2 = f.c2 ;
isPre = f.isPre
} ;
Use3N3 f = {
s = f.s ;
c2 = f.c3
c2 = f.c3 ;
isPre = f.isPre2
} ;
--- If a possessive suffix is added here it goes after the complements...
ComplN2 f x = {
s = \\nf => f.s ! nf ++ appCompl True Pos f.c2 x
s = \\nf => preOrPost f.isPre (f.s ! nf) (appCompl True Pos f.c2 x)
} ;
ComplN3 f x = {
s = \\nf => f.s ! nf ++ appCompl True Pos f.c2 x ;
c2 = f.c3
s = \\nf => preOrPost f.isPre (f.s ! nf) (appCompl True Pos f.c2 x) ;
c2 = f.c3 ;
isPre = f.isPre2
} ;
AdjCN ap cn = {

View File

@@ -418,9 +418,18 @@ oper
mkN2 : N -> Prep -> N2 = mmkN2
} ;
mmkN2 : N -> Prep -> N2 = \n,c -> n ** {c2 = c ; lock_N2 = <>} ;
mkN3 = \n,c,e -> n ** {c2 = c ; c3 = e ; lock_N3 = <>} ;
mmkN2 : N -> Prep -> N2 = \n,c -> n ** {c2 = c ; isPre = mkIsPre c ; lock_N2 = <>} ;
mkN3 = \n,c,e -> n ** {c2 = c ; c3 = e ;
isPre = mkIsPre c ; -- matka Lontoosta Pariisiin
isPre2 = mkIsPre e ; -- Suomen voitto Ruotsista
lock_N3 = <>
} ;
mkIsPre : Prep -> Bool = \p -> case p.c of {
NPCase Gen => notB p.isPre ; -- Jussin veli (prep is <Gen,"",True>, isPre becomes False)
_ => True -- syyte Jussia vastaan, puhe Jussin puolesta
} ;
mkPN = overload {
mkPN : Str -> PN = mkPN_1 ;
mkPN : N -> PN = \s -> {s = \\c => s.s ! NCase Sg c ; lock_PN = <>} ;