diff --git a/lib/src/bulgarian/CatBul.gf b/lib/src/bulgarian/CatBul.gf index 8ef4412c8..5f7e93565 100644 --- a/lib/src/bulgarian/CatBul.gf +++ b/lib/src/bulgarian/CatBul.gf @@ -124,7 +124,8 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv] ** open ResBul, Prelude, Predef, V, VS, VQ, VA = \v -> linrefVP (predV v); V2, V2A = \v -> linrefVP (predV v) ++ v.c2.s; - V2V, V2S, V2Q = \v -> linrefVP (predV v) ++ v.c2.s ++ v.c3.s; + V2V = \v -> linrefVP (predV v) ++ v.c2.s ++ v.c3.s ++ "да"; + V2S, V2Q = \v -> linrefVP (predV v) ++ v.c2.s ++ v.c3.s; V3 = \v -> linrefVP (predV v) ++ v.c2.s ++ v.c3.s; VV = \v -> linrefVP (predV v); diff --git a/lib/src/bulgarian/DictEngBul.gf b/lib/src/bulgarian/DictEngBul.gf index 6aaf1c84b..3946a96b3 100644 --- a/lib/src/bulgarian/DictEngBul.gf +++ b/lib/src/bulgarian/DictEngBul.gf @@ -8424,7 +8424,7 @@ lin campylotropous_A = variants {}; lin camshaft_N = variants {}; lin camwood_N = variants {}; lin can_N = mkN041 "консерва" ; -lin can_V2 = variants {}; +lin can_V2 = dirV2 (stateV (mkV186 "консервирам")); lin can_VV = mkVV (singleV (mkV166 "мога")); lin canada_PN = mkPN "Канада" Fem; lin canadian_A = mkA078 "канадски" ; @@ -22778,7 +22778,7 @@ lin get_N = variants {}; lin get_V = singleV (mkV186 "ползвам") ; ---- lin get_V2 = dirV2 (dualV (mkV186 "получавам") (mkV176 "получа")); lin get_V2V = variants {}; -lin get_VA = singleV (mkV186 "ставам"); +lin get_VA = dualV (mkV186 "ставам") (mkV152 "стана"); lin get_VS = variants {}; lin get_VV = variants {}; lin get_at_able_A = variants {}; @@ -60389,7 +60389,7 @@ lin wale_N = variants {}; lin wales_PN = variants {}; lin walk_N = mkN041 "разходка"; lin walk_V = singleV (mkV177 "вървя"); -lin walk_V2 = dirV2 (singleV (mkV177 "вървя")); +lin walk_V2 = dirV2 (actionV (mkV186 "разхождам") (mkV173 "разходя")); lin walkabout_N = variants {}; lin walkaway_N = variants {}; lin walker_N = variants {}; diff --git a/lib/src/bulgarian/ParseBul.gf b/lib/src/bulgarian/ParseBul.gf index 951f8b44e..5563c1326 100644 --- a/lib/src/bulgarian/ParseBul.gf +++ b/lib/src/bulgarian/ParseBul.gf @@ -163,5 +163,120 @@ lin FeatN2, FeatN = \n -> AFem => "(ж.р.)" ; ANeut => "(ср.р.)" } ; - + FeatV = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ; + FeatV2 = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + v.c2.s ++ + "<допълнение>"; + FeatV3 = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + v.c2.s ++ + "<арг1>"++ + v.c3.s ++ + "<арг2>"; + FeatV2V = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + v.c2.s ++ + "<допълнение>"++ + v.c3.s ++ + "да" ++ "<глагол>"; + FeatV2S = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + v.c2.s ++ + "<допълнение>"++ + v.c3.s ++ + "че" ++ "<изречение>"; + FeatV2Q = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + v.c2.s ++ + "<допълнение>"++ + v.c3.s ++ + "<въпрос>"; + FeatV2A = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + v.c2.s ++ + "<допълнение>"++ + "<прилагателно>"; + FeatVV = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + case v.typ of { + VVInf => "да" ++ "<глагол>"; + VVGerund => "<деепричастие>" + }; + FeatVS = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + "че" ++ "<изречение>"; + FeatVQ = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + "<въпрос>"; + FeatVA = \v -> + "<подлог>" ++ + case v.vtype of { + VNormal => "" ; + VMedial c => reflClitics ! c ; + VPhrasal c => personalClitics ! c ! GSg Masc ! P3 + } ++ + v.s ! Imperf ! VPres Sg P3 ++ + "<прилагателно>"; } diff --git a/lib/src/english/ParseEng.gf b/lib/src/english/ParseEng.gf index 57126161c..9374453e7 100644 --- a/lib/src/english/ParseEng.gf +++ b/lib/src/english/ParseEng.gf @@ -153,5 +153,60 @@ lin lincat Feat = Str; lin FeatN, FeatN2 = \_ -> ""; - + FeatV = \v -> + "" ++ + v.s ! VInf ++ v.p ; + FeatV2 = \v -> + "" ++ + v.s ! VInf ++ v.p ++ v.c2 ++ + ""; + FeatV3 = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + v.c2 ++ "" ++ + v.c3 ++ ""; + FeatV2V = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + v.c2 ++ "" ++ + v.c3 ++ case v.typ of { + VVAux => "" ; + VVInf => "to" ++ "" ; + VVPresPart => "" + }; + FeatV2S = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + v.c2 ++ "" ++ + "that" ++ ""; + FeatV2Q = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + v.c2 ++ "" ++ + "that" ++ ""; + FeatV2A = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + v.c2 ++ "" ++ + ""; + FeatVV = \v -> + "" ++ + v.s ! VVF VInf ++ v.p ++ + case v.typ of { + VVAux => "" ; + VVInf => "to" ++ "" ; + VVPresPart => "" + }; + FeatVS = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + "that" ++ ""; + FeatVQ = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + ""; + FeatVA = \v -> + "" ++ + v.s ! VInf ++ v.p ++ + ""; } diff --git a/lib/src/english/ParseEngAbs.gf b/lib/src/english/ParseEngAbs.gf index 6a5320fcf..1ae4955c8 100644 --- a/lib/src/english/ParseEngAbs.gf +++ b/lib/src/english/ParseEngAbs.gf @@ -76,5 +76,16 @@ fun CompoundCN : Num -> N -> CN -> CN ; cat Feat; fun FeatN : N -> Feat; FeatN2 : N2 -> Feat; + FeatV : V -> Feat; + FeatV2 : V2 -> Feat; + FeatV3 : V3 -> Feat; + FeatV2V : V2V -> Feat; + FeatV2S : V2S -> Feat; + FeatV2Q : V2Q -> Feat; + FeatV2A : V2A -> Feat; + FeatVV : VV -> Feat; + FeatVS : VS -> Feat; + FeatVQ : VQ -> Feat; + FeatVA : VA -> Feat; } diff --git a/lib/src/swedish/DictEngSwe.gf b/lib/src/swedish/DictEngSwe.gf index a7af20d9e..657c2ea60 100644 --- a/lib/src/swedish/DictEngSwe.gf +++ b/lib/src/swedish/DictEngSwe.gf @@ -8673,12 +8673,12 @@ lin campus_N = variants {}; lin campylotropous_A = variants {}; lin camshaft_N = variants {}; lin camwood_N = variants {}; -lin can_N = mkN "soptunna"; -- comment=11 -lin can_V2 = dirV2 (partV (mkV "orkar")"med"); -- comment=4 +lin can_N = mkN "dunk"; +lin can_V2 = dirV2 (mkV "konserverar"); lin can_VV = S.can_VV; lin canada_PN = variants {}; lin canadian_A = mkA "kanadensisk"; -lin canadian_N = mkN "kanadensiska"; -- comment=2 +lin canadian_N = mkN "kanadensiska"; lin canal_N = mkN "kanal" "kanaler"; lin canalicular_A = variants {}; lin canaliculate_A = variants {}; @@ -18974,7 +18974,7 @@ lin energid_N = variants {}; lin energizer_N = variants {}; lin energizing_A = variants {}; lin energizing_N = variants {}; -lin energy_N = mkN "kraft" "krafter"; -- comment=4 +lin energy_N = mkN "energi" "energier"; lin enervate_V2 = mkV2 (mkV "försvaga"); -- status=guess, src=wikt lin enervation_N = variants {}; lin enfant_terrible_N = variants {}; diff --git a/lib/src/swedish/ParseSwe.gf b/lib/src/swedish/ParseSwe.gf index a5c5e849b..7779170e3 100644 --- a/lib/src/swedish/ParseSwe.gf +++ b/lib/src/swedish/ParseSwe.gf @@ -131,5 +131,52 @@ lin FeatN2, FeatN = \n -> Utr => "(utr)" ; Neutr => "(neutr)" } ; - + FeatV = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ; + FeatV2 = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ v.c2.s ++ + ""; + FeatV3 = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + v.c2.s ++ "" ++ + v.c3.s ++ ""; + FeatV2V = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + v.c2.s ++ "" ++ + v.c3.s ++ ""; + FeatV2S = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + v.c2.s ++ "" ++ + "that" ++ ""; + FeatV2Q = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + v.c2.s ++ "" ++ + "that" ++ ""; + FeatV2A = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + v.c2.s ++ "" ++ + ""; + FeatVV = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + "" ; + FeatVS = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + "that" ++ ""; + FeatVQ = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + ""; + FeatVA = \v -> + "" ++ + v.s ! VI (VInfin Act) ++ v.part ++ + ""; }