MakeStructuralEng,Fin : add Str to a Det, to enable for instance 'very many'

This commit is contained in:
Aarne Ranta
2019-01-12 08:55:36 +01:00
parent d95c74971a
commit 82f31077d7
2 changed files with 21 additions and 4 deletions

View File

@@ -11,7 +11,15 @@ oper
lin IDet {s = s ; n = n} ;
mkIQuant : Str -> Str -> IQuant = \s,n ->
lin IQuant {s = table {Sg => s ; Pl => n}} ;
mkDet : Str -> Number -> Det = \s,n ->
lin Det (mkDeterminer n s) ;
mkDet = overload {
mkDet : Str -> Number -> Det = \s,n ->
lin Det (mkDeterminer n s) ;
mkDet : Str -> Det -> Det = \s,d ->
d ** {
s = s ++ d.s ;
sp = \\g,b,c => s ++ d.sp ! g ! b ! c ;
} ;
} ;
}

View File

@@ -13,8 +13,17 @@ oper
mkIDet : Bool -> Str -> N -> Number -> IDet = \isNum,pref,s,n ->
lin IDet {s = \\c => pref ++ s.s ! NCase n c ; n = n ; isNum = isNum} ;
mkDet : N -> Number -> Det = \s,n ->
lin Det (MorphoFin.mkDet n s) ;
mkDet = overload {
mkDet : N -> Number -> Det = \s,n ->
lin Det (MorphoFin.mkDet n s) ;
mkDet : Str -> Bool -> Det -> Det = \s,isNeg,d ->
d ** {
s1 = \\c => s ++ d.s1 ! c ;
sp = \\c => s ++ d.sp ! c ;
isNeg = isNeg ;
} ;
} ;
partDet : N -> Number -> Det = \s,n ->
lin Det (MorphoFin.partDet False n s) ;