ResEng.mkS to mkClause

This commit is contained in:
aarne
2005-12-07 21:51:40 +00:00
parent b7cb68eb08
commit 5a9db982dc
5 changed files with 24 additions and 24 deletions

View File

@@ -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"} ;

View File

@@ -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 = {

View File

@@ -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
} ;

View File

@@ -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 ;

View File

@@ -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 = {