diff --git a/lib/resource-1.0/english/ExtEng.gf b/lib/resource-1.0/english/ExtEng.gf index 714fa31f9..70e51605b 100644 --- a/lib/resource-1.0/english/ExtEng.gf +++ b/lib/resource-1.0/english/ExtEng.gf @@ -6,19 +6,19 @@ concrete ExtEng of ExtEngAbs = CatEng ** open ResEng in { lin - PredAux np aux vp = mkS (np.s ! Nom) np.a - (\\t,ant,b,ord,agr => - let - fin = aux.s ! b ; - vf : Str -> Str -> {fin, inf : Str} = \x,y -> - {fin = x ; inf = y} ; - in - case ant of { - Simul => vf fin [] ; - Anter => vf fin "have" - } - ) - (\\agr => infVP vp agr) ; + PredAux np aux vp = mkClause (np.s ! Nom) np.a { + s = \\t,ant,b,ord,agr => + let + fin = aux.s ! b ; + vf : Str -> Str -> {fin, inf : Str} = \x,y -> + {fin = x ; inf = y} ; + in + case ant of { + Simul => vf fin [] ; + Anter => vf fin "have" + } ; + s2 = \\agr => infVP vp agr + } ; can_Aux = {s = \\p => posneg p "can"} ; ---- cannt must_Aux = {s = \\p => posneg p "must"} ; diff --git a/lib/resource-1.0/english/QuestionEng.gf b/lib/resource-1.0/english/QuestionEng.gf index dbe158b80..9f1820f85 100644 --- a/lib/resource-1.0/english/QuestionEng.gf +++ b/lib/resource-1.0/english/QuestionEng.gf @@ -14,7 +14,7 @@ concrete QuestionEng of Question = CatEng ** open ResEng in { } ; QuestVP qp vp = - let cl = mkS (qp.s ! Nom) {n = qp.n ; p = P3} vp.s vp.s2 + let cl = mkClause (qp.s ! Nom) {n = qp.n ; p = P3} vp in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir} ; QuestSlash ip slash = { diff --git a/lib/resource-1.0/english/RelativeEng.gf b/lib/resource-1.0/english/RelativeEng.gf index c8fce45fd..c81b949b7 100644 --- a/lib/resource-1.0/english/RelativeEng.gf +++ b/lib/resource-1.0/english/RelativeEng.gf @@ -15,7 +15,7 @@ concrete RelativeEng of Relative = CatEng ** open ResEng in { RNoAg => ag ; RAg a => a } ; - cl = mkS (rp.s ! Nom) agr vp.s vp.s2 + cl = mkClause (rp.s ! Nom) agr vp in cl.s ! t ! ant ! b ! ODir } ; diff --git a/lib/resource-1.0/english/ResEng.gf b/lib/resource-1.0/english/ResEng.gf index 064a584fc..a91ca2ece 100644 --- a/lib/resource-1.0/english/ResEng.gf +++ b/lib/resource-1.0/english/ResEng.gf @@ -232,12 +232,12 @@ resource ResEng = ParamEng ** open Prelude in { s : Tense => Anteriority => Polarity => Ord => Str } ; - mkS : Str -> Agr -> VerbForms -> (Agr => Str) -> Clause = - \subj,agr,verb,compl0 -> { + mkClause : Str -> Agr -> VP -> Clause = + \subj,agr,vp -> { s = \\t,a,b,o => let - verb = verb ! t ! a ! b ! o ! agr ; - compl = compl0 ! agr + verb = vp.s ! t ! a ! b ! o ! agr ; + compl = vp.s2 ! agr in case o of { ODir => subj ++ verb.fin ++ verb.inf ++ compl ; diff --git a/lib/resource-1.0/english/SentenceEng.gf b/lib/resource-1.0/english/SentenceEng.gf index c39f88cfe..4f97dc897 100644 --- a/lib/resource-1.0/english/SentenceEng.gf +++ b/lib/resource-1.0/english/SentenceEng.gf @@ -3,9 +3,9 @@ concrete SentenceEng of Sentence = CatEng ** open ResEng in { flags optimize=all_subs ; lin - PredVP np vp = mkS (np.s ! Nom) np.a vp.s vp.s2 ; + PredVP np vp = mkClause (np.s ! Nom) np.a vp ; - PredSCVP sc vp = mkS sc.s (agrP3 Sg) vp.s vp.s2 ; + PredSCVP sc vp = mkClause sc.s (agrP3 Sg) vp ; ImpVP vp = { s = \\pol,n => @@ -20,11 +20,11 @@ concrete SentenceEng of Sentence = CatEng ** open ResEng in { dont ++ verb } ; - SlashV2 np v2 = mkS (np.s ! Nom) np.a (predV v2).s (\\_ => []) ** - {c2 = v2.c2} ; + SlashV2 np v2 = + mkClause (np.s ! Nom) np.a (predV v2) ** {c2 = v2.c2} ; SlashVVV2 np vv v2 = - mkS (np.s ! Nom) np.a (predV vv).s (\\_ => "to" ++ v2.s ! VInf) ** + mkClause (np.s ! Nom) np.a (insertObj (\\_ => "to" ++ v2.s ! VInf) (predV vv)) ** {c2 = v2.c2} ; AdvSlash slash adv = {