diff --git a/src/persian/CatPes.gf b/src/persian/CatPes.gf index 69077d1cc..b5396a8c5 100644 --- a/src/persian/CatPes.gf +++ b/src/persian/CatPes.gf @@ -6,8 +6,8 @@ concrete CatPes of Cat = CommonX ** open ResPes, Prelude in { ------ Tensed/Untensed S = {s : VVForm => Str} ; -- as a complement to Subj - QS = {s : QForm => Str} ; - RS = {s : Agr => Str } ; -- c for it clefts + QS = {s : Str} ; + RS = {s : Agr => Str } ; SSlash = {s : VVForm => Str ; c2 : ResPes.Compl} ; ---- Sentence @@ -21,7 +21,7 @@ concrete CatPes of Cat = CommonX ** open ResPes, Prelude in { Imp = {s : Polarity => ImpForm => Str} ; ---- Question - QCl = {s : ResPes.TAnt => Polarity => QForm => Str} ; + QCl = {s : ResPes.TAnt => Polarity => Str} ; IP = {s: Str ; n : Number}; diff --git a/src/persian/IdiomPes.gf b/src/persian/IdiomPes.gf index ae64fea5c..72a8d2f90 100644 --- a/src/persian/IdiomPes.gf +++ b/src/persian/IdiomPes.gf @@ -16,16 +16,12 @@ lin CleftAdv ad ss = { s = \\t,b,o => ad.s ++ ss.s ! Indic}; ExistNP np = - mkSClause " " (agrP3 (fromAgr np.a).n) - (insertComp (\\_ => np.s ! Bare) (predV beVerb)) ; + mkSClause [] (agrP3 (fromAgr np.a).n) + (insertComp (\\_ => np.s ! Bare) (predV beVerb)) ; ExistIP ip = - let cl = mkSClause ( ip.s ) (agrP3 ip.n) (predV beVerb); - in {s = \\t,p,qf => case qf of { - QDir => cl.s ! t ! p ! ODir; - QIndir => cl.s ! t! p ! ODir - } - }; + let cl = mkSClause ip.s (agrP3 ip.n) (predV beVerb); + in {s = \\t,p => cl.s ! t ! p ! ODir}; ProgrVP vp = predProg vp ; diff --git a/src/persian/PhrasePes.gf b/src/persian/PhrasePes.gf index ff53f7de3..419e6a481 100644 --- a/src/persian/PhrasePes.gf +++ b/src/persian/PhrasePes.gf @@ -3,12 +3,12 @@ concrete PhrasePes of Phrase = CatPes ** open Prelude, ResPes in { lin PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; UttS s = {s = s.s ! Indic} ; - UttQS qs = {s = qs.s ! QDir} ; UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg False} ; UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Pl False} ; UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg True} ; UttIP, --- Acc also + UttQS, UttAdv, UttIAdv, UttCard = \ss -> ss ; diff --git a/src/persian/QuestionPes.gf b/src/persian/QuestionPes.gf index 924c8568c..2fba87468 100644 --- a/src/persian/QuestionPes.gf +++ b/src/persian/QuestionPes.gf @@ -4,41 +4,26 @@ concrete QuestionPes of Question = CatPes ** open ResPes, Prelude in { lin - QuestCl cl = { - s = \\t,p,qf => case qf of { - QDir => cl.s ! t ! p ! OQuest; - QIndir => cl.s ! t! p ! ODir - } - }; + QuestCl cl = { + s = \\t,p => cl.s ! t ! p ! OQuest + }; - QuestVP qp vp = - let cl = mkSClause ("") (Ag qp.n P3) vp; --- qp1 = qp.s; --- qp2 = qp.s ! Obl ++ "nE" - in { s = \\t,p,o => qp.s ++ cl.s ! t ! p ! ODir } ; --- _ => qp1 ++ cl.s ! t ! p ! ODir --- } + QuestVP qp vp = + let cl = mkSClause [] (Ag qp.n P3) vp; + in {s = \\t,p => qp.s ++ cl.s ! t ! p ! ODir} ; - QuestSlash ip slash = { - s = \\t,p,o => - slash.subj ++ slash.c2.s ++ ip.s ++ slash.c2.ra ++ - slash.vp ! t ! p ! ODir; - -- order of whome and john needs to be changed - -- AR 18/9/2017 now changed by making ClSlash discontinuous - }; + QuestSlash ip slash = { + s = \\t,p => slash.subj ++ slash.c2.s ++ ip.s ++ slash.c2.ra + ++ slash.vp ! t ! p ! ODir + }; - QuestIAdv iadv cl = { - s = \\t,p,_ => iadv.s ++ cl.s ! t ! p ! ODir; - }; + QuestIAdv iadv cl = { + s = \\t,p => iadv.s ++ cl.s ! t ! p ! ODir + }; - QuestIComp icomp np = - let cl = mkSClause (np.s ! Bare ++ icomp.s) np.a (predV beVerb); - in { - s = \\t,p,qf => case qf of { - QDir => cl.s ! t ! p ! ODir; - QIndir => cl.s ! t! p ! ODir - } - }; + QuestIComp icomp np = + let cl = mkSClause (np.s ! Bare ++ icomp.s) np.a (predV beVerb) + in {s = \\t,p => cl.s ! t ! p ! ODir}; PrepIP p ip = {s = p.s ++ ip.s } ; diff --git a/src/persian/SentencePes.gf b/src/persian/SentencePes.gf index b80db77fb..7e108a641 100644 --- a/src/persian/SentencePes.gf +++ b/src/persian/SentencePes.gf @@ -37,7 +37,7 @@ concrete SentencePes of Sentence = CatPes ** open Prelude, ResPes,Predef in { {c2 = slash.c2} ; EmbedS s = {s = conjThat ++ s.s ! Indic} ; - EmbedQS qs = {s = qs.s ! QIndir} ; + EmbedQS qs = qs ; EmbedVP vp = {s = showVPH Inf defaultAgr vp} ; --- agr @@ -48,7 +48,7 @@ concrete SentencePes of Sentence = CatPes ** open Prelude, ResPes,Predef in { } ; UseQCl temp p qcl = let vt = TA temp.t temp.a in { - s = \\q => temp.s ++ p.s ++ qcl.s ! vt ! p.p ! q; + s = temp.s ++ p.s ++ qcl.s ! vt ! p.p ; } ; UseRCl temp p rcl = let vt = TA temp.t temp.a in rcl ** { diff --git a/src/persian/VerbPes.gf b/src/persian/VerbPes.gf index 5e8b8104b..368a9a7a9 100644 --- a/src/persian/VerbPes.gf +++ b/src/persian/VerbPes.gf @@ -14,12 +14,12 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in { ComplVV = insertVV ; ComplVS v s = embComp (conjThat ++ s.s ! Indic) (predV v) ; - ComplVQ v q = embComp (conjThat ++ q.s ! QIndir) (predV v) ; + ComplVQ v q = embComp (conjThat ++ q.s) (predV v) ; ComplVA v ap = insertObj (appComp v.c2 (ap.s ! Bare)) (predV v) ; -- check form of adjective SlashVV vv vps = vps ** ComplVV vv vps ; SlashV2S v s = predVc v ** embComp (conjThat ++ s.s ! Indic) (predV v) ; - SlashV2Q v q = predVc v ** embComp (q.s ! QIndir) (predV v) ; + SlashV2Q v q = predVc v ** embComp q.s (predV v) ; SlashV2A v ap = predVc v ** insertObj (appComp v.c2 (ap.s ! Bare)) (predV v) ; ---- paint it red , check form of adjective -- : V2V -> VP -> VPSlash ; -- beg (her) to go