From 086d8f147949a21a60ff372849e72d82bf187e55 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 1 Mar 2019 15:26:14 +0100 Subject: [PATCH] (Pes) Remove c1 field from V2V, change c2 field from Str to Compl c1 should be covered by isAux. Though that's not a very informative field either, it just controls if conjThat is inserted (is if isAux=True). --- src/persian/CatPes.gf | 2 +- src/persian/LexiconPes.gf | 2 +- src/persian/ParadigmsPes.gf | 12 +++++++++--- src/persian/VerbPes.gf | 6 +++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/persian/CatPes.gf b/src/persian/CatPes.gf index cc282512e..377523563 100644 --- a/src/persian/CatPes.gf +++ b/src/persian/CatPes.gf @@ -83,7 +83,7 @@ concrete CatPes of Cat = CommonX - [Adv] ** open ResPes, Prelude in { V2, V2A, V2Q, V2S = ResPes.Verb ** {c2 : Compl} ; V3 = ResPes.Verb ** {c2, c3 : Compl} ; VV = ResPes.VV ; - V2V = ResPes.VV ** {c1 : Str ; c2 : Str} ; + V2V = ResPes.VV ** {c2 : Compl} ; A = ResPes.Adjective ; A2 = ResPes.Adjective ** {c2 : Str} ; diff --git a/src/persian/LexiconPes.gf b/src/persian/LexiconPes.gf index 0574740a4..35223fd61 100644 --- a/src/persian/LexiconPes.gf +++ b/src/persian/LexiconPes.gf @@ -21,7 +21,7 @@ concrete LexiconPes of Lexicon = CatPes ** beautiful_A = mkA "زیبا" ; become_VA = mkV "شدن" "شو"; beer_N = mkN01 "آبجو" inanimate; - beg_V2V = mkV2V (compoundV "خواهش" doVerb) "از" "" False; + beg_V2V = mkV2V (compoundV "خواهش" doVerb) "از" False; big_A = mkA "بزرگ" ; bike_N = mkN01 "دوچرخه" inanimate; bird_N = mkN02 "پرنده" animate; diff --git a/src/persian/ParadigmsPes.gf b/src/persian/ParadigmsPes.gf index 2b8ce4f81..f225ccaae 100644 --- a/src/persian/ParadigmsPes.gf +++ b/src/persian/ParadigmsPes.gf @@ -124,9 +124,15 @@ oper = \isAux,vvf,v -> v ** {isAux = isAux ; compl = vvf ; isDef = False} } ; - mkV2V : V -> (cV, cN : Str) -> (isAux : Bool) -> V2V -- Verb, complementiser for the verb, complementiser for the noun, whether it's auxiliary. - = \v,s1,s2,b -> let vv : VV = mkVV b subjunctive v in - lin V2V (vv ** {c1 = s1 ; c2 = s2}) ; + mkV2V = overload { + mkV2V : V -> (cN : Str) -> (isAux : Bool) -> V2V -- Verb, complementiser for the noun, whether it's auxiliary. + = \v,s,b -> let vv : VV = mkVV b subjunctive v in + lin V2V (vv ** {c2 = prepOrRa s}) ; + mV2V : VV -> (cN : Str) -> V2V -- V2V out of VV + complementiser for the noun + = \vv,s -> lin V2V (vv ** {c2 = prepOrRa s}) ; + mV2V : VV -> V2V -- V2V out of VV, را for direct object + = \vv -> lin V2V (vv ** {c2 = prepOrRa "را"}) + } ; ----2 Adverbs diff --git a/src/persian/VerbPes.gf b/src/persian/VerbPes.gf index 9792d2dc6..bfa98f093 100644 --- a/src/persian/VerbPes.gf +++ b/src/persian/VerbPes.gf @@ -21,10 +21,10 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in { SlashV2S v s = v ** embComp (conjThat ++ s.s ! Indic) (predV v) ; SlashV2Q v q = v ** embComp (q.s ! QIndir) (predV v) ; SlashV2A v ap = v ** insertObj (ap.s ! Bare) (predV v) ; ---- paint it red , check form of adjective - SlashV2V v vp = insertVV v vp ** {c2 = {s = v.c1 ; ra = []}} ; + SlashV2V v vp = v ** insertVV v vp ; -- ** {c2 = {s = v.c1 ; ra = []}} ; SlashV2VNP v2v np vps = - let vvVP : VPH = insertVV v2v vps ; - vvVPS = vvVP ** {c2={s=v2v.c1 ; ra=v2v.c2}} ; -- TODO find out if it's a general rule; only one V2V in the lexicon /IL + let vvVPS : VPHSlash = vps ** insertVV v2v vps ; +-- vvVPS = vvVP ** {c2={s=v2v.c1 ; ra=v2v.c2}} ; -- TODO find out if it's a general rule; only one V2V in the lexicon /IL in complSlash vvVPS np ** {c2 = vps.c2} ; AdvVP vp adv = insertAdV adv.s vp ;