mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-17 08:49:31 -06:00
68 lines
1.9 KiB
Plaintext
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_} ;
|
|
-}
|
|
|
|
}
|