Files
comp-syntax-gu-mlt/lectures/lecture-05/AgreementSwe.gf
2025-04-16 10:48:46 +02:00

42 lines
1.2 KiB
Plaintext

concrete AgreementSwe of Agreement = open MorphologySwe in {
lincat
NP = {s: Str; a: NPAgreement} ;
CN = Noun ;
N = Noun ;
A = Adjective ;
Det = {s : Gender => Str; n: Number; d: Definite} ; -- and possible Definiteness
lin
DetCN d cn = {
s = (d.s ! cn.g) ++ (cn.s ! (NF d.n d.d Nom)) ;
a = NPAgr d.n d.d cn.g ;
} ;
AdjCN a n = {
s = \\nf => let agr = NPAgr (nform2number nf) (nform2definite nf) n.g
in (a.s ! agr) ++ (n.s ! nf) ;
g = n.g
} ;
UseN n = n ;
cat_N = mk4Noun "katt" "katten" "katter" "katterna" ;
house_N = mk4Noun "hus" "huset" "hus" "husen" ;
black_A = mk3Adjective "svart" "svart" "svarta" ;
big_A = mk3Adjective "stor" "stort" "stora" ;
this_Det = {
s = table {
Com => "den här" ;
Neut => "det här"
} ;
n = Sg ;
d = Def ;
} ;
these_Det = {
s = table {
Com => "de här" ;
Neut => "de här"
};
n = Pl ;
d = Def ;
} ;
}