Merge pull request #206 from inariksit/persian

(Pes) Fix bug with negation in haveVerb and have_V2
This commit is contained in:
Inari Listenmaa
2019-03-25 08:12:17 +01:00
committed by GitHub
4 changed files with 11 additions and 11 deletions

View File

@@ -312,6 +312,7 @@ oper
haveVerb : Verb = haveRegV ** {s = table { haveVerb : Verb = haveRegV ** {s = table {
ImpPrefix _ => [] ; ImpPrefix _ => [] ;
VAor Neg agr => imperfectSuffix agr (addN "دار") ;
vf => haveRegV.s ! vf } vf => haveRegV.s ! vf }
} where { haveRegV = mkVerb "داشتن" "دار" } ; } where { haveRegV = mkVerb "داشتن" "دار" } ;

View File

@@ -58,7 +58,7 @@ oper
= mkCmpdNoun2 ; -- e.g. مأمور پلیس '/officer/ police'. = mkCmpdNoun2 ; -- e.g. مأمور پلیس '/officer/ police'.
cmpdN : N -> N -> N -- Compound noun with ezafe (Nی N) cmpdN : N -> N -> N -- Compound noun with ezafe (Nی N)
= \n1,n2 -> n1 ** { = \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} ; isCmpd = IsCmpd} ;
} ; } ;
@@ -214,9 +214,9 @@ oper
= \vvf,s -> lin Subj {s=s ; compl=vvf} = \vvf,s -> lin Subj {s=s ; compl=vvf}
} ; } ;
mkInterj : Str -> Interj mkInterj : Str -> Interj
= \s -> lin Interj {s=s} ; = \s -> lin Interj {s=s} ;
--. --.
--2 Definitions of paradigms --2 Definitions of paradigms

View File

@@ -237,8 +237,12 @@ oper
vp = \\ta,p,ord => vp = \\ta,p,ord =>
let vps = clTable vp ! np.a ! ta ! p ; let vps = clTable vp ! np.a ! ta ! p ;
vvt = ta2vvt ta ; vvt = ta2vvt ta ;
in vp.ad ++ vp.comp ! np.a ++ vp.obj ++ vps in case vp.vvtype of {
++ vp.vComp ! np.a ! vvt ++ vp.embComp 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} ; --Clause : Type = {s : TAnt => Polarity => Order => Str} ;

View File

@@ -126,12 +126,7 @@ have_V2 = haveVerb ** {
VImp Pos Pl => "داشته باشید" ; VImp Pos Pl => "داشته باشید" ;
VImp Neg Sg => "نداشته باش" ; VImp Neg Sg => "نداشته باش" ;
VImp Neg Pl => "نداشته باشید" ; VImp Neg Pl => "نداشته باشید" ;
VSubj _ (Ag Sg P1) => "داشته باشم" ; VSubj p agr => "داشته" ++ subjAux p agr ;
VSubj _ (Ag Sg P2) => "داشته باشی" ;
VSubj _ (Ag Sg P3) => "داشته باشد" ;
VSubj _ (Ag Pl P1) => "داشته باشیم" ;
VSubj _ (Ag Pl P2) => "داشته باشید" ;
VSubj _ (Ag Pl P3) => "داشته باشند" ;
x => haveVerb.s ! x } ; x => haveVerb.s ! x } ;
c2 = prepOrRa [] -- "را" ; ---- AR 18/9/2017: usually no ra acc. to Nasrin, but this is tricky c2 = prepOrRa [] -- "را" ; ---- AR 18/9/2017: usually no ra acc. to Nasrin, but this is tricky
} ; } ;