(Som) Add conjunction in RelCN, if the CN already has a modifier

This commit is contained in:
Inari Listenmaa
2019-08-13 11:39:30 +02:00
parent e8ac77e4fc
commit 62ed2ecb89

View File

@@ -225,10 +225,9 @@ concrete NounSom of Noun = CatSom ** open ResSom, Prelude in {
AdjCN ap cn = cn ** { AdjCN ap cn = cn ** {
s = table { NomSg => cn.s ! Indef Sg ; -- When an adjective is added, noun loses case marker. s = table { NomSg => cn.s ! Indef Sg ; -- When an adjective is added, noun loses case marker.
x => cn.s ! x } ; x => cn.s ! x } ;
mod = \\n,c => cn.mod ! n ! Abs -- If there was something before, it is now in Abs mod = let conj = if_then_Str cn.hasMod "oo" [] in
++ case cn.hasMod of { \\n,c => cn.mod ! n ! Abs -- If there was something before, it is now in Abs
True => "oo" ; ++ conj -- If the sentence is already modified, any new modifier needs to be introduced with conjunction
False => [] }
++ ap.s ! AF n c ; ++ ap.s ! AF n c ;
hasMod = True hasMod = True
} ; } ;
@@ -236,7 +235,8 @@ concrete NounSom of Noun = CatSom ** open ResSom, Prelude in {
-- : CN -> RS -> CN ; -- : CN -> RS -> CN ;
RelCN cn rs = cn ** { RelCN cn rs = cn ** {
mod = \\n,c => cn.mod ! n ! c ++ rs.s ! gender cn ! c ; mod = let conj = if_then_Str cn.hasMod "ee" [] in
\\n,c => cn.mod ! n ! c ++ conj ++ rs.s ! gender cn ! c ;
hasMod = True ; hasMod = True ;
} ; } ;