From 025274db074870ae5b1ef4551377276545520a6d Mon Sep 17 00:00:00 2001 From: janna Date: Fri, 30 Jan 2004 16:01:15 +0000 Subject: [PATCH] *** empty log message *** --- grammars/health/ExtraFre.gf | 28 +++++++++++-- grammars/health/ExtraRus.gf | 6 +-- grammars/health/Health.gf | 6 +-- grammars/health/HealthEng.gf | 53 +++++++++++++++++++----- grammars/health/HealthFre.gf | 67 ++++++++++++++++++++++-------- grammars/health/HealthRus.gf | 76 +++++++++++++++++++++++----------- grammars/health/HealthSwe.gf | 79 ++++++++++++++++++++++++------------ 7 files changed, 229 insertions(+), 86 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) ) ) - ) **{lock_VP =<>} ; + ) ; + + 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 -> @@ -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 = <> }; + 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)) ; - 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) ; + 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 ) ; - Fever = DetNP (delDet ** {lock_Det = <> }) (mkCNomReg "fièvre" Fem ** {lock_CN = <> }) ; + 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 = <>} ; + 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"); - Dentist = n2n (extCommNoun Masc (sKikare "tandläkar")) ** {lock_CN = <>} ; - PainKiller = n2n (extCommNoun NoMasc (sBil "smärtstillande")) ** {lock_CN = <>} ; + 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 = <>} ; + 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 (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 = <>})) ; +-- 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 = <>})