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