summaryrefslogtreecommitdiff
path: root/examples/fracas/src/Additions.gf
blob: 2abb98304a7fb06ceeedfd27c9043dea5ef82a26 (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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
--# -path=.:alltenses

-- Additions to the resource grammar

abstract Additions = Cat ** {

-- First we start with the contents of the RGL's Extra.gf, as it looked like in October 2011.

fun
  GenNP       : NP -> Quant ;       -- this man's
  ComplBareVS : VS -> S -> VP ;     -- know you go

  StrandRelSlash   : RP -> ClSlash -> RCl ;   -- that he lives in
  EmptyRelSlash    : ClSlash -> RCl ;   -- he lives in

cat
  VPI ;
  [VPI] {2} ;

fun
  MkVPI : VP -> VPI ;
  ConjVPI : Conj -> [VPI] -> VPI ;
  ComplVPIVV : VV -> VPI -> VP ;

cat
  VPS ;
  [VPS] {2} ;

fun
  MkVPS : Temp -> Pol -> VP -> VPS ;
  ConjVPS : Conj -> [VPS] -> VPS ;
  PredVPS : NP -> VPS -> S ;

fun
  PartVP : VP -> AP ; -- (the man) looking at Mary
  EmbedPresPart : VP -> SC ; -- looking at Mary (is fun)

  PassVPSlash : VPSlash -> VP ; -- be forced to sleep

-- And then we give some FraCaS-specific additions to the original Extra.gf.

cat
  [QS]{2} ;
  [Det]{2} ;

fun
  -- NP relative phrases, without comma
  RelNPa : NP -> RS -> NP ;

  -- just to overcome a bug in AdjectiveScand.gf
  UseComparA_prefix : A -> AP ;

  -- s-form passive
  PassV2s : V2 -> VP ;

  -- idiom "so do I", "so did she"
  SoDoI : NP -> Cl ;

  -- as ExtAdvS, but for questions
  ExtAdvQS : Adv -> QS  -> QS ;

  -- question conjunction
  ConjQS : Conj -> [QS] -> QS ;

  -- determiner conjunction
  ConjDet : Conj -> [Det] -> Det ;

  -- -- possible additional functions:
  -- AdVAdv : Adv -> AdV ;
  -- PassV2V : V2V -> VV ;
  -- ComplVPIV2V : V2V -> VPI -> VPSlash ;
  -- ComplVV : VV -> VP -> VP ;
  -- ComparAdvNoun : CAdv -> CN -> NP -> NP ;
  -- ComparAdvNounS : CAdv -> CN -> S -> NP ;
  -- ConjVPSlash : Conj -> VPSlash -> VPSlash -> VPSlash ;

}