mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
*** empty log message ***
This commit is contained in:
@@ -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 =<>} ;
|
||||
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 = <>}) ;
|
||||
|
||||
@@ -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 = <>})
|
||||
)
|
||||
) ;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = <>})
|
||||
|
||||
@@ -163,6 +163,7 @@ oper
|
||||
|
||||
nEau = \eau -> mkN eau (eau + "z") ;
|
||||
nCas = \cas -> mkN cas cas ;
|
||||
nReg = \cas -> mkN cas (cas + "s") ;
|
||||
nCheval = \cheval -> mkN cheval (Predef.tk 1 cheval + "ux") masculine ;
|
||||
|
||||
funPrep = \n,p -> n ** complement p ** {lock_Fun = <>} ;
|
||||
|
||||
@@ -332,17 +332,46 @@ oper pronVseInanimate: Pronoun =
|
||||
-- without any reference to the Gender parameter "g".
|
||||
|
||||
oper SubstFormDecl = SS1 SubstForm ;
|
||||
|
||||
|
||||
oper gorlo : CommNoun = l_oEndInAnimateDecl "горл" ;
|
||||
oper koleno : CommNoun = oEndInAnimateDecl "колен" ;
|
||||
oper plecho : CommNoun = oEndInAnimateDecl "плеч" ;
|
||||
oper plecho : CommNoun = oEndInAnimateDecl "плеч" ;
|
||||
oper ukho : CommNoun = oEnd_KH_InAnimateDecl "у" ;
|
||||
oper zhivot : CommNoun = nullEndInAnimateDecl1 "живот" ;
|
||||
oper grud : CommNoun = softSignEndDeclFem "груд" ;
|
||||
oper spina : CommNoun = aEndG_K_KH_Decl "спин" ;
|
||||
oper grud : CommNoun = softSignEndDeclFem "груд" ;
|
||||
oper ruka : CommNoun = aEndG_K_KH_Decl "рук" ;
|
||||
oper spina : CommNoun = aEndInAnimateDecl "спин" ;
|
||||
oper stopa : CommNoun = aEndInAnimateDecl "стоп" ;
|
||||
|
||||
oper astma : CommNoun = aEndInAnimateDecl "астм" ;
|
||||
oper angina : CommNoun = aEndInAnimateDecl "ангин" ;
|
||||
oper revmatizm : CommNoun = nullEndInAnimateDecl1 "ревматизм" ;
|
||||
oper zapor : CommNoun = nullEndInAnimateDecl1 "запор" ;
|
||||
oper ponos : CommNoun = nullEndInAnimateDecl1 "понос" ;
|
||||
oper artrit : CommNoun = nullEndInAnimateDecl1 "артрит" ;
|
||||
oper diabet : CommNoun = nullEndInAnimateDecl1 "диабет" ;
|
||||
oper tsistit : CommNoun = nullEndInAnimateDecl1 "цистит" ;
|
||||
oper izzhoga : CommNoun = aEndG_K_KH_Decl "изжог" ;
|
||||
oper allergiya : CommNoun = i_yaEndDecl "аллерги" ;
|
||||
|
||||
oper viagra : CommNoun = aEndInAnimateDecl "виагр" ;
|
||||
oper antidepressant : CommNoun = nullEndInAnimateDecl1 "антидепрессант" ;
|
||||
oper insulin : CommNoun = nullEndInAnimateDecl1 "инсулин" ;
|
||||
oper vitamin : CommNoun = nullEndInAnimateDecl1 "витамин" ;
|
||||
oper antibiotik : CommNoun = nullEndInAnimateDecl3 "антибиотик" ;
|
||||
oper kaplya : CommNoun = (l_yaEndInAnimateDecl "кап") ** {g = Fem; anim = Inanimate} ;
|
||||
oper snotvornoe : CommNoun = oeEndInAnimateDecl "снотворн" ;
|
||||
oper uspokoitelnoe : CommNoun = oeEndInAnimateDecl "успокоительн" ;
|
||||
oper slabitelnoe : CommNoun = oeEndInAnimateDecl "слабительн" ;
|
||||
|
||||
oper urolog : CommNoun = nullEndAnimateDecl "уролог" ;
|
||||
oper ginekolog : CommNoun = nullEndAnimateDecl "гинеколог" ;
|
||||
oper nevropatolog : CommNoun = nullEndAnimateDecl "невропатолог" ;
|
||||
oper dermatolog : CommNoun = nullEndAnimateDecl "дерматолог" ;
|
||||
oper kardiolog : CommNoun = nullEndAnimateDecl "кардиолог" ;
|
||||
oper terapevt : CommNoun = nullEndAnimateDecl2 "терапевт" ;
|
||||
oper okulist : CommNoun = nullEndAnimateDecl2 "окулист" ;
|
||||
oper pediatr : CommNoun = nullEndAnimateDecl2 "педиатр" ;
|
||||
oper khirurg : CommNoun = nullEndAnimateDecl2 "хирург" ;
|
||||
|
||||
oper muzhchina : CommNoun = (aEndAnimateDecl "мужчин") ** { g = Masc ; anim = Animate } ;
|
||||
@@ -382,6 +411,22 @@ oper nullEndAnimateDecl: Str -> CommNoun = \stomatolog ->
|
||||
|
||||
SF Pl Acc => stomatolog+"ов" ;
|
||||
SF Pl Inst => stomatolog+"ами" ;
|
||||
SF Pl Prepos => stomatolog+"ах" } ;
|
||||
g = Masc ; anim = Animate
|
||||
} ;
|
||||
oper nullEndAnimateDecl2: Str -> CommNoun = \stomatolog ->
|
||||
{s = table
|
||||
{ SF Sg Nom => stomatolog ;
|
||||
SF Sg Gen => stomatolog+"а" ;
|
||||
SF Sg Dat => stomatolog+"у" ;
|
||||
SF Sg Acc => stomatolog +"а" ;
|
||||
SF Sg Inst => stomatolog+"ом" ;
|
||||
SF Sg Prepos => stomatolog+"е" ;
|
||||
SF Pl Nom => stomatolog+"ы" ;
|
||||
SF Pl Gen => stomatolog+"ов" ;
|
||||
SF Pl Dat => stomatolog+"ам" ;
|
||||
|
||||
SF Pl Acc => stomatolog+"ов" ;
|
||||
SF Pl Inst => stomatolog+"ами" ;
|
||||
SF Pl Prepos => stomatolog+"ах" } ;
|
||||
g = Masc ; anim = Animate
|
||||
@@ -422,7 +467,8 @@ oper nullEndInAnimateDecl2: Str -> CommNoun = \gripp ->
|
||||
{s = table
|
||||
{ SF Sg Nom => gripp ;
|
||||
|
||||
SF Sg Dat => gripp+"у" ;
|
||||
SF Sg Gen => gripp+"а" ;
|
||||
SF Sg Dat => gripp+"у" ;
|
||||
SF Sg Acc => gripp ;
|
||||
SF Sg Inst => gripp+"ом" ;
|
||||
SF Sg Prepos => gripp+"е" ;
|
||||
@@ -430,6 +476,24 @@ oper nullEndInAnimateDecl2: Str -> CommNoun = \gripp ->
|
||||
SF Pl Gen => gripp+"ов" ;
|
||||
|
||||
|
||||
SF Pl Dat => gripp+"ам" ;
|
||||
SF Pl Acc => gripp +"а";
|
||||
SF Pl Inst => gripp+"ами" ;
|
||||
SF Pl Prepos => gripp+"ах"
|
||||
|
||||
} ;
|
||||
g = Masc ; anim = Inanimate
|
||||
} ;
|
||||
oper nullEndInAnimateDecl3: Str -> CommNoun = \antibiotik ->
|
||||
{s = table
|
||||
{ SF Sg Nom => antibiotik ;
|
||||
|
||||
SF Sg Gen => antibiotik+"а" ;
|
||||
SF Sg Dat => antibiotik+"у" ;
|
||||
SF Sg Acc => antibiotik ;
|
||||
SF Sg Inst => antibiotik+"ом" ;
|
||||
SF Sg Prepos => antibiotik+"е" ;
|
||||
SF Pl Nom => antibiotik+"и" ;
|
||||
SF Pl Gen => antibiotik+"ов" ;
|
||||
|
||||
|
||||
@@ -450,6 +514,24 @@ oper eeEndInAnimateDecl: Str -> CommNoun = \obezbolivauch ->
|
||||
SF Sg Dat => obezbolivauch+"ему" ;
|
||||
SF Sg Acc => obezbolivauch +"ее";
|
||||
SF Sg Inst => obezbolivauch+"им" ;
|
||||
SF Sg Prepos => obezbolivauch+"ем" ;
|
||||
SF Pl Nom => obezbolivauch+"ие" ;
|
||||
SF Pl Gen => obezbolivauch+"их" ;
|
||||
SF Pl Dat => obezbolivauch+"им" ;
|
||||
SF Pl Acc => obezbolivauch+"ие" ;
|
||||
SF Pl Inst => obezbolivauch+"ими" ;
|
||||
SF Pl Prepos => obezbolivauch+"их"
|
||||
} ;
|
||||
g = Neut ; anim = Inanimate
|
||||
} ;
|
||||
|
||||
oper oeEndInAnimateDecl: Str -> CommNoun = \snotvorn ->
|
||||
{ s = table
|
||||
{ SF Sg Nom => snotvorn +"ое";
|
||||
SF Sg Gen => snotvorn+"ого" ;
|
||||
SF Sg Dat => snotvorn+"ому" ;
|
||||
SF Sg Acc => snotvorn +"ое";
|
||||
SF Sg Inst => snotvorn+"ым" ;
|
||||
SF Sg Prepos => snotvorn+"ом" ;
|
||||
SF Pl Nom => snotvorn+"ые" ;
|
||||
SF Pl Gen => snotvorn+"ых" ;
|
||||
@@ -468,9 +550,9 @@ oper eEndInAnimateDecl: Str -> CommNoun = \proizvedeni ->
|
||||
SF Sg Gen => proizvedeni+"я" ;
|
||||
SF Sg Dat => proizvedeni+"ю" ;
|
||||
SF Sg Acc => proizvedeni +"е";
|
||||
SF Pl Acc => proizvedeni+"я" ;
|
||||
SF Pl Inst => proizvedeni+"ями" ;
|
||||
SF Pl Prepos => proizvedeni+"ях"
|
||||
SF Sg Inst => proizvedeni+"ем" ;
|
||||
SF Sg Prepos => proizvedeni+"и" ;
|
||||
SF Pl Nom => proizvedeni+"я" ;
|
||||
SF Pl Gen => proizvedeni+"й" ;
|
||||
SF Pl Dat => proizvedeni+"ям" ;
|
||||
SF Pl Acc => proizvedeni+"я" ;
|
||||
@@ -491,6 +573,42 @@ oper oEndInAnimateDecl3: Str -> Str -> CommNoun = \chisl, chisel ->
|
||||
SF Sg Dat => chisl+"у" ;
|
||||
SF Sg Acc => chisl +"о";
|
||||
SF Sg Inst => chisl+"ом" ;
|
||||
SF Sg Prepos => chisl+"е" ;
|
||||
SF Pl Nom => chisl+"а" ;
|
||||
SF Pl Gen => chisel;
|
||||
SF Pl Dat => chisl+"ам" ;
|
||||
SF Pl Acc => chisl+"а" ;
|
||||
SF Pl Inst => chisl+"ами" ;
|
||||
SF Pl Prepos => chisl+"ах"
|
||||
} ;
|
||||
g = Neut ; anim = Inanimate
|
||||
} ;
|
||||
|
||||
oper oEndInAnimateDecl: Str -> CommNoun = \plech ->
|
||||
{ s = table
|
||||
{ SF Sg Nom => plech+"о" ;
|
||||
SF Sg Gen => plech+"а" ;
|
||||
SF Sg Dat => plech+"у" ;
|
||||
SF Sg Acc => plech+"о" ;
|
||||
SF Sg Inst => plech+"ом" ;
|
||||
|
||||
|
||||
SF Sg Prepos => plech+"е" ;
|
||||
SF Pl Nom => plech+"и" ;
|
||||
SF Pl Gen => plech;
|
||||
SF Pl Dat => plech+"ам" ;
|
||||
SF Pl Acc => plech+"и" ;
|
||||
SF Pl Inst => plech+"ами" ;
|
||||
SF Pl Prepos => plech+"ях"
|
||||
|
||||
} ;
|
||||
g = Neut ; anim = Inanimate
|
||||
} ;
|
||||
oper oEnd_KH_InAnimateDecl: Str -> CommNoun = \u ->
|
||||
{ s = table
|
||||
{ SF Sg Nom => u+"хо" ;
|
||||
SF Sg Gen => u+"ха" ;
|
||||
SF Sg Dat => u+"ху" ;
|
||||
SF Sg Acc => u+"хо" ;
|
||||
SF Sg Inst => u+"хом" ;
|
||||
|
||||
@@ -580,7 +698,7 @@ oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
|
||||
SF Sg Inst => rem+"нем" ;
|
||||
|
||||
SF Sg Prepos => rem+"не" ;
|
||||
oper doroga : CommNoun = aEndG_K_KH_Decl "дорог" ;
|
||||
SF Pl Nom => rem+"ни" ;
|
||||
SF Pl Gen => rem+"ней" ;
|
||||
SF Pl Dat => rem+"ням" ;
|
||||
SF Pl Acc => rem+"ни" ;
|
||||
@@ -589,12 +707,12 @@ oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
|
||||
} ;
|
||||
g = Masc ; anim = Inanimate
|
||||
} ;
|
||||
SF Sg Inst => nog+"ой" ;
|
||||
SF Sg Prepos => nog+"е" ;
|
||||
SF Pl Nom => nog+"и" ;
|
||||
SF Pl Gen => nog ;
|
||||
|
||||
oper noga : CommNoun = aEndG_K_KH_Decl "ног" ;
|
||||
oper doroga : CommNoun = aEndG_K_KH_Decl "дорог" ;
|
||||
oper dvojka : CommNoun = aEndG_K_KH_Decl "двойк" ;
|
||||
oper butyulka : CommNoun = aEndG_K_KH_Decl "бутылк" ;
|
||||
SF Pl Acc => nog+ "и" ;
|
||||
oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
|
||||
{ s = table {
|
||||
SF Sg Nom => nog+"а" ;
|
||||
SF Sg Gen => nog+"и" ;
|
||||
@@ -611,7 +729,7 @@ oper aEndInanimateDecl: Str -> CommNoun = \golov ->
|
||||
|
||||
SF Pl Prepos => nog+"ах"
|
||||
} ;
|
||||
SF Sg Dat => golov+"е" ;
|
||||
g = Fem ; anim = Inanimate
|
||||
} ;
|
||||
|
||||
oper golova : CommNoun = aEndInAnimateDecl "голов" ;
|
||||
@@ -647,6 +765,22 @@ oper yaEndAnimateDecl: Str -> SubstFormDecl = \nyan ->
|
||||
|
||||
SF Sg Prepos => ediniz+"е" ;
|
||||
SF Pl Nom => ediniz+"ы" ;
|
||||
SF Pl Gen => ediniz ;
|
||||
SF Pl Dat => ediniz+"ам" ;
|
||||
SF Pl Acc => ediniz+ "ы" ;
|
||||
SF Pl Inst => ediniz+"ами" ;
|
||||
SF Pl Prepos => ediniz+"ах"
|
||||
} ;
|
||||
g = Fem ; anim = Inanimate
|
||||
} ;
|
||||
|
||||
|
||||
oper dyadya : CommNoun = (yaEndAnimateDecl "дяд") ** {g = Masc; anim = Animate} ;
|
||||
oper yaEndAnimateDecl: Str -> SubstFormDecl = \nyan ->
|
||||
{s = table {
|
||||
SF Sg Nom => nyan + "я" ;
|
||||
|
||||
SF Sg Gen => nyan + "и" ;
|
||||
SF Sg Dat => nyan + "е" ;
|
||||
SF Sg Acc => nyan + "ю" ;
|
||||
SF Sg Inst => nyan + "ей" ;
|
||||
@@ -670,7 +804,7 @@ oper goEnd_SgDecl: Str -> CommNoun = \mno ->
|
||||
SF Sg Acc => kap + "лю" ;
|
||||
SF Sg Inst => kap + "лей" ;
|
||||
SF Sg Prepos => kap + "ле" ;
|
||||
SF Sg Dat => bolshinstv+"у" ;
|
||||
SF Pl Nom => kap + "ли" ;
|
||||
SF Pl Gen => kap + "ель" ;
|
||||
SF Pl Inst => kap + "лями" ;
|
||||
SF Pl Prepos => kap + "лях" ;
|
||||
@@ -726,7 +860,7 @@ oper eEnd_Decl: Str -> CommNoun = \vs ->
|
||||
oper oEnd_SgDecl: Str -> CommNoun = \bolshinstv ->
|
||||
{ s = table {
|
||||
SF _ Nom => bolshinstv+"о" ;
|
||||
SF Sg Nom => vs+"е" ;
|
||||
SF _ Gen => bolshinstv+"а" ;
|
||||
SF _ Dat => bolshinstv+"у" ;
|
||||
SF _ Acc => bolshinstv+"о" ;
|
||||
SF _ Inst => bolshinstv+"ом" ;
|
||||
@@ -737,6 +871,7 @@ oper
|
||||
|
||||
-- Note: Now we consider only the plural form of the pronoun "все" (all)
|
||||
-- treated as an adjective (see AllDetPl definition).
|
||||
-- The meaning "entire" is not considered, which allows us to form
|
||||
-- the pronoun-adjective from the substantive form below:
|
||||
|
||||
oper eEnd_Decl: Str -> CommNoun = \vs ->
|
||||
@@ -807,7 +942,7 @@ oper etotDet: Adjective = {s = table {
|
||||
AF Nom _ (ASg Neut) => "то";
|
||||
AF Nom _ APl => "те";
|
||||
AF Acc Inanimate (ASg Masc) => "тот";
|
||||
AF Prepos _ (ASg Masc) => "том";
|
||||
AF Acc Animate (ASg Masc) => "того";
|
||||
AF Acc _ (ASg Fem) => "ту";
|
||||
AF Acc _ (ASg Neut) => "то";
|
||||
AF Acc Inanimate APl => "те";
|
||||
@@ -952,7 +1087,7 @@ oper i_oj_EndDecl : Str -> Str -> Adjective = \s, chastica ->{s = table {
|
||||
AF Inst _ (ASg Neut) => s+"им";
|
||||
AF Inst _ APl => s+"ими";
|
||||
AF Dat _ (ASg Masc) => s+"ому";
|
||||
AF Nom _ APl => s+"ие"+ chastica ;
|
||||
AF Dat _ (ASg Fem) => s+"ой";
|
||||
AF Dat _ (ASg Neut) => s+"ому";
|
||||
AF Dat _ APl => s+"им";
|
||||
AF Prepos _ (ASg Masc) => s+"ом";
|
||||
@@ -980,7 +1115,7 @@ oper uy_oj_EndDecl : Str -> Adjective = \s ->{s = table {
|
||||
AF Gen _ (ASg Masc) => s+"ого"+ chastica ;
|
||||
AF Gen _ (ASg Fem) => s+"ой"+ chastica ;
|
||||
AF Gen _ (ASg Neut) => s+"ого"+ chastica ;
|
||||
oper molodoj: AdjDegr = mkAdjDeg (uy_oj_EndDecl "молод") "моложе";
|
||||
AF Gen _ APl => s+"их"+ chastica ;
|
||||
|
||||
AF Inst _ (ASg Masc) => s+"им"+ chastica ;
|
||||
AF Inst _ (ASg Fem) => s+"ой"+ chastica ;
|
||||
@@ -1262,7 +1397,7 @@ oper
|
||||
VIMP Pl P2 => av.s! (VIMP Pl P2) +"сь";
|
||||
VIMP Sg P3 => av.s ! (VIMP Sg P3) +"ся";
|
||||
|
||||
VIND (VFuture Pl P1) => av.s! (VIND (VFuture Pl P1) )+ "ся";
|
||||
VIMP Pl P3 => av.s ! (VIMP Pl P3) +"ся";
|
||||
|
||||
VSUB (ASg Masc) => pv ! (PSF (ASg Masc)) + "ся"+[" бы"];
|
||||
VSUB (ASg Fem) => pv ! (PSF (ASg Fem)) + "сь"+[" бы"];
|
||||
|
||||
@@ -267,8 +267,8 @@ oper
|
||||
anim = anim
|
||||
} ** {lock_N = <>} ;
|
||||
|
||||
nMashina = \s -> aEndInanimateDecl s ** {lock_N = <>};
|
||||
nEdinica = \s -> ej_aEndInanimateDecl s ** {lock_N = <>};
|
||||
nMashina = \s -> aEndInAnimateDecl s ** {lock_N = <>};
|
||||
nEdinica = \s -> ej_aEndInAnimateDecl s ** {lock_N = <>};
|
||||
nZhenchina = \s -> (aEndAnimateDecl s) ** { g = Fem ; anim = Animate } ** {lock_N = <>};
|
||||
nNoga = \s -> aEndG_K_KH_Decl s ** {lock_N = <>};
|
||||
nMalyariya = \s -> i_yaEndDecl s ** {lock_N = <>};
|
||||
|
||||
Reference in New Issue
Block a user