From 29380f0df0f41cc5ff85fbac7891bc91aa8fb90c Mon Sep 17 00:00:00 2001 From: Aarne Ranta Date: Thu, 14 Sep 2017 11:55:30 +0200 Subject: [PATCH] experimenting with Persian auxiliary verbs --- src/persian/ResPes.gf | 18 ++++++++++++++---- src/persian/StructuralPes.gf | 2 ++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/persian/ResPes.gf b/src/persian/ResPes.gf index 0d3a11ecc..2dcb9b80c 100644 --- a/src/persian/ResPes.gf +++ b/src/persian/ResPes.gf @@ -111,6 +111,8 @@ oper |VPFutr Anteriority |VPCond Anteriority ; oper +--s (Vvform (AgPes Sg PPers1)) : بخوانم + predV : Verb -> VPH = \verb -> { s = \\vh => @@ -228,10 +230,18 @@ oper {- infVP : Bool -> VPH -> Agr -> Str = \isAux,vp,a -> vp.obj.s ++ vp.inf ++ vp.comp ! a ; - -} - infVV : Bool -> VPH -> {s : AgrPes => Str} = \isAux,vp -> - {s = \\agr => case agr of { - AgPes n p => (vp.ad ++ vp.comp ! (toAgr n p)) ++ (vp.s ! VVForm (AgPes n p)).inf }}; + -} + +---- AR 14/9/2017 trying to fix isAux = True case by inserting conjThat +---- but don't know yet how False should be affect + infVV : Bool -> VPH -> {s : AgrPes => Str} = \isAux,vp -> + {s = \\agr => case agr of { + AgPes n p => case isAux of { + True => conjThat ++ (vp.ad ++ vp.comp ! (toAgr n p)) ++ (vp.s ! VVForm (AgPes n p)).inf ; + False => (vp.ad ++ vp.comp ! (toAgr n p)) ++ (vp.s ! VVForm (AgPes n p)).inf + } + } + } ; insertObjPre : (AgrPes => Str) -> VPHSlash -> VPH = \obj,vp -> { s = vp.s ; diff --git a/src/persian/StructuralPes.gf b/src/persian/StructuralPes.gf index 1b2118aeb..835c5666c 100644 --- a/src/persian/StructuralPes.gf +++ b/src/persian/StructuralPes.gf @@ -21,6 +21,7 @@ concrete StructuralPes of Structural = CatPes ** by8agent_Prep = ss "توسط" ; by8means_Prep = ss "با" ; -- can8know_VV,can_VV = mkV "سکن" ** { isAux = True} ; + can_VV = mkV_1 " توانستن " ** { isAux = True} ; ---- AR during_Prep = ss ["در طول"] ; either7or_DConj = sd2 "یا" "یا" ** {n = Sg} ; -- everybody_NP = MassNP (UseN (MorphoPnb.mkN11 ["هر کwی"])); -- not a good way coz need to include NounPnb @@ -48,6 +49,7 @@ concrete StructuralPes of Structural = CatPes ** more_CAdv = {s = "بیشتر" ; p = "" } ; most_Predet = ss "اکثر"; much_Det = mkDet ["مقدار زیادی"] Pl ; + must_VV = mkV_1 " بایستن " ** {isAux = True} ; ---- AR -- must_VV = { -- s = table { -- VVF VInf => ["هوe تْ"] ;