mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 11:19:32 -06:00
39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
concrete Params3Cnc of Params3 = {
|
|
|
|
param
|
|
Boolean = True | False;
|
|
AForm = APred | AMod GenNum;
|
|
GenNum = GSg Animacy Boolean | GPl;
|
|
Animacy = Human Gender | Nonhuman ;
|
|
Gender = Masc | Fem | Neutr;
|
|
lincat
|
|
S = Str ;
|
|
G = { gen : Gender } ;
|
|
T = AForm => Str ;
|
|
lin
|
|
mkPred = tbl ! APred ;
|
|
mkModSgHumanTrue g = tbl ! AMod (GSg (Human g.gen) True) ;
|
|
mkModSgHumanFalse g = tbl ! AMod (GSg (Human g.gen) False) ;
|
|
mkModSgNonTrue = tbl ! AMod (GSg Nonhuman False) ;
|
|
mkModSgNonFalse = tbl ! AMod (GSg Nonhuman False) ;
|
|
mkModPl = tbl ! AMod GPl ;
|
|
|
|
GMasc = { gen = Masc } ;
|
|
GFem = { gen = Fem } ;
|
|
GNeutr = { gen = Neutr } ;
|
|
|
|
oper
|
|
tbl = table {
|
|
APred => "pred";
|
|
AMod (GSg (Human Masc) True) => "mod sg human masc t";
|
|
AMod (GSg (Human Masc) False) => "mod sg human masc f";
|
|
AMod (GSg (Human Fem) True) => "mod sg human fem t";
|
|
AMod (GSg (Human Fem) False) => "mod sg human fem f";
|
|
AMod (GSg (Human Neutr) True) => "mod sg human neutr t";
|
|
AMod (GSg (Human Neutr) False) => "mod sg human neutr f";
|
|
AMod (GSg Nonhuman True) => "mod sg nonhuman t";
|
|
AMod (GSg Nonhuman False) => "mod sg nonhuman f";
|
|
AMod GPl => "mod pl"
|
|
} ;
|
|
}
|