Files
gf-core/testsuite/lpgf/unittests/Params3Cnc.gf
2021-02-27 23:13:02 +01:00

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"
} ;
}