Files
gf-core/lib/resource/english/PredicEng.gf
2005-09-29 12:20:08 +00:00

68 lines
1.9 KiB
Plaintext

--# -path=.:../abstract:../../prelude
--# -opt
concrete PredicEng of Predic = CategoriesEng **
open Prelude, SyntaxEng, DeptypEng in {
flags optimize=all_subs ;
lincat
VType, CType = SS ;
Verb = {s : VForm => Str ; isAux : Bool ; s1 : Particle ; c : VComp} ;
Compl = {s1, s2 : Agr => Str} ;
lin
CtN, CtV, CtS, CtQ, CtA = ss [] ;
Vt, VtN = \x -> x ;
Vt_ = ss [] ;
Compl_ = {s1, s2 = \\_ => []} ;
ComplN np = {s1 = \\_ => np.s ! AccP ; s2 = \\_ => []} ;
ComplA ap = {s1 = ap.s ; s2 = \\_ => []} ;
ComplQ q = {s1 = \\_ => q.s ! DirQ ; s2 = \\_ => []} ;
ComplS s = {s1 = \\_ => "that" ++ s.s ; s2 = \\_ => []} ;
ComplAdd c np co = {s1 = \\_ => c.s ++ np.s ! AccP ; s2 = co.s1} ;
SPredVerb vt np verb compl =
predVerbClause np verb
(\\a => vt.s ++
cprep1 verb.c (compl.s1 ! a) ++
cprep2 verb.c (compl.s2 ! a)
) ;
QPredVerb vt np verb compl =
intVerbClause np verb
(\\a => vt.s ++
cprep1 verb.c (compl.s1 ! a) ++
cprep2 verb.c (compl.s2 ! a)
) ;
RPredVerb vt np verb compl =
relVerbClause np verb
(\\a => vt.s ++
cprep1 verb.c (compl.s1 ! a) ++
cprep2 verb.c (compl.s2 ! a)
) ;
IPredVerb vt verb compl =
predVerbI verb
(\\a => vt.s ++
cprep1 verb.c (compl.s1 ! a) ++
cprep2 verb.c (compl.s2 ! a)
) ;
VeV1 v = v ** {isAux = False ; c = CVt_} ;
VeV2 v = v ** {isAux = False ; c = CVt (CCtN CP_)} ; ---- other preps
{-
Walk = {s = "walks" ; c = VC_} ;
Love = {s = "loves" ; c = VC1 C_} ;
Know = {s = "knows" ; c = VC_} ;
Give = {s = "gives" ; c = VC2 C_ C_to} ;
Tell = {s = "tells" ; c = VC_} ;
Ask = {s = "asks" ; c = VC_} ;
-}
}