diff --git a/src/persian/MorphoPes.gf b/src/persian/MorphoPes.gf index 7afe58ee..9d59ab1f 100644 --- a/src/persian/MorphoPes.gf +++ b/src/persian/MorphoPes.gf @@ -312,6 +312,7 @@ oper haveVerb : Verb = haveRegV ** {s = table { ImpPrefix _ => [] ; + VAor Neg agr => imperfectSuffix agr (addN "دار") ; vf => haveRegV.s ! vf } } where { haveRegV = mkVerb "داشتن" "دار" } ; diff --git a/src/persian/ParadigmsPes.gf b/src/persian/ParadigmsPes.gf index ee7a8df0..75531d9a 100644 --- a/src/persian/ParadigmsPes.gf +++ b/src/persian/ParadigmsPes.gf @@ -58,7 +58,7 @@ oper = mkCmpdNoun2 ; -- e.g. مأمور پلیس '/officer/ police'. cmpdN : N -> N -> N -- Compound noun with ezafe (Nی N) = \n1,n2 -> n1 ** { - s = \\n,m => n1.s ! n ! Ezafe ++ n2.s ! n ! m ; + s = \\n,m => n1.s ! n ! Ezafe ++ n2.s ! Sg ! m ; isCmpd = IsCmpd} ; } ; @@ -214,9 +214,9 @@ oper = \vvf,s -> lin Subj {s=s ; compl=vvf} } ; - mkInterj : Str -> Interj + mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; - + --. --2 Definitions of paradigms diff --git a/src/persian/ResPes.gf b/src/persian/ResPes.gf index f88cc2d1..e3600699 100644 --- a/src/persian/ResPes.gf +++ b/src/persian/ResPes.gf @@ -237,8 +237,12 @@ oper vp = \\ta,p,ord => let vps = clTable vp ! np.a ! ta ! p ; vvt = ta2vvt ta ; - in vp.ad ++ vp.comp ! np.a ++ vp.obj ++ vps - ++ vp.vComp ! np.a ! vvt ++ vp.embComp + in case vp.vvtype of { + DefVV + => vps ++ vp.ad ++ vp.comp ! np.a ++ vp.obj + ++ vp.vComp ! np.a ! vvt ++ vp.embComp ; + _ => vp.ad ++ vp.comp ! np.a ++ vp.obj ++ vps + ++ vp.vComp ! np.a ! vvt ++ vp.embComp } }; --Clause : Type = {s : TAnt => Polarity => Order => Str} ; diff --git a/src/persian/StructuralPes.gf b/src/persian/StructuralPes.gf index ee3cd127..6ecb64bf 100644 --- a/src/persian/StructuralPes.gf +++ b/src/persian/StructuralPes.gf @@ -126,12 +126,7 @@ have_V2 = haveVerb ** { VImp Pos Pl => "داشته باشید" ; VImp Neg Sg => "نداشته باش" ; VImp Neg Pl => "نداشته باشید" ; - VSubj _ (Ag Sg P1) => "داشته باشم" ; - VSubj _ (Ag Sg P2) => "داشته باشی" ; - VSubj _ (Ag Sg P3) => "داشته باشد" ; - VSubj _ (Ag Pl P1) => "داشته باشیم" ; - VSubj _ (Ag Pl P2) => "داشته باشید" ; - VSubj _ (Ag Pl P3) => "داشته باشند" ; + VSubj p agr => "داشته" ++ subjAux p agr ; x => haveVerb.s ! x } ; c2 = prepOrRa [] -- "را" ; ---- AR 18/9/2017: usually no ra acc. to Nasrin, but this is tricky } ;