forked from GitHub/gf-core
More work on params: pass all tests except params1 (!)
This commit is contained in:
38
testsuite/lpgf/unittests/Params3Cnc.gf
Normal file
38
testsuite/lpgf/unittests/Params3Cnc.gf
Normal file
@@ -0,0 +1,38 @@
|
||||
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"
|
||||
} ;
|
||||
}
|
||||
Reference in New Issue
Block a user