summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjanna <unknown>2004-01-30 16:01:15 +0000
committerjanna <unknown>2004-01-30 16:01:15 +0000
commit025274db074870ae5b1ef4551377276545520a6d (patch)
treed64c0df20f728c9e40c04562063310a84d05d2f7
parentd3c8436f31f375f0861b21e081b6cc07ba1c98b7 (diff)
*** empty log message ***
-rw-r--r--grammars/health/ExtraFre.gf28
-rw-r--r--grammars/health/ExtraRus.gf6
-rw-r--r--grammars/health/Health.gf6
-rw-r--r--grammars/health/HealthEng.gf53
-rw-r--r--grammars/health/HealthFre.gf71
-rw-r--r--grammars/health/HealthRus.gf76
-rw-r--r--grammars/health/HealthSwe.gf83
7 files changed, 233 insertions, 90 deletions
diff --git a/grammars/health/ExtraFre.gf b/grammars/health/ExtraFre.gf
index 25b6aa302..0d0bbfaad 100644
--- a/grammars/health/ExtraFre.gf
+++ b/grammars/health/ExtraFre.gf
@@ -8,13 +8,32 @@
resource ExtraFre = open PredicationFre, ResourceFre, Prelude, SyntaxFre, MorphoFre, ParadigmsFre in {
oper
- avoirBesoin: CN -> VP = \medicine ->
+ NPMedicine: Type = NP ** {des : Bool};
+
+ avoirBesoin1: CN -> VP = \doctor ->
PosVG ( PredTV (tvDir vAvoir) (DetNP nullDet (
- AppFun (funDe (mkCNomReg "besoin" Masc ** {lock_N =<>}))
- (IndefOneNP medicine)
+ 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
)
)
- ) **{lock_VP =<>} ;
+ )) ;
injuredBody: (Gender => Number => Str) -> NP -> CN -> S =
\injured, patient, head ->
@@ -29,6 +48,7 @@ oper
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 =<>} ;
diff --git a/grammars/health/ExtraRus.gf b/grammars/health/ExtraRus.gf
index 6adc0d40d..0158a1384 100644
--- a/grammars/health/ExtraRus.gf
+++ b/grammars/health/ExtraRus.gf
@@ -9,11 +9,11 @@ resource ExtraRus = open ResourceRus, Prelude, SyntaxRus in {
flags coding=utf8 ;
oper
- predNeedShortAdjective: Bool -> NP -> CN -> S = \b, Jag, Dig -> { s =
+ predNeedShortAdjective: Bool -> NP -> NP -> S = \b, Jag, Dig -> { s =
let {
mne = Jag.s ! (mkPronForm Dat No NonPoss) ;
- nuzhen = need.s ! AF Nom Inanimate (gNum Dig.g Sg) ;
- doctor = Dig.s ! Sg ! Nom ;
+ nuzhen = need.s ! AF Nom Inanimate (gNum (pgen2gen Dig.g) Dig.n) ;
+ doctor = Dig.s ! (mkPronForm Nom No NonPoss) ;
ne = negation b
} in
mne ++ ne ++ nuzhen ++ doctor ;
diff --git a/grammars/health/Health.gf b/grammars/health/Health.gf
index 22c8d2ec6..8d732c41e 100644
--- a/grammars/health/Health.gf
+++ b/grammars/health/Health.gf
@@ -26,7 +26,7 @@ fun
Influenza : Illness ;
Malaria : Illness ;
Diarrhea : Illness ;
- Allergy : Illness ;
+ SkinAllergy : Illness ;
Heartburn : Illness ;
Rheumatism : Illness ;
Cystitis : Illness ;
@@ -47,7 +47,6 @@ fun
Ophthalmologist : Specialization ;
Surgeon : Specialization ;
- PainKiller : Medicine ;
SleepingPeels : Medicine ;
Sedative : Medicine ;
Vitamins : Medicine ;
@@ -57,6 +56,7 @@ fun
Laxative : Medicine ;
Insulin : Medicine ;
Antidepressant : Medicine ;
+ PainKiller : Medicine ;
Head : BodyPart ;
Leg : BodyPart ;
@@ -72,7 +72,7 @@ fun
-- Tooth : BodyPart ;
Fever : Symptom ;
- Sickness: Symptom ;
+-- Sickness: Symptom ;
-- PainInMod : Patient -> BodyPart -> SymptomDegree -> Prop ;
-- SymptomMod : SymptomDegree -> Symptom -> Symtom;
-- High : SymptomDegree ;
diff --git a/grammars/health/HealthEng.gf b/grammars/health/HealthEng.gf
index ea33f11d6..dec34e3e5 100644
--- a/grammars/health/HealthEng.gf
+++ b/grammars/health/HealthEng.gf
@@ -1,6 +1,6 @@
-- use this path to read the grammar from the same directory
--# -path=.:../newresource/abstract:../prelude:../newresource/english
-concrete HealthEng of Health = open PredicationEng, ResourceEng, Prelude, SyntaxEng, ExtraEng in {
+concrete HealthEng of Health = open PredicationEng, ResourceEng, ResourceExtEng, Prelude, SyntaxEng, ExtraEng, ParadigmsEng in {
flags
startcat=Phr ; lexer=text ; parser=chart ; unlexer=text ;
@@ -16,7 +16,7 @@ lincat
Illness = CN ;
Condition = VP ;
Specialization = CN ;
- Medicine = CN ;
+ Medicine = NP ;
lin
ShePatient = SheNP ;
@@ -25,10 +25,40 @@ lin
And x y = ConjS AndConj (TwoS x y) ;
- Influenza = cnNoHum (nounReg "influenza")** {lock_CN = <>} ;
- Malaria = cnNoHum (nounReg "malaria") ** {lock_CN = <>};
- Dentist = cnHum (nounReg "dentist")** {lock_CN = <>} ;
- PainKiller = cnNoHum (nounReg "painkiller")** {lock_CN = <>} ;
+ Influenza = cnNonhuman "influenza" ;
+ Malaria = cnNonhuman "malaria" ;
+ Diarrhea = cnNonhuman "diarrhea" ;
+ SkinAllergy = AppFun (mkFun (nNonhuman "skin") []) (MassNP (cnNonhuman "allergy")) ;
+ Heartburn = cnNonhuman "heartburn" ;
+ Rheumatism = cnNonhuman "rheumatism" ;
+ Cystitis = cnNonhuman "cystitis" ;
+ Asthma = cnNonhuman "asthma" ;
+ Arthritis = cnNonhuman "arthritis" ;
+ Diabetes = cnNonhuman "diabetes" ;
+ Tonsillitis = cnNonhuman "tonsillitis" ;
+ Constipation = cnNonhuman "constipation" ;
+
+ Dentist = cnHuman "dentist" ;
+ Gynecologist = cnHuman "gynecologist" ;
+ Urologist = cnHuman "urologist" ;
+ Pediatrician = cnHuman "pediatrician" ;
+ Physician = cnHuman "physician" ;
+ Dermatologist = cnHuman "dermatologist" ;
+ Cardiologist = cnHuman "cardiologist" ;
+ Neuropathologist = cnHuman "neuropathologist" ;
+ Ophthalmologist = cnHuman "ophthalmologist" ;
+ Surgeon = cnHuman "surgeon" ;
+
+ SleepingPeels = IndefManyNP (ModAdj (apReg "sleeping") (cnNonhuman "peel"));
+ Vitamins = IndefManyNP (cnNonhuman "vitamin") ;
+ EyeDrops = IndefManyNP (cnNonhuman "eye-drop") ;
+ Antibiotics = IndefManyNP (cnNonhuman "antibiotic") ;
+ Sedative = IndefOneNP (cnNonhuman "sedative") ;
+ Viagra = MassNP (cnNonhuman "viagra") ;
+ Laxative = IndefOneNP (cnNonhuman "laxative") ;
+ Insulin = MassNP (cnNonhuman "insulin");
+ Antidepressant = IndefOneNP (cnNonhuman "antidepressant") ;
+ PainKiller = IndefOneNP (cnNonhuman "painkiller") ;
Leg = { s = \\_,n,_ => case n of {Sg =>"leg" ; Pl=> "legs" };
painInType = True } ;
@@ -44,7 +74,10 @@ lin
-- Pl => table {_ => "teeth" }};
-- False => table { _ => table {_=> "toothache"}}} ;
-- painInType = False } ;
- Throat = { s = \\_,n,_ => case n of {Sg =>"throat" ; Pl=> "throats" }; painInType = True } ;
+ Throat = { s = table{ True => table {Sg => table {_ => "throat" };
+ Pl => table {_ => "throats" }};
+ False => table { _ => table {_=> ["sore throat"]}}} ;
+ painInType = False } ;
Ear = { s = \\_,n,_ => case n of {Sg =>"ear" ; Pl=> "ears" }; painInType = True } ;
Chest = { s = \\_,n,_ => case n of {Sg =>"chest" ; Pl=> "chests" }; painInType = True } ;
Foot = { s = \\_,n,_ => case n of {Sg =>"foot" ; Pl=> "feet" }; painInType = True } ;
@@ -64,10 +97,8 @@ lin
NeedDoctor patient doctor = predV2 (mkTransVerbDir (regVerbP3 "need")**{lock_TV = <>})
patient (DetNP (aDet ** {lock_Det = <>}) doctor);
- NeedMedicine patient medicine = predV2 (mkTransVerbDir (regVerbP3 "need")**{lock_TV = <>})
- patient (DetNP (aDet ** {lock_Det = <>}) medicine);
- TakeMedicine patient medicine = predV2 (mkTransVerbDir (regVerbP3 "take")**{lock_TV = <>})
- patient (DetNP (aDet ** {lock_Det = <>}) medicine) ;
+ NeedMedicine = predV2 (mkTransVerbDir (regVerbP3 "need")**{lock_TV = <>}) ;
+ TakeMedicine = predV2 (mkTransVerbDir (regVerbP3 "take")**{lock_TV = <>}) ;
Injured = injuredBody (mkTransVerb verbP3Have "injured"**{lock_TV = <>}) ;
Broken = injuredBody (mkTransVerb verbP3Have "broken"**{lock_TV = <>}) ;
diff --git a/grammars/health/HealthFre.gf b/grammars/health/HealthFre.gf
index 77cfb6c5d..b89ba21fd 100644
--- a/grammars/health/HealthFre.gf
+++ b/grammars/health/HealthFre.gf
@@ -3,7 +3,7 @@
-- use this path to read the grammar from the same directory
--# -path=.:../newresource/abstract:../prelude:../newresource/french:../newresource/romance
-concrete HealthFre of Health = open PredicationFre, ResourceFre, Prelude, SyntaxFre, MorphoFre, ExtraFre, ParadigmsFre in {
+concrete HealthFre of Health = open PredicationFre, ParadigmsFre, ResourceFre, Prelude, SyntaxFre, MorphoFre, ExtraFre, ParadigmsFre, ResourceExtFre in {
-- 1. still using "à" instead of "aux" in PainIn operations
-- because of the UTF8 problem with non-utf8 resource grammars!
@@ -17,10 +17,10 @@ lincat
Symptom = NP ;
SymptomDegree = AP ;
Prop = S ;
- Illness = CN ;
+ Illness = NP ;
Condition = VP ;
Specialization = CN ;
- Medicine = CN ;
+ Medicine = NPMedicine ;
lin
And x y = ConjS AndConj (TwoS x y) ;
@@ -29,31 +29,66 @@ lin
TheyPatient = TheyNP ;
IPatientHe = INP ;
- Influenza = mkCNomReg "grippe" Fem ** {lock_CN = <> };
- Malaria = mkCNomReg "malaria" Fem ** {lock_CN = <> };
- HaveIllness patient illness = predV2 (tvDir vAvoir) patient (DefOneNP illness) ;
+ HaveIllness = predV2 (tvDir vAvoir) ;
Complain = predV2 (tvDir vAvoir) ;
BeInCondition = PredVP ;
CatchCold = PosVG (PredTV (tvDir vAvoir) (IndefOneNP (mkCNomReg "rhume" Masc ** {lock_CN = <> })));
Pregnant = PosVG (PredAP (mkAdjective (adjJeune "enceinte") adjPost** {lock_AP = <> })) ;
- Dentist = mkCNomReg "dentiste" Masc ** {lock_CN = <> } ;
- PainKiller = mkCNomReg "calmant" Masc ** {lock_CN = <> };
-
- NeedDoctor patient doctor = PredVP patient (avoirBesoin doctor ** {lock_VP = <> }) ;
- NeedMedicine patient medicine = PredVP patient (avoirBesoin medicine** {lock_VP = <> }) ;
- TakeMedicine patient medicine = predV2 (mkTransVerbDir (verbPres
- (conj3prendre "prendre")) ** {lock_TV = <> } ) patient (IndefOneNP medicine) ;
-
- Fever = DetNP (delDet ** {lock_Det = <> }) (mkCNomReg "fièvre" Fem ** {lock_CN = <> }) ;
+ Influenza = DefOneNP (mkCN (nReg "grippe" Fem));
+ Malaria = DefOneNP (mkCN (nReg "malaria" Fem));
+ Diarrhea = IndefOneNP (mkCN (nReg "diarrhée" Fem)) ;
+ Constipation = IndefOneNP (mkCN (nReg "constipation" Fem));
+ Rheumatism = DetNP desDet (mkCN (nReg "rhumatisme" Masc)) ;
+ Arthritis = DetNP delDet (mkCN (nReg "arthrite" Fem)) ;
+ SkinAllergy =IndefOneNP ( ModAdj
+ (AdjP1 (adj1Reg "épidermique" postpos))
+ (mkCN (nReg "allergie" Fem))
+ );
+ Heartburn = DetNP desDet (AppFun (funCase (nReg "brûlure" Fem) Gen)
+ (DetNP nullDet (mkCN (nReg "estomac" Masc)))) ;
+ Tonsillitis = IndefOneNP (mkCN (nReg "angine" Fem)) ;
+ Asthma = DetNP delDet (mkCN (nReg "asthme" Masc)) ;
+ Cystitis =IndefOneNP ( mkCN (nReg "cystite" Fem)) ;
+ Diabetes = DefOneNP (mkCN (nReg "diabète" Masc)) ;
+
+ Dentist = mkCN (nReg "dentiste" Masc) ;
+ Gynecologist = mkCN (nReg "gynécologue" Masc) ;
+ Urologist = mkCN (nReg "urologue" Masc) ;
+ Pediatrician = mkCN (nReg "pédiatre" Masc) ;
+ Physician = mkCN (nReg "thérapeute" Masc) ;
+ Dermatologist = mkCN (nReg "dermatologue" Masc) ;
+ Cardiologist = mkCN (nReg "cardiologue" Masc) ;
+ Neuropathologist = mkCN (nReg "neurologue" Masc) ;
+ Ophthalmologist = mkCN (nReg "ophthalmologue" Masc) ;
+ Surgeon = mkCN (nReg "chirurgien" Masc ) ;
+
+ SleepingPeels = DetNP desDet (mkCN (nReg "somnifêre" Masc ))**{des = True};
+ Vitamins = DetNP desDet (mkCN (nReg "vitamine" Fem))**{des = True} ;
+ EyeDrops = DetNP desDet (AppFun (funPrep (nReg "goutte" Fem) "pour")
+ (DefManyNP (mkCN (mkN "oeil" "yeux" Masc))))**{des = True} ;
+ Antibiotics = DetNP desDet (mkCN (nReg "antibiotique" Masc))**{des = True} ;
+ Insulin = DetNP delDet (mkCN (nReg "insuline" Fem))**{des = True};
+
+ Viagra = DetNP nullDet (mkCN(nReg "viagra" Fem))**{des = False} ;
+ Laxative = IndefOneNP (mkCN (nReg "laxatif" Masc)) **{des = False};
+ Sedative = IndefOneNP (mkCN (nReg "sédatif" Masc)) **{des = False};
+ Antidepressant = IndefOneNP (mkCN (nReg "antidépressif" Masc)) **{des = False};
+ PainKiller = IndefOneNP (mkCN (nReg "calmant" Masc)) **{des = False};
+
+ NeedDoctor patient doctor = PredVP patient (avoirBesoin1 doctor ** {lock_VP = <> }) ;
+ NeedMedicine patient medicine = PredVP patient (avoirBesoin medicine ** {lock_VP = <> }) ;
+ TakeMedicine = predV2 (mkTransVerbDir (verbPres (conj3prendre "prendre")) ** {lock_TV = <> } ) ;
+
+ Fever = DetNP delDet (mkCN (nReg "fièvre" Fem)) ;
PainIn patient head = predV2 (tvDir vAvoir) patient
- (DetNP (nullDet ** {lock_Det = <> })
+ (DetNP nullDet
(
AppFun
- ((mkCNomReg "mal" Masc ** {lock_CN = <> })** complementCas Dat ** {lock_Fun = <> })
- (defNounPhrase patient.n head ** {lock_NP = <> })
+ ((mkCN (nReg "mal" Masc))** complementCas Dat ** {lock_Fun = <> })
+ (defNounPhrase patient.n head ** {lock_NP = <>})
)
) ;
diff --git a/grammars/health/HealthRus.gf b/grammars/health/HealthRus.gf
index ddbaf9473..96e7040ef 100644
--- a/grammars/health/HealthRus.gf
+++ b/grammars/health/HealthRus.gf
@@ -1,7 +1,7 @@
-- 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 {
+concrete HealthRus of Health = open PredicationRus, ResourceRus, Prelude, SyntaxRus, ExtraRus, ResourceExtRus, ParadigmsRus in {
flags
coding=utf8 ;
@@ -15,8 +15,8 @@ lincat
Prop = S ;
Illness = CN ;
Condition = VP ;
- Specialization = CN ;
- Medicine = CN ;
+ Specialization = NP ;
+ Medicine = NP ;
lin
And x y = ConjS AndConj (TwoS x y) ;
@@ -25,20 +25,48 @@ lin
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 = <>} ;
+ Influenza = UseN ( gripp**{lock_N = <>}) ;
+ Malaria = UseN ( malaria**{lock_N = <>}) ;
+ Diarrhea = UseN ( ponos **{lock_N = <>});
+ SkinAllergy = ModAdj (AdjP1(adj1Staruyj "кожн")) (UseN ( allergiya **{lock_N = <>}));
+ Heartburn = UseN ( izzhoga **{lock_N = <>});
+ Rheumatism = UseN ( revmatizm **{lock_N = <>});
+ Cystitis = UseN ( tsistit **{lock_N = <>});
+ Asthma = UseN ( astma **{lock_N = <>});
+ Arthritis = UseN ( artrit **{lock_N = <>});
+ Diabetes = UseN ( diabet **{lock_N = <>});
+ Tonsillitis = UseN ( angina **{lock_N = <>});
+ Constipation = UseN ( zapor **{lock_N = <>});
+
+ Dentist = IndefOneNP ( UseN ( stomatolog**{lock_N = <>})) ;
+ Gynecologist = IndefOneNP (UseN ( ginekolog**{lock_N = <>})) ;
+ Urologist = IndefOneNP (UseN ( urolog**{lock_N = <>})) ;
+ Pediatrician = IndefOneNP (UseN ( pediatr**{lock_N = <>})) ;
+ Physician = IndefOneNP (UseN ( terapevt**{lock_N = <>})) ;
+ Dermatologist = IndefOneNP (UseN ( dermatolog**{lock_N = <>})) ;
+ Cardiologist = IndefOneNP (UseN ( kardiolog**{lock_N = <>})) ;
+ Neuropathologist = IndefOneNP (UseN ( nevropatolog**{lock_N = <>})) ;
+ Ophthalmologist = IndefOneNP (UseN ( okulist**{lock_N = <>})) ;
+ Surgeon = IndefOneNP (UseN ( khirurg**{lock_N = <>})) ;
- Dentist = n2n stomatolog ** {lock_CN = <>};
- PainKiller = n2n obezbolivauchee ** {lock_CN = <>};
+ SleepingPeels = IndefOneNP (UseN ( snotvornoe**{lock_N = <>}));
+ Sedative = IndefOneNP (UseN ( uspokoitelnoe**{lock_N = <>}));
+ Vitamins = IndefManyNP (UseN ( vitamin**{lock_N = <>}));
+ EyeDrops = IndefManyNP (ModAdj (AdjP1 (glaznoj**{lock_Adj1 = <>})) (UseN ( kaplya**{lock_N = <>})));
+ Antibiotics = IndefManyNP (UseN ( antibiotik**{lock_N = <>}));
+ Viagra = IndefOneNP (UseN ( viagra**{lock_N = <>}));
+ Laxative = IndefOneNP (UseN ( slabitelnoe**{lock_N = <>}));
+ Insulin = MassNP (UseN (insulin**{lock_N = <>}));
+ Antidepressant = IndefOneNP (UseN ( antidepressant**{lock_N = <>}));
+ PainKiller = IndefOneNP (UseN ( obezbolivauchee**{lock_N = <>}));
- Fever = mkNounPhrase Sg (n2n temperatura)** {lock_NP = <>};
+ Fever = mkNounPhrase Sg (UseN ( temperatura**{lock_N = <>}))** {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 = <>}) ;
+
+ TakeMedicine = predV2 (mkDirectVerb
+ (extVerb verbPrinimat Act Present)**{lock_TV = <>}) ;
Injured patient painkiller = predV2 (mkDirectVerb
(extVerb verbPoranit Act Past)**{lock_TV = <>}) patient (mkNounPhrase patient.n painkiller ** {lock_NP = <>}) ;
Broken patient painkiller = predV2 (mkDirectVerb
@@ -54,22 +82,22 @@ lin
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 = <>};
+ Head = UseN ( golova**{lock_N = <>});
+ Leg = UseN ( noga**{lock_N = <>});
+ Stomac = UseN ( zhivot**{lock_N = <>});
+ Throat = UseN ( gorlo**{lock_N = <>});
+ Ear = UseN ( ukho**{lock_N = <>});
+ Chest = UseN ( grud**{lock_N = <>});
+ Foot = UseN ( stopa**{lock_N = <>});
+ Arm = UseN ( ruka**{lock_N = <>});
+ Back = UseN ( spina**{lock_N = <>});
+ Shoulder = UseN ( plecho**{lock_N = <>});
+-- Knee = UseN ( koleno**{lock_N = <>});
-- High = AdjP1 (extAdjective vusokij ** {lock_Adj1 = <>});
-- Terrible = AdjP1 (extAdjective uzhasnuj ** {lock_Adj1 = <>});
-- FeverMod degree = mkNounPhrase Sg
--- (ModAdj degree (n2n temperatura** {lock_CN = <>})) ** {lock_NP = <>};
+-- (ModAdj degree (UseN ( temperatura**{lock_N = <>}))) ** {lock_NP = <>};
-- PainInMod patient head degree = U_predTransVerb True (mkDirectVerb
-- (extVerb have Act Present) ** {lock_TV =<>}) patient
-- (mkNounPhrase Sg (ModAdj degree
diff --git a/grammars/health/HealthSwe.gf b/grammars/health/HealthSwe.gf
index 32d41ab2a..b385ea94a 100644
--- a/grammars/health/HealthSwe.gf
+++ b/grammars/health/HealthSwe.gf
@@ -8,7 +8,7 @@
-- use this path to read the grammar from the same directory
--# -path=.:../newresource/abstract:../prelude:../newresource/swedish
-concrete HealthSwe of Health = open PredicationSwe, ResourceSwe, Prelude, SyntaxSwe, ExtraSwe, ParadigmsSwe in {
+concrete HealthSwe of Health = open PredicationSwe, ResourceSwe, Prelude, SyntaxSwe, ExtraSwe, ParadigmsSwe, ResourceExtSwe in {
flags
startcat=Phr ; lexer=text ; parser=chart ; unlexer=text ;
@@ -22,7 +22,7 @@ lincat
Illness = CN ;
Condition = VP ;
Specialization = CN ;
- Medicine = CN ;
+ Medicine = NP ;
lin
And x y = ConjS AndConj (TwoS x y) ;
@@ -31,11 +31,40 @@ lin
TheyPatient = mkPronPatient de_38 ;
IPatientHe = mkPronPatient jag_32 ;
- Influenza = n2n (extCommNoun NoMasc (sApa "influens")) ** {lock_CN = <>} ;
- Malaria = n2n (extCommNoun NoMasc (sApa "malari")) ** {lock_CN = <>} ;
-
- Dentist = n2n (extCommNoun Masc (sKikare "tandläkar")) ** {lock_CN = <>} ;
- PainKiller = n2n (extCommNoun NoMasc (sBil "smärtstillande")) ** {lock_CN = <>} ;
+ Influenza = UseN (nApa "influens") ;
+ Malaria = UseN (nApa "malari");
+ Diarrhea = UseN (nApa "diarré");
+ SkinAllergy = UseN (nApa "hudallergi");
+ Heartburn = UseN (nApa "halsbränna");
+ Rheumatism = UseN (nBil "reumatism");
+ Cystitis = UseN (nRisk "urinvägsinfektion");
+ Asthma = UseN (nApa "astma");
+ Arthritis = UseN (nApa "artrit");
+ Diabetes = UseN (nBil "diabetes");
+ Tonsillitis = UseN (nBil "halsfluss");
+ Constipation = UseN (nBil "förstoppning");
+
+ Dentist = UseN (nKikare "tandläkare") ;
+ Gynecologist = UseN (nRisk "gynekolog");
+ Urologist= UseN (nRisk "urolog");
+ Pediatrician = UseN (nKikare "barnläkare");
+ Physician = UseN (nKikare "läkare");
+ Dermatologist = UseN (nKikare "hudläkare");
+ Cardiologist = UseN (nRisk "kardiolog");
+ Neuropathologist = UseN (nRisk "neurolog");
+ Ophthalmologist = UseN (nKikare "ögönläkare");
+ Surgeon = UseN (nRisk "kirurg");
+
+ SleepingPeels = IndefManyNP (UseN (nRisk "sömntablett")) ;
+ Sedative = IndefOneNP (UseN (nPapper "lugnande")) ;
+ Vitamins = IndefManyNP (UseN (nPapper "vitaminpiller")) ;
+ EyeDrops = IndefManyNP (UseN (nPojke "ögondroppe")) ;
+ Antibiotics = IndefManyNP (UseN (nPapper "antibiotika")) ;
+ Viagra = MassNP (UseN (nBil "viagra")) ;
+ Laxative = IndefOneNP (UseN (nPapper "laxer")) ;
+ Insulin = MassNP (UseN (nRep "insulin")) ;
+ Antidepressant = IndefOneNP ( ModAdj (AdjP1 (adjReg "antidepressiv")) (UseN (nRep "läkemedel"))) ;
+ PainKiller = IndefOneNP (UseN (nBil "smärtstillande")) ;
CatchCold = PosVG ( PredAP( AdjP1 (extAdjective (aGrund("förkyl")) ** {lock_Adj1 = <>}) ));
Pregnant = PosVG ( PredAP( AdjP1 (extAdjective (aGrund("gravi") )** {lock_Adj1 = <>}) ));
@@ -43,13 +72,13 @@ lin
BeInCondition = PredVP ;
HaveIllness patient illness = predV2 (mkDirectVerb verbHa** {lock_TV =<>}) patient
(DetNP (nullDet ** {lock_Det = <>}) illness) ;
- NeedMedicine patient illness = predV2 (mkDirectVerb verbBehova** {lock_TV =<>}) patient
- (DetNP (nullDet ** {lock_Det = <>}) illness) ;
- TakeMedicine patient illness = predV2 (mkDirectVerb verbTa** {lock_TV =<>}) patient
- (DetNP (nullDet ** {lock_Det = <>}) illness) ;
+
+ NeedMedicine = predV2 (mkDirectVerb verbBehova** {lock_TV =<>}) ;
+ TakeMedicine = predV2 (mkDirectVerb verbTa** {lock_TV =<>}) ;
+
NeedDoctor patient illness = predV2 (mkDirectVerb verbBehova** {lock_TV =<>}) patient
(DetNP (enDet ** {lock_Det = <>}) illness) ;
- Fever = DetNP (nullDet ** {lock_Det = <>}) (n2n (extCommNoun NoMasc (sFeber "feb")) ** {lock_CN = <>}) ;
+ Fever = DetNP (nullDet ** {lock_Det = <>}) (UseN (nRisk "feber")) ;
Complain = predV2 (mkDirectVerb verbHa ** {lock_TV =<>}) ;
Broken patient head = predV2 (mkTransVerb verbHa "brutit" ** {lock_TV =<>} ) patient
@@ -59,25 +88,25 @@ lin
(
DetNP (nullDet ** {lock_Det = <>})
( AppFun
- ((mkFun (extCommNoun NoMasc (sBil "ont")**{lock_N =<>}) "i") ** {lock_Fun = <>})
+ ((mkFun (nBil "ont") "i") ** {lock_Fun = <>})
((defNounPhrase patient.n head)** {lock_NP = <>})
)
) ;
- Head = n2n (extCommNoun NoMasc(sHus "huvud")) ** {lock_CN = <>} ;
- Leg = n2n (extCommNoun NoMasc (sHus "ben")) ** {lock_CN = <>} ;
- Stomac = n2n (nPojke "mage") ** {lock_CN = <>} ;
- Throat = n2n (nBil "hals") ** {lock_CN = <>} ;
- Ear = n2n (mkN "öra" "örat" "öron" "öronen" Neutr NoMasc) ** {lock_CN = <>} ;
- Chest = n2n (extCommNoun NoMasc (sHus "bröst")) ** {lock_CN = <>} ;
- Foot = n2n (mkN "fot" "foten" "fötter" "fötterna" Utr NoMasc) ** {lock_CN = <>} ;
- Arm = n2n (mkN "hand" "handen" "händer" "händerna" Utr NoMasc) ** {lock_CN = <>} ;
- Back = n2n (nBil "rygg") ** {lock_CN = <>} ;
- Shoulder = n2n (nNyckel "axel") ** {lock_CN = <>} ;
-
--- High = AdjP1 (extAdjective (aFin "hög")** {lock_Adj1 = <>}) ;
--- Terrible = AdjP1 (extAdjective (aFin "hemsk")** {lock_Adj1 = <>}) ;
--- FeverMod degree = DetNP (nullDet ** {lock_Det = <>}) (ModAdj degree (n2n (extCommNoun NoMasc (sFeber "feb")) ** {lock_CN = <>})) ;
+ Head = UseN (nRep "huvud") ;
+ Leg = UseN (nRep "ben") ;
+ Stomac = UseN (nPojke "mage") ;
+ Throat = UseN (nBil "hals") ;
+ Ear = UseN (mkN "öra" "örat" "öron" "öronen" Neutr NoMasc) ;
+ Chest = UseN (nRep "bröst") ;
+ Foot = UseN (mkN "fot" "foten" "fötter" "fötterna" Utr NoMasc) ;
+ Arm = UseN (mkN "hand" "handen" "händer" "händerna" Utr NoMasc) ;
+ Back = UseN (nBil "rygg") ;
+ Shoulder = UseN (nNyckel "axel") ;
+
+-- High = AdjP1 (adjReg "hög") ;
+-- Terrible = AdjP1 (adjReg "hemsk") ;
+-- FeverMod degree = DetNP (nullDet ** {lock_Det = <>}) (ModAdj degree (UseN (nKikare "feb") ) ;
-- PainInMod patient head degree = predV2 (mkDirectVerb verbHa** {lock_TV =<>}) patient
-- (
-- DetNP (nullDet ** {lock_Det = <>})