mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-20 08:32:50 -06:00
Reorganize the ParadigmsBul & co modules. Now ParadigmsBul is auto-generated and contains all BG paradigms. The Lexicon is also largely extended
This commit is contained in:
@@ -281,10 +281,10 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
VImperfect Pl P1 => "áÿõìå" ++ se ;
|
||||
VImperfect Pl P2 => "áÿõòå" ++ se ;
|
||||
VImperfect Pl P3 => "áÿõà" ++ se ;
|
||||
VPerfect aform => (regAdjective "áèë").s ! aform ++ se ;
|
||||
VPluPerfect aform => (regAdjective "áèë").s ! aform ++ se ;
|
||||
VPassive aform => (regAdjective "áúäåí").s ! aform ++ se ;
|
||||
VPresPart aform => (regAdjective "áúäåù").s ! aform ++ se ;
|
||||
VPerfect aform => regAdjective "áèë" ! aform ++ se ;
|
||||
VPluPerfect aform => regAdjective "áèë" ! aform ++ se ;
|
||||
VPassive aform => regAdjective "áúäåí" ! aform ++ se ;
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ++ se ;
|
||||
VImperative Sg => "áúäè" ++ se ;
|
||||
VImperative Pl => "áúäåòå" ++ se ;
|
||||
VGerund => "áèäåéêè" ++ se
|
||||
@@ -308,10 +308,10 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
VImperfect Pl P1 => "áúäåõìå" ++ se ;
|
||||
VImperfect Pl P2 => "áúäåõòå" ++ se ;
|
||||
VImperfect Pl P3 => "áúäåõà" ++ se ;
|
||||
VPerfect aform => (regAdjective "áèë").s ! aform ++ se ;
|
||||
VPluPerfect aform => (regAdjective "áúäåë").s ! aform ++ se ;
|
||||
VPassive aform => (regAdjective "áúäåí").s ! aform ++ se ;
|
||||
VPresPart aform => (regAdjective "áúäåù").s ! aform ++ se ;
|
||||
VPerfect aform => regAdjective "áèë" ! aform ++ se ;
|
||||
VPluPerfect aform => regAdjective "áúäåë" ! aform ++ se ;
|
||||
VPassive aform => regAdjective "áúäåí" ! aform ++ se ;
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ++ se ;
|
||||
VImperative Sg => "áúäè" ++ se ;
|
||||
VImperative Pl => "áúäåòå" ++ se ;
|
||||
VGerund => "áúäåéêè" ++ se
|
||||
@@ -364,95 +364,18 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
_ => s
|
||||
};
|
||||
|
||||
mkAdjective : (_,_,_,_,_,_,_,_,_ : Str) -> {s : AForm => Str} =
|
||||
\dobyr,dobria,dobriat,dobra,dobrata,dobro,dobroto,dobri,dobrite -> {
|
||||
s = table {
|
||||
ASg Masc Indef => dobyr ;
|
||||
ASg Masc Def => dobria ;
|
||||
ASgMascDefNom => dobriat ;
|
||||
ASg Fem Indef => dobra ;
|
||||
ASg Fem Def => dobrata ;
|
||||
ASg Neut Indef => dobro ;
|
||||
ASg Neut Def => dobroto ;
|
||||
APl Indef => dobri ;
|
||||
APl Def => dobrite
|
||||
}
|
||||
} ;
|
||||
|
||||
regAdjective : Str -> {s : AForm => Str} =
|
||||
\base -> mkAdjective base
|
||||
(base+"èÿ")
|
||||
(base+"èÿò")
|
||||
(base+"a")
|
||||
(base+"àòà")
|
||||
(base+"î")
|
||||
(base+"îòî")
|
||||
(ia2e base+"è")
|
||||
(ia2e base+"èòå") ;
|
||||
|
||||
mkVerb : (_,_,_,_,_,_,_,_,_:Str) -> Verb =
|
||||
\cheta,chete,chetoh,chetqh,chel,chetql,cheten,chetqst,cheti -> {
|
||||
s = table {
|
||||
VPres Sg P1 => cheta;
|
||||
VPres Sg P2 => chete + "ø";
|
||||
VPres Sg P3 => chete;
|
||||
VPres Pl P1 => case chete of {
|
||||
_ + ("à"|"ÿ") => chete + "ìå";
|
||||
_ => chete + "ì"
|
||||
};
|
||||
VPres Pl P2 => chete + "òå";
|
||||
VPres Pl P3 => case cheta of {
|
||||
vika + "ì" => case chete of {
|
||||
dad + "å" => dad + "àò";
|
||||
vika => vika + "ò"
|
||||
};
|
||||
_ => cheta + "ò"
|
||||
};
|
||||
VAorist Sg P1 => chetoh;
|
||||
VAorist Sg _ => case chetoh of {
|
||||
chet+"îõ" => chete;
|
||||
zova+ "õ" => zova
|
||||
};
|
||||
VAorist Pl P1 => chetoh + "ìå";
|
||||
VAorist Pl P2 => chetoh + "òå";
|
||||
VAorist Pl P3 => chetoh + "à";
|
||||
VImperfect Sg P1 => chetqh;
|
||||
VImperfect Sg _ => case chete of {
|
||||
rabot + "è" => rabot + "eøå";
|
||||
_ => chete + "øå"
|
||||
};
|
||||
VImperfect Pl P1 => chetqh + "ìå";
|
||||
VImperfect Pl P2 => chetqh + "òå";
|
||||
VImperfect Pl P3 => chetqh + "à";
|
||||
VPerfect aform =>let chel1 : Str =
|
||||
case chel of {
|
||||
pas+"úë" => pas+"ë";
|
||||
_ => chel
|
||||
}
|
||||
in (mkAdjective chel
|
||||
(chel+"èÿ")
|
||||
(chel+"èÿò")
|
||||
(chel1+"a")
|
||||
(chel1+"àòà")
|
||||
(chel1+"î")
|
||||
(chel1+"îòî")
|
||||
(ia2e chel1+"è")
|
||||
(ia2e chel1+"èòå")).s ! aform ;
|
||||
VPluPerfect aform => (regAdjective chetql ).s ! aform ;
|
||||
VPassive aform => (regAdjective cheten ).s ! aform ;
|
||||
VPresPart aform => (regAdjective chetqst).s ! aform ;
|
||||
VImperative Sg => cheti;
|
||||
VImperative Pl => case cheti of {
|
||||
chet + "è" => chet + "åòå";
|
||||
ela => ela + "òå"
|
||||
};
|
||||
VGerund => case chete of {
|
||||
rabot + "è" => rabot + "åéêè";
|
||||
_ => chete + "éêè"
|
||||
}
|
||||
} ;
|
||||
vtype = VNormal
|
||||
} ;
|
||||
regAdjective : Str -> AForm => Str =
|
||||
\base -> table {
|
||||
ASg Masc Indef => base ;
|
||||
ASg Masc Def => (base+"èÿ") ;
|
||||
ASgMascDefNom => (base+"èÿò") ;
|
||||
ASg Fem Indef => (base+"a") ;
|
||||
ASg Fem Def => (base+"àòà") ;
|
||||
ASg Neut Indef => (base+"î") ;
|
||||
ASg Neut Def => (base+"îòî") ;
|
||||
APl Indef => (ia2e base+"è") ;
|
||||
APl Def => (ia2e base+"èòå")
|
||||
};
|
||||
|
||||
-- For $Sentence$.
|
||||
|
||||
@@ -497,15 +420,17 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
NCard dg => digitGenderSpecies dva dvama dve ! dg ;
|
||||
NOrd aform => let vtora = init vtori + "à" ;
|
||||
vtoro = init vtori + "î"
|
||||
in (mkAdjective vtori
|
||||
(vtori+"ÿ")
|
||||
(vtori+"ÿò")
|
||||
vtora
|
||||
(vtora+"òà")
|
||||
vtoro
|
||||
(vtoro+"òî")
|
||||
vtori
|
||||
(vtori+"òå")).s ! aform
|
||||
in case aform of {
|
||||
ASg Masc Indef => vtori ;
|
||||
ASg Masc Def => vtori+"ÿ" ;
|
||||
ASgMascDefNom => vtori+"ÿò" ;
|
||||
ASg Fem Indef => vtora ;
|
||||
ASg Fem Def => vtora+"òà" ;
|
||||
ASg Neut Indef => vtoro ;
|
||||
ASg Neut Def => vtoro+"òî" ;
|
||||
APl Indef => vtori ;
|
||||
APl Def => vtori+"òå"
|
||||
}
|
||||
} ;
|
||||
|
||||
digitGenderSpecies : Str -> Str -> Str -> DGenderSpecies => Str =
|
||||
@@ -548,7 +473,17 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
RObj Dat => mi ;
|
||||
RVoc => az
|
||||
} ;
|
||||
gen = (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ;
|
||||
gen = table {
|
||||
ASg Masc Indef => moj ;
|
||||
ASg Masc Def => moia ;
|
||||
ASgMascDefNom => moiat ;
|
||||
ASg Fem Indef => moia_ ;
|
||||
ASg Fem Def => moiata ;
|
||||
ASg Neut Indef => moe ;
|
||||
ASg Neut Def => moeto ;
|
||||
APl Indef => moi ;
|
||||
APl Def => moite
|
||||
} ;
|
||||
a = {
|
||||
gn = gn ;
|
||||
p = p
|
||||
|
||||
Reference in New Issue
Block a user