summaryrefslogtreecommitdiff
path: root/examples/app/AppFunctor.gf
blob: fafb82c5449d1f4e93524517d6d46f214f091b60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
  ],
 Phrasebook - [open_Adv]

   ** open Syntax in {

flags
  literal=Symb ;
--  case_sensitive=off ;

lin
  PhrasePhr p = {s = "+" ++ p.s} | p ;
  Phrase_Chunk p = p ;

  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 ;
  PassAgentV2 v2 np = mkVP (passiveVP v2) (mkAdv by8agent_Prep np) ;
  RelV2 rp np v2 = mkRCl rp (mkClSlash np (mkVPSlash v2)) ;
  QuestV2 ip np v2 = mkQCl ip (mkClSlash np (mkVPSlash v2)) ;

}