From 83c6883711da8da07e52e20230cafa7b5ce77f01 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 23 Jan 2019 16:25:33 +0100 Subject: [PATCH] (Ara) Add a field to VP: whether to use negative copula for negation --- src/arabic/ResAra.gf | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index 196923f80..06d776e6f 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -444,13 +444,14 @@ oper sc : Preposition ; -- subject case: e.g. يُمْكِنُ *لِ*Xِ obj : Obj; pred : Comp; - isPred : Bool; --indicates if there is a predicate (xabar) + isPred : Bool; -- indicates if there is a predicate (xabar) s2 : Str } ; VP : Type = BaseVP ** { - s : PerGenNum => VPForm => Str ; - } ; + s : PerGenNum => VPForm => Str ; + isPoss : Bool; -- special case for have_V2, to get negation right /IL + } ; uttVP : VPForm -> VP -> (Gender=>Str) = \vpf,vp -> \\g => vp.s ! Per3 g Sg ! vpf @@ -470,7 +471,7 @@ oper obj = emptyObj ; s2 = []; pred = {s = \\_,_ => []} ; - isPred = False + isPred,isPoss = False }; passPredV : Verb -> VP = \v -> @@ -614,7 +615,8 @@ oper lam = "لَمْ" ; -- neg. past alla = "أَلَّا" ; -- neg. subjunctive lan = "لَنْ" ; -- neg. future - in case of { + in case of { + => laysa ! Per3 Masc Sg ++ yaktubu ; -- special case for have_V2 => yaktubu ; => la ++ yaktubu ; => [] ; --no verb "to be" in present @@ -647,7 +649,12 @@ oper } ; slashV2 : Verb2 -> VPSlash = \v -> - predV v ** {c2 = v.c2 ; agrObj = \\_ => []} ; + predV v ** { + c2 = v.c2 ; agrObj = \\_ => [] ; + isPoss = case v.c2.c of { + Nom => True ; -- for have_V2 + _ => False } ; + } ; -- Add subject string, fix agreement to the subject, -- but keep the structure as VP, because later on