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

View File

@@ -10,6 +10,14 @@ param
NPAgreement = NPAgr Number Definite Gender ; NPAgreement = NPAgr Number Definite Gender ;
oper 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 : Number => Definite => Case => Str ; g : Gender} ;
Noun = {s : NForm => Str ; g : Gender} ; Noun = {s : NForm => Str ; g : Gender} ;