lower-case fields Voc,Pres,Past

This commit is contained in:
Krasimir Angelov
2026-04-28 11:20:11 +02:00
parent f497b4a63a
commit 09087c1944
4 changed files with 1340 additions and 1340 deletions

View File

@@ -19,7 +19,7 @@ lin
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))) ; tr (th "Voc" ++ td (x.voc ! Sg) ++ td (x.voc ! Pl))) ;
s3=[] s3=[]
} ; } ;
lin lin
@@ -30,12 +30,12 @@ lin
paragraph (x.infinitive) ++ paragraph (x.infinitive) ++
heading1 "Present" ++ heading1 "Present" ++
frameTable ( frameTable (
tr (intagAttr "th" "rowspan=\"6\"" "Pres" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P1 ! Sg)) ++ tr (intagAttr "th" "rowspan=\"6\"" "Pres" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td ((x.active ! Imperf).pres ! P1 ! Sg)) ++
tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P1 ! Pl)) ++ tr (th "Pl" ++ td ((x.active ! Imperf).pres ! P1 ! Pl)) ++
tr (intagAttr "th" "rowspan=\"2\"" "P2" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P2 ! Sg)) ++ tr (intagAttr "th" "rowspan=\"2\"" "P2" ++ th "Sg" ++ td ((x.active ! Imperf).pres ! P2 ! Sg)) ++
tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P2 ! Pl)) ++ tr (th "Pl" ++ td ((x.active ! Imperf).pres ! P2 ! Pl)) ++
tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P3 ! Sg)) ++ tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td ((x.active ! Imperf).pres ! P3 ! Sg)) ++
tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P3 ! Pl))) ++ tr (th "Pl" ++ td ((x.active ! Imperf).pres ! P3 ! Pl))) ++
heading1 "Imperative" ++ heading1 "Imperative" ++
paragraph (x.imperative1) ++ paragraph (x.imperative1) ++
frameTable ( frameTable (

File diff suppressed because it is too large Load Diff

View File

@@ -1151,12 +1151,12 @@ oper
compoundN = overload { compoundN = overload {
compoundN : A -> N -> N = \a,n -> { compoundN : A -> N -> N = \a,n -> {
s = \\c,num => a.s ! c ! genNum n.g num ++ n.s ! c ! num ; s = \\c,num => a.s ! c ! genNum n.g num ++ n.s ! c ! num ;
Voc = \\num => a.s ! Nom ! genNum n.g num ++ n.Voc ! num ; voc = \\num => a.s ! Nom ! genNum n.g num ++ n.voc ! num ;
g = n.g g = n.g
} ; } ;
compoundN : N -> Str -> N = \n,adv -> { compoundN : N -> Str -> N = \n,adv -> {
s = \\c,num => n.s ! c ! num ++ adv ; s = \\c,num => n.s ! c ! num ++ adv ;
Voc = \\num => n.Voc ! num ++ adv ; voc = \\num => n.voc ! num ++ adv ;
g = n.g g = n.g
} }
} ; } ;
@@ -1227,8 +1227,8 @@ oper
} ; } ;
compoundV : V -> Str -> V = \v,adv -> { compoundV : V -> Str -> V = \v,adv -> {
active = \\a => {Past=(v.active ! a).Past ++ adv ; active = \\a => {past=(v.active ! a).past ++ adv ;
Pres=\\p,num=>(v.active ! a).Pres ! p ! num ++ adv pres=\\p,num=>(v.active ! a).pres ! p ! num ++ adv
} ; } ;
imperative1 = v.imperative1 ++ adv ; imperative1 = v.imperative1 ++ adv ;
imperative2 = \\num => v.imperative2 ! num ++ adv ; imperative2 = \\num => v.imperative2 ! num ++ adv ;

View File

@@ -3,7 +3,7 @@ resource ResUkr = {
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 | Neuter | Fem ; param Gender = Masc | Neuter | Fem ;
oper N = {s: Case => Number => Str; Voc: Number => Str; g: Gender} ; -- 11407 oper N = {s: Case => Number => Str; voc: Number => Str; g: Gender} ; -- 11407
oper mkN : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> N = oper mkN : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> N =
\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,f14,g ->
{ s = table { { s = table {
@@ -32,7 +32,7 @@ oper mkN : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> N =
Pl => f12 Pl => f12
} }
} ; } ;
Voc = table { voc = table {
Sg => f13 ; Sg => f13 ;
Pl => f14 Pl => f14
} ; } ;
@@ -43,12 +43,12 @@ oper mkN : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> N =
param Aspect = Perf | Imperf ; param Aspect = Perf | Imperf ;
param Person = P1 | P2 | P3 ; param Person = P1 | P2 | P3 ;
param Tense = Past | Pres ; param Tense = Past | Pres ;
oper V = {active: Aspect => {Past: Str; Pres: Person => Number => Str}; imperative1: Str; imperative2: Number => Str; infinitive: Str; participle: Gender => Number => Str; passive: Aspect => Tense => Str} ; -- 4822 oper V = {active: Aspect => {past: Str; pres: Person => Number => Str}; imperative1: Str; imperative2: Number => Str; infinitive: Str; participle: Gender => Number => Str; passive: Aspect => Tense => Str} ; -- 4822
oper mkV : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> V = oper mkV : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> V =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28 -> \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28 ->
{ active = table { { active = table {
Imperf => { Past = f1 ; Imperf => { past = f1 ;
Pres = table { pres = table {
P1 => table { P1 => table {
Sg => f2 ; Sg => f2 ;
Pl => f3 Pl => f3
@@ -63,8 +63,8 @@ oper mkV : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> V
} }
} }
} ; } ;
Perf => { Past = f8 ; Perf => { past = f8 ;
Pres = table { pres = table {
P1 => table { P1 => table {
Sg => f9 ; Sg => f9 ;
Pl => f10 Pl => f10