mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-27 21:42:50 -06:00
Add shell script in testsuite/compiler/canonical for replicating known issues
Ideally this is integrated into proper test suite, but that's too much overhead for now
This commit is contained in:
54
testsuite/compiler/canonical/SentencesBul.gf
Normal file
54
testsuite/compiler/canonical/SentencesBul.gf
Normal file
@@ -0,0 +1,54 @@
|
||||
concrete SentencesBul of Sentences =
|
||||
NumeralBul ** SentencesI - [IMale, IFemale, YouFamMale, YouFamFemale, YouPolMale,
|
||||
YouPolFemale, ACitizen, Citizenship, PCitizenship,
|
||||
LangNat, CitiNat, CountryNat, PropCit,
|
||||
Nationality, Country, LAnguage, PLanguage, PCountry
|
||||
] with
|
||||
(Syntax = SyntaxBul),
|
||||
(Symbolic = SymbolicBul),
|
||||
(Lexicon = LexiconBul) ** open ExtraBul, (R = ResBul) in {
|
||||
|
||||
lincat
|
||||
Citizenship = {s1 : R.Gender => R.NForm => Str; -- there are two nouns for every citizenship - one for males and one for females
|
||||
s2 : A -- furthermore, adjective for Property
|
||||
} ;
|
||||
Nationality = {s1 : R.Gender => R.NForm => Str; -- there are two nouns for every citizenship - one for males and one for females
|
||||
s2 : A; -- furthermore, adjective for Property
|
||||
s3 : PN -- country name
|
||||
} ;
|
||||
LAnguage = A ;
|
||||
Country = PN ;
|
||||
|
||||
lin IMale = mkPerson i_Pron ;
|
||||
IFemale = mkPerson i8fem_Pron ;
|
||||
|
||||
lin YouFamMale = mkPerson youSg_Pron ;
|
||||
YouFamFemale = mkPerson youSg8fem_Pron ;
|
||||
YouPolMale, YouPolFemale = mkPerson youPol_Pron ;
|
||||
|
||||
lin ACitizen p cit =
|
||||
let noun : N
|
||||
= case p.name.gn of {
|
||||
R.GSg g => lin N {s = \\nf => cit.s1 ! g ! nf;
|
||||
rel = cit.s2.s; relType = R.AdjMod;
|
||||
g = case g of {R.Masc=>R.AMasc R.Human; R.Fem=>R.AFem; R.Neut=>R.ANeut}
|
||||
} ;
|
||||
R.GPl => lin N {s = \\nf => cit.s1 ! R.Masc ! nf;
|
||||
rel = cit.s2.s; relType = R.AdjMod;
|
||||
g = R.AMasc R.Human
|
||||
}
|
||||
} ;
|
||||
in mkCl p.name noun ;
|
||||
|
||||
PCitizenship cit =
|
||||
mkPhrase (mkUtt (mkAP cit.s2)) ;
|
||||
|
||||
LangNat n = n.s2 ;
|
||||
CitiNat n = n ;
|
||||
CountryNat n = n.s3 ;
|
||||
PropCit cit = cit.s2 ;
|
||||
|
||||
PLanguage x = mkPhrase (mkUtt (mkAP x)) ;
|
||||
PCountry x = mkPhrase (mkUtt (mkNP x)) ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user