blob: 88e5794f631ebbeec8fcf5551001fc77c040bcc8 (
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
|
-- use this path to read the grammar from the same directory
--# -path=.:../../lib/resource-0.6/abstract:../../lib/prelude:../../lib/resource-0.6/french:../../lib/resource-0.6/romance
--1 Functions that are not in the API, but common in French
--
-- Aarne Ranta, Janna Khegai 2003
resource ExtraFre = open PredicationFre, ResourceFre, Prelude, SyntaxFre, MorphoFre, ParadigmsFre in {
oper
NPMedicine: Type = NP ** {des : Bool};
avoirBesoin1: CN -> VP = \doctor ->
PosVG ( PredTV (tvDir vAvoir) (DetNP nullDet (
AppFun (funDe (nReg "besoin" Masc) )
(IndefOneNP doctor)
)
)
) ;
avoirBesoin: NPMedicine -> VP = \medicine ->
if_then_else VP medicine.des
(PosVG ( PredTV (tvDir vAvoir) (DetNP nullDet (
AppFun (funPrep (nReg "besoin" Masc) "")
medicine
)
)
))
(PosVG ( PredTV (tvDir vAvoir) (DetNP nullDet (
AppFun (funDe (nReg "besoin" Masc))
medicine
)
)
)) ;
injuredBody: (Gender => Number => Str) -> NP -> CN -> S =
\injured, patient, head ->
PredVP patient
{s = \\g,v => pronRefl patient.n patient.p ++
verbEtre.s ! v ++
injured ! g ! patient.n ++
(DefOneNP head).s ! case2pform Acc;
lock_VP = <>
} ;
delDet : Det = mkDeterminer Sg (artDef Masc Sg genitive)
(artDef Fem Sg genitive) ** {lock_Det = <>} ;
desDet : Det = mkDeterminer1 Pl "des" ** {lock_Det = <>} ;
nullDet : Det = mkDeterminer1 Sg "" ** {lock_Det =<>} ;
--- tvAvoir = mkTransVerbDir (verbPres (conj3savoir ""))** {lock_TV = <> };
};
|