Files
gf-core/lib/resource-1.0/multimodal/DemonstrativeI.gf
2005-12-05 18:31:15 +00:00

54 lines
1.3 KiB
Plaintext

incomplete concrete DemonstrativeI of Demonstrative = Cat, TenseX **
open Prelude, Test, Structural, ParamX, DemRes in {
lincat
MS = Dem {s : Polarity => Str} ;
MQS = Dem {s : Polarity => Str} ;
MImp = Dem {s : Polarity => Str} ;
MVP = Dem VP ;
DNP = Dem NP ;
DAdv = Dem Adv ;
Point = DemRes.Point ;
lin
MkPoint s = mkPoint s.s ;
PredMVP np vp =
let cl = PredVP np vp
in
mkDem
{s : Polarity => Str}
(polCases (PosCl cl).s (NegCl cl).s) (concatPoint np vp) ;
DemV verb = mkDem VP (UseV verb) noPoint ;
DemV2 verb obj = mkDem VP (ComplV2 verb obj) obj ;
DemVV vv vp = mkDem VP (ComplVV vv vp) vp ;
AdvMVP vp adv =
mkDem VP (AdvVP vp adv) (concatPoint vp adv) ;
this_DNP = mkDem NP this_NP ;
that_DNP = mkDem NP that_NP ;
-- thisDet_DNP p cn = mkDem (DetNP this_Det cn) p ;
-- thatDet_DNP p cn = mkDem (DetNP that_Det cn) p ;
here_DAdv = mkDem Adv here_Adv ;
-- here7from_DAdv = mkDem here7from_Adv ;
-- here7to_DAdv = mkDem here7to_Adv ;
PrepDNP p np = mkDem Adv (PrepNP p np) np ;
DemNP np = nonDem NP (np ** {lock_NP = <>}) ;
-- DemAdv = nonDem Adv ;
PhrMS pol ms = {s = pol.s ++ ms.s ! pol.p ++ ";" ++ ms.point} ;
point1 = mkPoint "p1" ;
point2 = mkPoint "p2" ;
}