diff --git a/src/arabic/MorphoAra.gf b/src/arabic/MorphoAra.gf index 981534d0..553fbbd2 100644 --- a/src/arabic/MorphoAra.gf +++ b/src/arabic/MorphoAra.gf @@ -6,8 +6,11 @@ flags optimize = all ;--noexpand; oper mkDet : Str -> Number -> State -> Det - = \word,num,state -> baseQuant ** - { s = \\_,_,c => word + caseTbl ! c ; + = mkDetDecl True ; + + mkDetDecl : Bool -> Str -> Number -> State -> Det + = \decl,word,num,state -> baseQuant ** + { s = \\_,_,c => word + if_then_Str decl (caseTbl ! c) [] ; n = numberToSize num; d = state; --only Const is used now. check StructuralAra } ; diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index 611fc402..6c0e69e8 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -362,7 +362,7 @@ resource ParadigmsAra = open mkN : (root,sgPatt,brokenPlPatt : Str) -> Gender -> Species -> N -- broken plural = brkN ; mkN : N -> (attr : Str) -> N -- Compound nouns with noninflecting attribute - = \n,attr -> n ** {s2 = \\n,s,c => attr} ; + = \n,attr -> n ** {s2 = \\num,s,c => n.s2 ! num ! s ! c ++ attr} ; mkN : N -> N -> N -- Compound nouns where attribute inflects in state and case but not number = attrN Sg ; mkN : Number -> N -> N -> N -- Compound nouns where attribute inflects in state, case and number diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index dfec9a11..d807d3bf 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -1759,6 +1759,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> s = \\_pgn,vf => v.s ! np.a.pgn ! vf -- so we can throw away subject's pgn } ; + -- TODO: what to do with vp.c2 if there is no object /IL complClSlash = overload { complClSlash : NP -> ClSlash -> Cl = \obj,cls -> predVP (subj2np cls.subj) (insertObj obj cls) ;