added dative case

This commit is contained in:
krasimir
2008-02-23 11:57:05 +00:00
parent 4496badef1
commit bbfb4e981c
11 changed files with 79 additions and 68 deletions

View File

@@ -8,7 +8,7 @@ concrete AdverbBul of Adverb = CatBul ** open ResBul, Prelude in {
s = cadv.s ++ "ïî" ++ "-" ++ a.s ! ASg Neut Indef ++ "îò" ++ s.s s = cadv.s ++ "ïî" ++ "-" ++ a.s ! ASg Neut Indef ++ "îò" ++ s.s
} ; } ;
PrepNP prep np = {s = prep.s ++ np.s ! Acc} ; PrepNP prep np = {s = prep.s ++ np.s ! prep.c} ;
AdAdv = cc2 ; AdAdv = cc2 ;

View File

@@ -30,7 +30,7 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
Cl = {s : ResBul.Tense => Anteriority => Polarity => Order => Str} ; Cl = {s : ResBul.Tense => Anteriority => Polarity => Order => Str} ;
Slash = { Slash = {
s : ResBul.Tense => Anteriority => Polarity => Order => Str ; s : ResBul.Tense => Anteriority => Polarity => Order => Str ;
c2 : Str c2 : Prep
} ; } ;
Imp = {s : Polarity => GenNum => Str} ; Imp = {s : Polarity => GenNum => Str} ;
@@ -83,13 +83,13 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
-- Structural -- Structural
Subj = {s : Str} ; Subj = {s : Str} ;
Prep = {s : Str} ; Prep = {s : Str; c : Case} ;
-- Open lexical classes, e.g. Lexicon -- Open lexical classes, e.g. Lexicon
V, VS, VQ, VA = Verb ; V, VS, VQ, VA = Verb ;
V2, V2A = Verb ** {c2 : Str} ; V2, V2A = Verb ** {c2 : Prep} ;
V3 = Verb ** {c2, c3 : Str} ; V3 = Verb ** {c2, c3 : Prep} ;
A = {s : AForm => Str} ; A = {s : AForm => Str} ;
A2 = {s : AForm => Str ; c2 : Str} ; A2 = {s : AForm => Str ; c2 : Str} ;

View File

@@ -6,8 +6,8 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
GenNPIndef np = {s = \\gn => np.s ! Gen (aform gn Indef Nom); spec=Indef} ; GenNPIndef np = {s = \\gn => np.s ! Gen (aform gn Indef Nom); spec=Indef} ;
i8fem_Pron = mkNP "ŕç" "ěĺí" "ěîé" "ěî˙" "ěî˙ň" "ěî˙" "ěî˙ňŕ" "ěîĺ" "ěîĺňî" "ěîč" "ěîčňĺ" (GSg Fem) P1 ; i8fem_Pron = mkPron "ŕç" "ěĺí" "ěč" "ěîé" "ěî˙" "ěî˙ň" "ěî˙" "ěî˙ňŕ" "ěîĺ" "ěîĺňî" "ěîč" "ěîčňĺ" (GSg Fem) P1 ;
i8neut_Pron = mkNP "ŕç" "ěĺí" "ěîé" "ěî˙" "ěî˙ň" "ěî˙" "ěî˙ňŕ" "ěîĺ" "ěîĺňî" "ěîč" "ěîčňĺ" (GSg Neut) P1 ; i8neut_Pron = mkPron "ŕç" "ěĺí" "ěč" "ěîé" "ěî˙" "ěî˙ň" "ěî˙" "ěî˙ňŕ" "ěîĺ" "ěîĺňî" "ěîč" "ěîčňĺ" (GSg Neut) P1 ;
whatSg8fem_IP = mkIP "ęŕęâŕ" "ęŕęâŕ" (GSg Fem) ; whatSg8fem_IP = mkIP "ęŕęâŕ" "ęŕęâŕ" (GSg Fem) ;
whatSg8neut_IP = mkIP "ęŕęâî" "ęŕęâî" (GSg Neut) ; whatSg8neut_IP = mkIP "ęŕęâî" "ęŕęâî" (GSg Neut) ;
@@ -15,11 +15,11 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
whoSg8fem_IP = mkIP "ęî˙" "ęîăî" (GSg Fem) ; whoSg8fem_IP = mkIP "ęî˙" "ęîăî" (GSg Fem) ;
whoSg8neut_IP = mkIP "ęîĺ" "ęîăî" (GSg Neut) ; whoSg8neut_IP = mkIP "ęîĺ" "ęîăî" (GSg Neut) ;
youSg8fem_Pron = mkNP "ňč" "ňĺá" "ňâîé" "ňâî˙" "ňâî˙ň" "ňâî˙" "ňâî˙ňŕ" "ňâîĺ" "ňâîĺňî" "ňâîč" "ňâîčňĺ" (GSg Fem) P2 ; youSg8fem_Pron = mkPron "ňč" "ňĺá" "ňč" "ňâîé" "ňâî˙" "ňâî˙ň" "ňâî˙" "ňâî˙ňŕ" "ňâîĺ" "ňâîĺňî" "ňâîč" "ňâîčňĺ" (GSg Fem) P2 ;
youSg8neut_Pron = mkNP "ňč" "ňĺá" "ňâîé" "ňâî˙" "ňâî˙ň" "ňâî˙" "ňâî˙ňŕ" "ňâîĺ" "ňâîĺňî" "ňâîč" "ňâîčňĺ" (GSg Neut) P2 ; youSg8neut_Pron = mkPron "ňč" "ňĺá" "ňč" "ňâîé" "ňâî˙" "ňâî˙ň" "ňâî˙" "ňâî˙ňŕ" "ňâîĺ" "ňâîĺňî" "ňâîč" "ňâîčňĺ" (GSg Neut) P2 ;
youPol8fem_Pron = mkNP "âčĺ" "âŕń" "âŕř" "âŕřč˙" "âŕřč˙ň" "âŕřŕ" "âŕřŕňŕ" "âŕřĺ" "âŕřĺňî" "âŕřč" "âŕřčňĺ" (GSg Fem) P2 ; youPol8fem_Pron = mkPron "âčĺ" "âŕń" "âč" "âŕř" "âŕřč˙" "âŕřč˙ň" "âŕřŕ" "âŕřŕňŕ" "âŕřĺ" "âŕřĺňî" "âŕřč" "âŕřčňĺ" (GSg Fem) P2 ;
youPol8neut_Pron = mkNP "âčĺ" "âŕń" "âŕř" "âŕřč˙" "âŕřč˙ň" "âŕřŕ" "âŕřŕňŕ" "âŕřĺ" "âŕřĺňî" "âŕřč" "âŕřčňĺ" (GSg Neut) P2 ; youPol8neut_Pron = mkPron "âčĺ" "âŕń" "âč" "âŕř" "âŕřč˙" "âŕřč˙ň" "âŕřŕ" "âŕřŕňŕ" "âŕřĺ" "âŕřĺňî" "âŕřč" "âŕřčňĺ" (GSg Neut) P2 ;
onePl_Num = {s = table { onePl_Num = {s = table {
DMascIndef | DMascPersonalIndef | DFemIndef | DNeutIndef => "ĺäíč" ; DMascIndef | DMascPersonalIndef | DFemIndef | DNeutIndef => "ĺäíč" ;

View File

@@ -156,7 +156,7 @@ lin
uncertain_A = mkA79 "íĺ˙ńĺí" ; uncertain_A = mkA79 "íĺ˙ńĺí" ;
oper oper
zaP = mkPrep "çŕ" ; zaP = mkPrep "çŕ" Acc ;
naP = mkPrep "íŕ" ; naP = mkPrep "íŕ" Dat ;
doP = mkPrep "äî" ; doP = mkPrep "äî" Acc ;
} ; } ;

View File

@@ -15,10 +15,19 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
} ; } ;
_ => NF det.n det.spec _ => NF det.n det.spec
} ; } ;
in det.s ! cn.g ! c ++ cn.s ! nf ; s = det.s ! cn.g ! c ++ cn.s ! nf
in case c of {
Dat => "íà" ++ s;
_ => s
} ;
a = {gn = gennum cn.g det.n; p = P3} ; a = {gn = gennum cn.g det.n; p = P3} ;
} ; } ;
UsePN pn = {s = \\_ => pn.s; a = {gn = GSg pn.g; p = P3}} ; UsePN pn = { s = \\c => case c of {
Dat => "íà" ++ pn.s;
_ => pn.s
} ;
a = {gn = GSg pn.g; p = P3}
} ;
UsePron p = {s = p.s; a=p.a} ; UsePron p = {s = p.s; a=p.a} ;
PredetNP pred np = { PredetNP pred np = {

View File

@@ -52,7 +52,7 @@ oper
-- A preposition as used for rection in the lexicon, as well as to -- A preposition as used for rection in the lexicon, as well as to
-- build $PP$s in the resource API, just requires a string. -- build $PP$s in the resource API, just requires a string.
mkPrep : Str -> Prep ; mkPrep : Str -> Case -> Prep ;
noPrep : Prep ; noPrep : Prep ;
mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ; mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
@@ -88,13 +88,13 @@ oper
mkAdv x = ss x ** {lock_Adv = <>} ; mkAdv x = ss x ** {lock_Adv = <>} ;
mkPrep p = ss p ** {lock_Prep = <>} ; mkPrep p c = {s = p; c = c; lock_Prep = <>} ;
noPrep = mkPrep [] ; noPrep = mkPrep [] Acc ;
prepV2 v p = v ** {s = v.s ; c2 = p.s ; lock_V2 = <>} ; prepV2 v p = {s = v.s ; c2 = p ; lock_V2 = <>} ;
dirV2 v = prepV2 v noPrep; dirV2 v = prepV2 v noPrep ;
mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p.s ; c3 = q.s ; lock_V3 = <>} ; mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p ; c3 = q ; lock_V3 = <>} ;
dirV3 v p = mkV3 v noPrep p ; dirV3 v p = mkV3 v noPrep p ;
dirdirV3 v = dirV3 v noPrep ; dirdirV3 v = dirV3 v noPrep ;

View File

@@ -18,7 +18,7 @@ concrete QuestionBul of Question = CatBul ** open ResBul, Prelude in {
in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! Main} ; in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! Main} ;
QuestSlash ip slash = QuestSlash ip slash =
mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ; mkQuestion (ss (slash.c2.s ++ ip.s ! slash.c2.c)) slash ;
QuestIAdv iadv cl = mkQuestion iadv cl ; QuestIAdv iadv cl = mkQuestion iadv cl ;

View File

@@ -18,7 +18,7 @@ resource ResBul = ParamX ** open Prelude in {
-- This is the worst-case $Case$ needed for pronouns. -- This is the worst-case $Case$ needed for pronouns.
param param
Case = Nom | Acc ; Case = Nom | Acc | Dat;
NForm = NForm =
NF Number Species NF Number Species
@@ -425,16 +425,18 @@ resource ResBul = ParamX ** open Prelude in {
\koi,kogo,gn -> { \koi,kogo,gn -> {
s = table { s = table {
Nom => koi ; Nom => koi ;
Acc => kogo Acc => kogo ;
Dat => "íà" ++ kogo
} ; } ;
gn = gn gn = gn
} ; } ;
mkNP : (az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) -> GenNum -> Person -> {s : Case => Str; gen : AForm => Str; a : Agr} = mkPron : (az,men,mi,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) -> GenNum -> Person -> {s : Case => Str; gen : AForm => Str; a : Agr} =
\az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> { \az,men,mi,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> {
s = table { s = table {
Nom => az ; Nom => az ;
Acc => men Acc => men ;
Dat => mi
} ; } ;
gen = (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ; gen = (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ;
a = { a = {

View File

@@ -22,7 +22,7 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
c2 = slash.c2 c2 = slash.c2
} ; } ;
SlashPrep cl prep = cl ** {c2 = prep.s} ; SlashPrep cl prep = cl ** {c2 = prep} ;
EmbedS s = {s = "," ++ "֌" ++ s.s} ; EmbedS s = {s = "," ++ "֌" ++ s.s} ;
EmbedQS qs = {s = qs.s ! QIndir} ; EmbedQS qs = {s = qs.s ! QIndir} ;

View File

@@ -1,11 +1,11 @@
concrete StructuralBul of Structural = CatBul ** concrete StructuralBul of Structural = CatBul **
open MorphoBul, (P = ParadigmsBul), Prelude in { open MorphoBul, ParadigmsBul, Prelude in {
flags optimize=all ; flags optimize=all ;
lin lin
above_Prep = ss "íàä" ; above_Prep = mkPrep "íàä" Acc ;
after_Prep = ss "ñëåä" ; after_Prep = mkPrep "ñëåä" Acc ;
all_Predet = {s = table GenNum ["âñè÷êèÿ";"âñè÷êàòà";"âñè÷êîòî";"âñè÷êèòå"]} ; all_Predet = {s = table GenNum ["âñè÷êèÿ";"âñè÷êàòà";"âñè÷êîòî";"âñè÷êèòå"]} ;
almost_AdA, almost_AdN = ss "ïî÷òè" ; almost_AdA, almost_AdN = ss "ïî÷òè" ;
{- although_Subj = ss "although" ; {- although_Subj = ss "although" ;
@@ -13,15 +13,15 @@ concrete StructuralBul of Structural = CatBul **
and_Conj = ss "and" ** {n = Pl} ; and_Conj = ss "and" ** {n = Pl} ;
-} -}
because_Subj = ss "çàùîòî" ; because_Subj = ss "çàùîòî" ;
before_Prep = ss "ïðåäè" ; before_Prep = mkPrep "ïðåäè" Acc ;
behind_Prep = ss "çàä" ; behind_Prep = mkPrep "çàä" Acc ;
between_Prep = ss "ìåæäó" ; between_Prep = mkPrep "ìåæäó" Acc ;
{- {-
both7and_DConj = sd2 "both" "and" ** {n = Pl} ; both7and_DConj = sd2 "both" "and" ** {n = Pl} ;
but_PConj = ss "but" ; but_PConj = ss "but" ;
-} -}
by8agent_Prep = ss "÷ðåç" ; by8agent_Prep = mkPrep "÷ðåç" Acc ;
by8means_Prep = ss "÷ðåç" ; by8means_Prep = mkPrep "÷ðåç" Acc ;
{- {-
can8know_VV, can_VV = { can8know_VV, can_VV = {
s = table { s = table {
@@ -36,7 +36,7 @@ concrete StructuralBul of Structural = CatBul **
isAux = True isAux = True
} ; } ;
-} -}
during_Prep = ss ["ïî âðåìå íà"] ; during_Prep = mkPrep ["ïî âðåìå íà"] Acc ;
{- {-
either7or_DConj = sd2 "either" "or" ** {n = Sg} ; either7or_DConj = sd2 "either" "or" ** {n = Sg} ;
everybody_NP = regNP "everybody" Sg ; everybody_NP = regNP "everybody" Sg ;
@@ -48,21 +48,21 @@ concrete StructuralBul of Structural = CatBul **
everywhere_Adv = ss "íàâñÿêúäå" ; everywhere_Adv = ss "íàâñÿêúäå" ;
few_Det = {s = \\_,_ => "íÿêîëêî"; n = Pl; countable = True; spec = Indef} ; few_Det = {s = \\_,_ => "íÿêîëêî"; n = Pl; countable = True; spec = Indef} ;
--- first_Ord = ss "first" ; DEPRECATED --- first_Ord = ss "first" ; DEPRECATED
for_Prep = ss "çà" ; for_Prep = mkPrep "çà" Acc ;
from_Prep = ss "îò" ; from_Prep = mkPrep "îò" Acc ;
he_Pron = mkNP "òîé" "íåãî" "ñâîé" "ñâîÿ" "ñâîÿò" "ñâîÿ" "ñâîÿòà" "ñâîå" "ñâîåòî" "ñâîè" "ñâîèòå" (GSg Masc) P3 ; he_Pron = mkPron "òîé" "íåãî" "ìó" "ñâîé" "ñâîÿ" "ñâîÿò" "ñâîÿ" "ñâîÿòà" "ñâîå" "ñâîåòî" "ñâîè" "ñâîèòå" (GSg Masc) P3 ;
here_Adv = ss "òóê" ; here_Adv = ss "òóê" ;
here7to_Adv = ss ["äî òóê"] ; here7to_Adv = ss ["äî òóê"] ;
here7from_Adv = ss ["îò òóê"] ; here7from_Adv = ss ["îò òóê"] ;
how_IAdv = ss "êàê" ; how_IAdv = ss "êàê" ;
how8many_IDet = {s = \\_ => "êîëêî"; n = Pl} ; how8many_IDet = {s = \\_ => "êîëêî"; n = Pl} ;
if_Subj = ss "àêî" ; if_Subj = ss "àêî" ;
in8front_Prep = ss "ïðåä" ; in8front_Prep = mkPrep "ïðåä" Acc ;
i_Pron = mkNP "àç" "ìåí" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Masc) P1 ; i_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Masc) P1 ;
in_Prep = ss (pre { "â" ; in_Prep = mkPrep (pre { "â" ;
"âúâ" / strs {"â" ; "ô" ; "Â" ; "Ô"} "âúâ" / strs {"â" ; "ô" ; "Â" ; "Ô"}
}) ; }) Acc ;
it_Pron = mkNP "òî" "íåãî" "íåãîâ" "íåãîâèÿ" "íåãîâèÿò" "íåãîâà" "íåãîâàòà" "íåãîâî" "íåãîâîòî" "íåãîâè" "íåãîâèòå" (GSg Neut) P3 ; it_Pron = mkPron "òî" "íåãî" "ìó" "íåãîâ" "íåãîâèÿ" "íåãîâèÿò" "íåãîâà" "íåãîâàòà" "íåãîâî" "íåãîâîòî" "íåãîâè" "íåãîâèòå" (GSg Neut) P3 ;
less_CAdv = {s="íå"; sn="ïî-ìàëêî"} ; less_CAdv = {s="íå"; sn="ïî-ìàëêî"} ;
many_Det = mkDeterminerPl "ìíîãî" ; many_Det = mkDeterminerPl "ìíîãî" ;
more_CAdv = {s=[]; sn="ïîâå÷å"} ; more_CAdv = {s=[]; sn="ïîâå÷å"} ;
@@ -83,20 +83,20 @@ concrete StructuralBul of Structural = CatBul **
} ; } ;
-} -}
no_Phr = ss "íå" ; no_Phr = ss "íå" ;
on_Prep = ss "íà" ; on_Prep = mkPrep "íà" Acc ;
---- one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED ---- one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
only_Predet = {s = \\_ => "ñàìî"} ; only_Predet = {s = \\_ => "ñàìî"} ;
{- {-
or_Conj = ss "or" ** {n = Sg} ; or_Conj = ss "or" ** {n = Sg} ;
otherwise_PConj = ss "otherwise" ; otherwise_PConj = ss "otherwise" ;
-} -}
part_Prep = ss "îò" ; part_Prep = mkPrep "îò" Acc ;
{- {-
please_Voc = ss "please" ; please_Voc = ss "please" ;
-} -}
possess_Prep = ss "íà" ; possess_Prep = mkPrep [] Dat ;
quite_Adv = ss "äîñòà" ; quite_Adv = ss "äîñòà" ;
she_Pron = mkNP "òÿ" "íåÿ" "íåèí" "íåéíèÿ" "íåéíèÿò" "íåéíà" "íåéíàòà" "íåéíî" "íåéíîòî" "íåéíè" "íåéíèòå" (GSg Fem) P3 ; she_Pron = mkPron "òÿ" "íåÿ" "è" "íåèí" "íåéíèÿ" "íåéíèÿò" "íåéíà" "íåéíàòà" "íåéíî" "íåéíîòî" "íåéíè" "íåéíèòå" (GSg Fem) P3 ;
so_AdA = ss "òîëêîâà" ; so_AdA = ss "òîëêîâà" ;
{- {-
somebody_NP = regNP "somebody" Sg ; somebody_NP = regNP "somebody" Sg ;
@@ -116,21 +116,21 @@ concrete StructuralBul of Structural = CatBul **
therefore_PConj = ss "therefore" ; therefore_PConj = ss "therefore" ;
these_NP = regNP "these" Pl ; these_NP = regNP "these" Pl ;
-} -}
they_Pron = mkNP "òå" "òÿõ" "òåõåí" "òåõíèÿ" "òåõíèÿò" "òÿõíà" "òÿõíàòà" "òÿõíî" "òÿõíîòî" "òåõíè" "òåõíèòå" GPl P3 ; they_Pron = mkPron "òå" "òÿõ" "èì" "òåõåí" "òåõíèÿ" "òåõíèÿò" "òÿõíà" "òÿõíàòà" "òÿõíî" "òÿõíîòî" "òåõíè" "òåõíèòå" GPl P3 ;
this_Quant = mkQuant "òîçè" "òaçè" "òîâà" "òåçè" ; this_Quant = mkQuant "òîçè" "òaçè" "òîâà" "òåçè" ;
{- {-
this_NP = regNP "this" Sg ; this_NP = regNP "this" Sg ;
those_NP = regNP "those" Pl ; those_NP = regNP "those" Pl ;
-} -}
through_Prep = ss "ïðåç" ; through_Prep = mkPrep "ïðåç" Acc ;
too_AdA = ss "ïðåêàëåíî" ; too_AdA = ss "ïðåêàëåíî" ;
to_Prep = ss "äî" ; to_Prep = mkPrep "äî" Acc ;
under_Prep = ss "ïîä" ; under_Prep = mkPrep "ïîä" Acc ;
very_AdA = ss "ìíîãî" ; very_AdA = ss "ìíîãî" ;
{- {-
want_VV = P.mkVV (P.regV "want") ; want_VV = P.mkVV (P.regV "want") ;
-} -}
we_Pron = mkNP "íèå" "íàñ" "íàø" "íàøèÿ" "íàøèÿò" "íàøà" "íàøàòà" "íàøå" "íàøåòî" "íàøè" "íàøèòå" GPl P1 ; we_Pron = mkPron "íèå" "íàñ" "íè" "íàø" "íàøèÿ" "íàøèÿò" "íàøà" "íàøàòà" "íàøå" "íàøåòî" "íàøè" "íàøèòå" GPl P1 ;
whatPl_IP = mkIP "êàêâè" "êàêâè" GPl ; whatPl_IP = mkIP "êàêâè" "êàêâè" GPl ;
whatSg_IP = mkIP "êàêúâ" "êàêúâ" (GSg Masc) ; whatSg_IP = mkIP "êàêúâ" "êàêúâ" (GSg Masc) ;
when_IAdv = ss "êîãà" ; when_IAdv = ss "êîãà" ;
@@ -143,13 +143,13 @@ concrete StructuralBul of Structural = CatBul **
whoSg_IP = mkIP "êîé" "êîãî" (GSg Masc) ; whoSg_IP = mkIP "êîé" "êîãî" (GSg Masc) ;
whoPl_IP = mkIP "êîè" "êîãî" GPl ; whoPl_IP = mkIP "êîè" "êîãî" GPl ;
why_IAdv = ss "çàùî" ; why_IAdv = ss "çàùî" ;
without_Prep = ss "áåç" ; without_Prep = mkPrep "áåç" Acc ;
with_Prep = ss (pre { "ñ" ; with_Prep = mkPrep (pre { "ñ" ;
"ñúñ" / strs {"ñ" ; "ç" ; "Ñ" ; "Ç"} "ñúñ" / strs {"ñ" ; "ç" ; "Ñ" ; "Ç"}
}) ; }) Acc ;
yes_Phr = ss "äà" ; yes_Phr = ss "äà" ;
youSg_Pron = mkNP "òè" "òåá" "òâîé" "òâîÿ" "òâîÿò" "òâîÿ" "òâîÿòà" "òâîå" "òâîåòî" "òâîè" "òâîèòå" (GSg Masc) P2 ; youSg_Pron = mkPron "òè" "òåá" "òè" "òâîé" "òâîÿ" "òâîÿò" "òâîÿ" "òâîÿòà" "òâîå" "òâîåòî" "òâîè" "òâîèòå" (GSg Masc) P2 ;
youPl_Pron = mkNP "âèå" "âàñ" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl P2 ; youPl_Pron = mkPron "âèå" "âàñ" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl P2 ;
youPol_Pron = mkNP "âèå" "âàñ" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" (GSg Masc) P2 ; youPol_Pron = mkPron "âèå" "âàñ" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" (GSg Masc) P2 ;
} }

View File

@@ -1,12 +1,12 @@
concrete VerbBul of Verb = CatBul ** open ResBul in { concrete VerbBul of Verb = CatBul ** open ResBul, ParadigmsBul in {
flags optimize=all_subs ; flags optimize=all_subs ;
lin lin
UseV = predV ; UseV = predV ;
ComplV2 v np = insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v) ; ComplV2 v np = insertObj (\\_ => v.c2.s ++ np.s ! v.c2.c) (predV v) ;
ComplV3 v np np2 = ComplV3 v np np2 =
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ; insertObj (\\_ => v.c2.s ++ np.s ! v.c2.c ++ v.c3.s ++ np2.s ! v.c3.c) (predV v) ;
ComplVS v s = insertObj (\\_ => "," ++ "֌" ++ s.s) (predV v) ; ComplVS v s = insertObj (\\_ => "," ++ "֌" ++ s.s) (predV v) ;
@@ -14,11 +14,11 @@ concrete VerbBul of Verb = CatBul ** open ResBul in {
AdvVP vp adv = insertObj (\\_ => adv.s) vp ; AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
ReflV2 v = insertObj (\\_ => v.c2 ++ ["ñåáå ñè"]) (predV v) ; ReflV2 v = insertObj (\\_ => v.c2.s ++ case v.c2.c of {Dat => "ñè"; _ => "ñå"}) (predV v) ;
PassV2 v = insertObj (\\a => v.s ! VPassive (aform a.gn Indef Acc)) (predV auxBe) ; PassV2 v = insertObj (\\a => v.s ! VPassive (aform a.gn Indef Acc)) (predV auxBe) ;
UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ; -- no "to" UseVS, UseVQ = \vv -> {s = vv.s ; c2 = noPrep ; isRefl = vv.isRefl} ; -- no "to"
CompNP np = {s = \\_ => np.s ! Acc} ; CompNP np = {s = \\_ => np.s ! Acc} ;
CompAdv a = {s = \\_ => a.s} ; CompAdv a = {s = \\_ => a.s} ;