From 8f965e8556141fe8226dfa38d0bfe38d847685b6 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 29 Apr 2019 11:36:37 +0200 Subject: [PATCH 1/3] (Pes) Add VVForm as a field to V2S --- src/persian/CatPes.gf | 3 ++- src/persian/LexiconPes.gf | 2 +- src/persian/ParadigmsPes.gf | 17 +++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/persian/CatPes.gf b/src/persian/CatPes.gf index 87436ec8..34ad7531 100644 --- a/src/persian/CatPes.gf +++ b/src/persian/CatPes.gf @@ -77,11 +77,12 @@ concrete CatPes of Cat = CommonX ** open ResPes, Prelude in { relpron : RelPron -- choose between که and آنچه } ; VS = ResPes.Verb ** {compl : VVForm} ; -- subjunctive or indicative + V2S = ResPes.Verb ** {c2 : Compl ; compl : VVForm} ; Prep = Compl ; ---- Open lexical classes, e.g. Lexicon V, VQ = ResPes.Verb ; - V2, VA, V2A, V2Q, V2S = ResPes.Verb ** {c2 : Compl} ; + V2, VA, V2A, V2Q = ResPes.Verb ** {c2 : Compl} ; V3 = ResPes.Verb ** {c2, c3 : Compl} ; VV = ResPes.VV ; V2V = ResPes.VV ** {c2 : Compl} ; diff --git a/src/persian/LexiconPes.gf b/src/persian/LexiconPes.gf index c9e6cff1..9f84da83 100644 --- a/src/persian/LexiconPes.gf +++ b/src/persian/LexiconPes.gf @@ -10,7 +10,7 @@ concrete LexiconPes of Lexicon = CatPes ** lin airplane_N = mkN01 "هواپیما" inanimate ; - answer_V2S = mkV2 (compoundV "جواب" giveVerb) "به" False; + answer_V2S = mkV2S (mkV2 (compoundV "جواب" giveVerb) "به" False) ; apartment_N = mkN01 "آپارتمان" inanimate; apple_N = mkN01 "سیب" inanimate; art_N = mkN01 "هنر" inanimate; diff --git a/src/persian/ParadigmsPes.gf b/src/persian/ParadigmsPes.gf index c65e8f96..93583249 100644 --- a/src/persian/ParadigmsPes.gf +++ b/src/persian/ParadigmsPes.gf @@ -150,9 +150,9 @@ oper } ; mkVS = overload { - mkVS : Str -> VS -- predictable verb with sentence complement + mkVS : Str -> VS -- predictable verb with sentence complement in subjunctive. = \s -> lin VS (regV s ** {compl=subjunctive}) ; - mkVS : V -> VS -- VS out of a verb + mkVS : V -> VS -- VS out of a verb, sentence complement in subjunctive. = \v -> lin VS (v ** {compl=subjunctive}) } ; @@ -169,6 +169,19 @@ oper defVV : VV -> VV = \vv -> vv ** {isDef=True} ; + mkV2S = overload { + mkV2S : Str -> V2S -- predictable morphology, direct object with را, sentence complement in subjunctive. + = \s -> lin V2S (regV s ** {compl=subjunctive ; c2 = prepOrRa "را"}) ; + mkV2S : V -> V2S -- direct object with را, sentence complement in subjunctive. + = \v -> lin V2S (v ** {compl=subjunctive ; c2 = prepOrRa "را"}) ; + mkV2S : V -> Prep -> VVForm -> V2S -- direct object and mood for sentence complement as arguments. + = \v,prep,vvf -> lin V2S (v ** {compl=vvf ; c2 = prep}) ; + mkV2S : V2 -> V2S -- direct object given by V2, sentence complement in subjunctive. + = \v2 -> lin V2S (v2 ** {compl=subjunctive}) ; + mkV2S : VS -> V2S -- direct object with را, sentence complement given by VS. + = \vs -> lin V2S (vs ** {c2 = prepOrRa "را"}) + } ; + 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 From b7e6f23020eb3e79a676be525a16fc5d9fbe0dea Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 29 Apr 2019 13:35:49 +0200 Subject: [PATCH 2/3] (Pes) Add new constructor for mkVS + change order of args for mkV2S --- src/persian/ParadigmsPes.gf | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/persian/ParadigmsPes.gf b/src/persian/ParadigmsPes.gf index 93583249..96eb4a15 100644 --- a/src/persian/ParadigmsPes.gf +++ b/src/persian/ParadigmsPes.gf @@ -153,7 +153,9 @@ oper mkVS : Str -> VS -- predictable verb with sentence complement in subjunctive. = \s -> lin VS (regV s ** {compl=subjunctive}) ; mkVS : V -> VS -- VS out of a verb, sentence complement in subjunctive. - = \v -> lin VS (v ** {compl=subjunctive}) + = \v -> lin VS (v ** {compl=subjunctive}) ; + mkVS : VVForm -> V -> VS -- sentence complement given as argument + = \vvf,v -> lin VS (v ** {compl=vvf}) ; } ; mkVV = overload { @@ -174,8 +176,8 @@ oper = \s -> lin V2S (regV s ** {compl=subjunctive ; c2 = prepOrRa "را"}) ; mkV2S : V -> V2S -- direct object with را, sentence complement in subjunctive. = \v -> lin V2S (v ** {compl=subjunctive ; c2 = prepOrRa "را"}) ; - mkV2S : V -> Prep -> VVForm -> V2S -- direct object and mood for sentence complement as arguments. - = \v,prep,vvf -> lin V2S (v ** {compl=vvf ; c2 = prep}) ; + mkV2S : Prep -> VVForm -> V -> V2S -- direct object and mood for sentence complement as arguments. + = \prep,vvf,v -> lin V2S (v ** {compl=vvf ; c2 = prep}) ; mkV2S : V2 -> V2S -- direct object given by V2, sentence complement in subjunctive. = \v2 -> lin V2S (v2 ** {compl=subjunctive}) ; mkV2S : VS -> V2S -- direct object with را, sentence complement given by VS. From 08a956223c8a7e374b807d5e95dea99cb4dbef88 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 29 Apr 2019 13:38:12 +0200 Subject: [PATCH 3/3] (Pes) Fix word order in ComplA2 --- src/persian/AdjectivePes.gf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/persian/AdjectivePes.gf b/src/persian/AdjectivePes.gf index ca7bed15..685279e0 100644 --- a/src/persian/AdjectivePes.gf +++ b/src/persian/AdjectivePes.gf @@ -14,7 +14,7 @@ concrete AdjectivePes of Adjective = CatPes ** open ResPes, Prelude in { ---- $SuperlA$ belongs to determiner syntax in $Noun$. ComplA2 a np = a ** { - s = \\m => np2str np ++ a.c2 ++ a.s ! m ; + s = \\m => a.c2 ++ np2str np ++ a.s ! m ; adv = np2str np ++ a.c2 ++ a.adv } ;