summaryrefslogtreecommitdiff
path: root/grammars/health/HealthRus.gf
blob: ddbaf947362893947bc3c8c5964dbd386116b0e5 (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
78
-- use this path to read the grammar from the same directory
--# -path=.:../newresource/abstract:../prelude:../newresource/russian

concrete HealthRus of Health = open PredicationRus, ResourceRus, Prelude, SyntaxRus, ExtraRus in {

flags 
  coding=utf8 ;
  startcat=Phr ; lexer=text ; parser=chart ; unlexer=text ;

lincat 
  Patient = NP ;
  BodyPart = CN ;
  Symptom = NP ;
  SymptomDegree = AP ;
  Prop = S ;
  Illness = CN ; 
  Condition = VP ;
  Specialization = CN ;
  Medicine  = CN ;
lin 
  And x y = ConjS AndConj (TwoS x y) ;

  ShePatient = SheNP ;
  TheyPatient = TheyNP ;
  IPatientHe =  { s = INP.s ; g = PGen Masc; anim = INP.anim ;
    n = INP.n ; nComp = INP.nComp ; p = INP.p ; pron = INP.pron; lock_NP = <>} ;

  Influenza = n2n gripp ** {lock_CN = <>}; 
  Malaria = n2n malaria ** {lock_CN = <>} ; 

  Dentist  =  n2n stomatolog ** {lock_CN = <>};
  PainKiller = n2n obezbolivauchee ** {lock_CN = <>};

  Fever = mkNounPhrase Sg (n2n temperatura)** {lock_NP = <>}; 
  BeInCondition = PredVP ; 
  CatchCold = PosVG (PredAP (AdjP1 (prostuzhen ** {lock_Adj1 = <>}))) ;
  Pregnant = PosVG (PredAP (AdjP1 (beremenen ** {lock_Adj1 = <>}))) ;
  

  TakeMedicine patient painkiller = predV2 (mkDirectVerb 
    (extVerb verbPrinimat Act Present)**{lock_TV = <>}) patient (mkNounPhrase Sg painkiller ** {lock_NP = <>}) ; 
  Injured patient painkiller = predV2 (mkDirectVerb
   (extVerb verbPoranit Act Past)**{lock_TV = <>}) patient (mkNounPhrase patient.n painkiller ** {lock_NP = <>}) ;
  Broken patient painkiller = predV2 (mkDirectVerb
   (extVerb verbSlomat Act Past)**{lock_TV = <>}) patient (mkNounPhrase patient.n painkiller ** {lock_NP = <>}) ;
                               
  HaveIllness patient symptom = U_predTransVerb True tvHave
     patient (mkNounPhrase Sg symptom ** {lock_NP = <>}) ;
  Complain = U_predTransVerb True tvHave ;

  NeedDoctor = predNeedShortAdjective True ; 
  NeedMedicine = predNeedShortAdjective True ; 

  PainIn patient head = U_predTransVerb True (mkDirectVerb 
    (extVerb verbBolet_2 Act Present ) ** {lock_TV =<>}) patient (mkNounPhrase patient.n head ** {lock_NP =<>}) ;
 
 Head = n2n golova ** {lock_CN = <>};
 Leg = n2n noga ** {lock_CN = <>};
  Stomac = n2n zhivot ** {lock_CN = <>};
  Throat = n2n gorlo ** {lock_CN = <>};
  Ear = n2n ukho ** {lock_CN = <>};
  Chest = n2n grud ** {lock_CN = <>};
  Foot = n2n stopa ** {lock_CN = <>};
  Arm = n2n ruka ** {lock_CN = <>};
  Back = n2n spina ** {lock_CN = <>};
  Shoulder = n2n plecho ** {lock_CN = <>};
--  Knee = n2n koleno ** {lock_CN = <>};

--  High = AdjP1 (extAdjective vusokij ** {lock_Adj1 = <>});
--  Terrible = AdjP1 (extAdjective uzhasnuj ** {lock_Adj1 = <>});
--  FeverMod degree =  mkNounPhrase Sg 
-- (ModAdj degree (n2n temperatura** {lock_CN = <>})) ** {lock_NP = <>};
--  PainInMod patient head degree = U_predTransVerb True (mkDirectVerb
--    (extVerb have Act Present) ** {lock_TV =<>}) patient 
-- (mkNounPhrase Sg (ModAdj degree 
--(AppFun (mkFun bol "в" Prepos ** {lock_Fun = <>}) 
-- (mkNounPhrase patient.n head** {lock_NP = <>}))) ** {lock_NP =<>});
};