diff --git a/src/somali/ConjunctionSom.gf b/src/somali/ConjunctionSom.gf index 35a3d3227..122f17dca 100644 --- a/src/somali/ConjunctionSom.gf +++ b/src/somali/ConjunctionSom.gf @@ -87,8 +87,13 @@ lincat [NP] = {s1,s2 : Case => Str} ** BaseNP ; lin - BaseNP x y = twoTable Case x y ** consNP x y ; - ConsNP xs x = consrTable Case comma xs x ** consNP xs x ; + BaseNP x y = + let x' = np2objpron x ; + y' = np2objpron y + in twoTable Case x' y' ** consNP x' y' ; + ConsNP x xs = + let x' = np2objpron x + in consrTable Case comma x' xs ** consNP x' xs ; ConjNP conj xs = conjunctNPTable conj xs ** conjNP xs conj ; oper @@ -114,6 +119,10 @@ oper {s = -- TODO if xs is a pronoun, make them use (pronTable ! xs.a).sp table { cas => co.s1 ++ xs.s1 ! Abs ++ co.s2 ! xs.st ++ xs.s2 ! cas}} ; + np2objpron : NounPhrase -> NounPhrase = \np -> np ** { + s = objpron np + } ; + consNP : BaseNP -> BaseNP -> BaseNP = \x,y -> x ** { agr = conjAgr x.agr (getNum y.agr) } ;