diff --git a/examples/nlg/NLG.gf b/examples/nlg/NLG.gf index 24c7d31c3..594911a68 100644 --- a/examples/nlg/NLG.gf +++ b/examples/nlg/NLG.gf @@ -12,11 +12,13 @@ cat NP ((Ind -> Prop) -> Prop); AP (Ind -> Prop); VP (Ind -> Prop); + VPSlash (Ind -> Ind -> Prop); V (Ind -> Prop); V2 (Ind -> Ind -> Prop); Comp (Ind -> Prop); Pol (Prop -> Prop); Cl Prop; + ClSlash (Ind -> Prop); S Prop; Utt; @@ -32,10 +34,21 @@ fun UseV : ({v} : Ind -> Prop) -> V v -> VP v ; - ComplV2 : ({v2} : Ind -> Ind -> Prop) -> - ({np} : (Ind -> Prop) -> Prop) -> - V2 v2 -> NP np -> VP (\i -> np (v2 i)) ; + ComplSlash : ({v2} : Ind -> Ind -> Prop) -> + ({np} : (Ind -> Prop) -> Prop) -> + VPSlash v2 -> NP np -> VP (\i -> np (v2 i)) ; + + SlashV2a : ({v2} : Ind -> Ind -> Prop) -> + V2 v2 -> VPSlash v2 ; + + SlashVP : ({np} : (Ind -> Prop) -> Prop) -> + ({v2} : Ind -> Ind -> Prop) -> + NP np -> VPSlash v2 -> ClSlash (\x -> np (v2 x)); + ComplClSlash : ({sl} : Ind -> Prop) -> + ({np} : (Ind -> Prop) -> Prop) -> + ClSlash sl -> NP np -> Cl (np sl); + UseComp : ({c} : Ind -> Prop) -> Comp c -> VP c ; diff --git a/examples/nlg/NLGEng.gf b/examples/nlg/NLGEng.gf index 61f444ca2..f1bd64881 100644 --- a/examples/nlg/NLGEng.gf +++ b/examples/nlg/NLGEng.gf @@ -10,11 +10,13 @@ lincat NP = Eng.NP; AP = Eng.AP; VP = Eng.VP; + VPSlash = Eng.VPSlash; V2 = Eng.V2; V = Eng.V; Comp=Eng.Comp; Pol= Eng.Pol; Cl = Eng.Cl; + ClSlash = Eng.ClSlash; S = Eng.S; Utt= Eng.Utt; Conj = Eng.Conj; @@ -25,7 +27,13 @@ lin DetCN _ _ = Eng.DetCN; UseN _ = Eng.UseN; UsePN _ = Eng.UsePN; - ComplV2 _ _ v2 np = Eng.ComplSlash (Eng.SlashV2a v2) np; + SlashV2a _ = Eng.SlashV2a; + ComplSlash _ _ = Eng.ComplSlash; + SlashVP _ _ = Eng.SlashVP; + ComplClSlash _ _ cl np = lin Cl { + s = \\t,a,p,o => cl.s ! t ! a ! p ! o ++ cl.c2 ++ np.s ! NCase Nom + } ; + UseComp _ = Eng.UseComp ; CompAP _ = Eng.CompAP ; CompNP _ = Eng.CompNP ;