mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-13 17:10:12 -06:00
40 lines
1.6 KiB
Plaintext
40 lines
1.6 KiB
Plaintext
concrete RelativeSom of Relative = CatSom ** open
|
|
ResSom, Prelude, (NS=NounSom), (SS=StructuralSom) in {
|
|
|
|
|
|
lin
|
|
-- : Cl -> RCl ; -- such that John loves her
|
|
-- RelCl cl = {s = cl.s ! Subord} ;
|
|
|
|
-- : RP -> VP -> RCl ;
|
|
{- NB. this works because vfSubord only puts different forms from vfStatement
|
|
in Pres,Simul,Pos. RelVP needs a third set of forms in Abs,Pres,Simul,Pos,
|
|
called "reduced present general" (Saeed p. 95-96 + ch 8).
|
|
These forms are found in VRel in VP, and aren't chosen by predVP, so we put
|
|
them in manually in RelVP.
|
|
-}
|
|
RelVP rp vp = {s = \\gn,c,t,a,p =>
|
|
let cls = predVP impersNP vp ;
|
|
rclSubord = cl2rcl cls ;
|
|
rclStatement = cl2rclNom cls ;
|
|
in rp.s ++ case <gn,c,t,a,p> of {
|
|
<g,Abs,Pres,Simul,Pos> => linVP (VRel g) Subord vp ; -- reduced present only in absolutive
|
|
<_,Abs,Pres,Simul,Neg> => linVP VRelNeg Subord vp ; -- special form for have and be
|
|
<_,Nom,Pres,Simul,Pos> => rclStatement.s ! t ! a ! p ; -- as nominative, use the usual forms, not subordinate
|
|
_ => rclSubord.s ! t ! a ! p } -- the rest is Subord because of negation.
|
|
} ;
|
|
|
|
-- : RP -> ClSlash -> RCl ; -- whom John loves
|
|
RelSlash rp cls =
|
|
let rcl = cl2relslash cls -- in subordinate clause, STM is not included but subject pronoun is
|
|
in rcl ** {s = \\g,c,t,a,p => rp.s ++ rcl.s ! t ! a ! p} ;
|
|
|
|
|
|
-- : RP ;
|
|
IdRP = {s = ""} ; -- no overt relative pronoun "that, which". For "what" e.g. "tell me what you saw", use waxa. (Nilsson p. 107)
|
|
|
|
-- : Prep -> NP -> RP -> RP ; -- the mother of whom
|
|
--FunRP prep np rp = {} ;
|
|
|
|
}
|