From e682f0972d4e6ca4c2b7ba52125512565ed2020b Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 4 Jun 2016 17:07:35 +0000 Subject: made App into a functor to make its body easier to modify; unfortunately, the import list must be copied however --- examples/app/AppFunctor.gf | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 examples/app/AppFunctor.gf (limited to 'examples/app/AppFunctor.gf') diff --git a/examples/app/AppFunctor.gf b/examples/app/AppFunctor.gf new file mode 100644 index 000000000..b96bf1b1c --- /dev/null +++ b/examples/app/AppFunctor.gf @@ -0,0 +1,45 @@ +incomplete concrete AppFunctor of App = + + Translate - [ + -- Verb + SlashV2a,ComplSlash, -- replaced by a more efficient inlined version + SlashV2V, + Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A, + SlashVV, SlashV2VNP, + AdvVPSlash, AdVVPSlash, VPSlashPrep, + -- Sentence + SlashVP, SlashVS, + PredSCVP, + AdvSlash, SlashPrep, SlashVS, + EmbedS, EmbedQS, EmbedVP, RelS, + -- Question + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP, + -- Idiom + CleftNP, CleftAdv, + ImpP3, + -- Construction + -- Extensions + PassVPSlash, PassAgentVPSlash -- not reachable anyway + ] + + ** open Syntax in { + +flags + literal=Symb ; + +lin + ComplV2 v np = mkVP v np ; + + ComplV2V v np vp = mkVP v np vp ; +-- ComplV2A v np vp = mkVP v np vp ; +-- ComplV2Q v np vp = mkVP v np vp ; +-- ComplV2S v np vp = mkVP v np vp ; + ComplV3 v np vp = mkVP v np vp ; + + + + PassV2 v2 = passiveVP v2 ; + RelV2 rp np v2 = mkRCl rp (mkClSlash np (mkVPSlash v2)) ; + QuestV2 ip np v2 = mkQCl ip (mkClSlash np (mkVPSlash v2)) ; + +} -- cgit v1.2.3