finished livecoding agreement

This commit is contained in:
Arianna Masciolini
2025-04-16 10:48:46 +02:00
parent cb72c1da1b
commit 8b9055b7e7
2 changed files with 19 additions and 8 deletions

View File

@@ -4,16 +4,18 @@ concrete AgreementSwe of Agreement = open MorphologySwe in {
CN = Noun ;
N = Noun ;
A = Adjective ;
Det = {s : Gender => Str; n: Number;} ; -- and possible Definiteness
Det = {s : Gender => Str; n: Number; d: Definite} ; -- and possible Definiteness
lin
-- DetCN d cn = {
-- s = d.s ++ (cn.s ! d.n) ;
-- n = d.n ;
-- } ;
-- AdjCN a cn = {
-- s = \\n => let agr ? ? cn.g = NPAgr in (a.s ! agr) ++ (cn.s ! n) ;
-- } ;
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" ;
@@ -34,6 +36,7 @@ concrete AgreementSwe of Agreement = open MorphologySwe in {
Neut => "de här"
};
n = Pl ;
d = Def ;
} ;
}

View File

@@ -10,6 +10,14 @@ param
NPAgreement = NPAgr Number Definite Gender ;
oper
nform2number : NForm -> Number = \nf -> case nf of {
(NF n _ _) => n
} ;
nform2definite : NForm -> Definite = \nf -> case nf of {
(NF _ d _) => d
} ;
-- Noun = {s : Number => Definite => Case => Str ; g : Gender} ;
Noun = {s : NForm => Str ; g : Gender} ;