summaryrefslogtreecommitdiff
path: root/grammars/health/ExtraIta.gf
blob: 541c772dc0829b0a5e67b869e3482d33d88c5996 (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
-- use this path to read the grammar from the same directory
--# -path=.:../../lib/resource-0.6/abstract:../../lib/prelude:../../lib/resource-0.6/italian:../../lib/resource-0.6/romance

--1 Functions that are not in the API, but common in Italian
--
-- Aarne Ranta, Janna Khegai 2003

resource ExtraIta = open PredicationIta, Prelude, SyntaxIta, MorphoIta, ResourceIta in {

oper 

  averBisogno : CN -> VP = \cn ->
    PosVG (PredTV (mkTransVerbPrep (verbPres avere) "bisogno"** {lock_TV = <>}) (IndefOneNP cn)) ;

-- the following are too low-level and should be provided by the resources

  injuredBody: AP -> NP -> CN -> S = \injured, patient, head ->
    (PredVP patient
      {s = \\g,v => pronRefl patient.n patient.p ++
              verbEssere.s ! v ++
              injured.s ! (AF g patient.n) ++
              (DefOneNP head).s ! case2pform accusative ;
       lock_VP = <> 
      } ) ** {lock_S = <> };

  partitNP : CN -> NP = \cn ->
    let {np = DefOneNP cn} in {s = \\_ => np.s ! Aton genitive} ** np ;

  datAdv : NP -> AdV = \np ->
    {s = np.s ! Aton dative; lock_AdV = <> } ;
 
};