refactor the noun paradigms

This commit is contained in:
Krasimir Angelov
2025-09-26 07:24:08 +02:00
parent cad17e8404
commit a5f4679405
4 changed files with 1066 additions and 2558 deletions

View File

@@ -1,8 +1,8 @@
concrete CatBel of Cat = CommonX ** open ResBel in { concrete CatBel of Cat = CommonX ** open ResBel in {
lincat N = N ; lincat N = Noun ;
lincat N2 = N ** {c2 : Compl} ; lincat N2 = Noun ** {c2 : Compl} ;
lincat N3 = N ** {c2,c3 : Compl} ; lincat N3 = Noun ** {c2,c3 : Compl} ;
lincat V = V ; lincat V = V ;
lincat VV,VS,VQ,VA = V ; lincat VV,VS,VQ,VA = V ;
lincat V2 = V ** {c2 : Compl} ; lincat V2 = V ** {c2 : Compl} ;

View File

@@ -18,8 +18,7 @@ lin
tr (th "Dat" ++ td (x.s ! Dat ! Sg) ++ td (x.s ! Dat ! Pl)) ++ tr (th "Dat" ++ td (x.s ! Dat ! Sg) ++ td (x.s ! Dat ! Pl)) ++
tr (th "Gen" ++ td (x.s ! Gen ! Sg) ++ td (x.s ! Gen ! Pl)) ++ tr (th "Gen" ++ td (x.s ! Gen ! Sg) ++ td (x.s ! Gen ! Pl)) ++
tr (th "Loc" ++ td (x.s ! Loc ! Sg) ++ td (x.s ! Loc ! Pl)) ++ tr (th "Loc" ++ td (x.s ! Loc ! Sg) ++ td (x.s ! Loc ! Pl)) ++
tr (th "Instr" ++ td (x.s ! Instr ! Sg) ++ td (x.s ! Instr ! Pl)) ++ tr (th "Instr" ++ td (x.s ! Instr ! Sg) ++ td (x.s ! Instr ! Pl))) ;
tr (th "Voc" ++ td (x.Voc ! Sg) ++ td (x.Voc ! Pl))) ;
s3=[] s3=[]
} ; } ;
lin lin

File diff suppressed because it is too large Load Diff

View File

@@ -3,9 +3,9 @@ resource ResBel = {
param Case = Nom | Acc | Dat | Gen | Loc | Instr ; param Case = Nom | Acc | Dat | Gen | Loc | Instr ;
param Number = Sg | Pl ; param Number = Sg | Pl ;
param Gender = Masc | Fem | Neuter ; param Gender = Masc | Fem | Neuter ;
oper N = {s: Case => Number => Str; Voc: Number => Str; g: Gender} ; -- 2696 oper Noun = {s: Case => Number => Str; voc: Str; g: Gender} ; -- 2696
oper mkN : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> N = oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,g -> \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,g ->
{ s = table { { s = table {
Nom => table { Nom => table {
Sg => f1 ; Sg => f1 ;
@@ -32,10 +32,7 @@ oper mkN : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> N =
Pl => f12 Pl => f12
} }
} ; } ;
Voc = table { voc = f13 ;
Sg => f13 ;
Pl => f14
} ;
g = g g = g
} ; } ;