extensions from Codex

This commit is contained in:
Krasimir Angelov committed 2026-09-21 18:13:07 +02:00
1 parent 1e6aa119fe
commit 9e2a83040a
23 files changed
+1837 -1115

No files matched your search

+13 -5
View File
@@ -23,7 +23,7 @@ oper
_ + "չալ" => mkV002 form;
_ + "նալ" => mkV004 form;
_ + "ել" => mkV001 form;
_ => error "Cannot find an inflection rule"
_ => lin V (invarVerb form)
} ;
reg2V : Str -> Str -> V -- s Imperative_Jussive;Pl
@@ -212,7 +212,7 @@ oper
_ + "ի" => mkN003 form;
_ + "ե" => mkN006 form;
_ + "է" => mkN006 form;
_ => error "Cannot find an inflection rule"
_ => mkN007 form
} ;
reg2N : Str -> Str -> N -- s;Nom;Sg s;Dat;Sg
@@ -313,7 +313,7 @@ oper
_ + "ղմ" => mkA005 form;
_ + "տք" => mkA005 form;
_ + "իղ" => mkA006 form;
_ + "նչ" => mkA008 form;
_ + "ունչ"=>mkA008 form;
_ + "ոխ" => mkA005 form;
_ + "ղխ" => mkA005 form;
_ + "ղթ" => mkA005 form;
@@ -368,7 +368,7 @@ oper
_ + "ի" => mkA002 form;
_ + "ա" => mkA004 form;
_ + "ո" => mkA004 form;
_ => error "Cannot find an inflection rule"
_ => mkA001 form
} ;
reg2A : Str -> Str -> A -- s;Nom;Sg s;Nom;Pl
@@ -440,6 +440,14 @@ oper
mkN : Str -> Str -> N = reg2N -- s;Nom;Sg s;Dat;Sg
} ;
compoundN : A -> N -> N = \a,n -> lin N {
s = \\c,num => a.s ! Nom ! Sg ++ n.s ! c ! num ;
def_dat = \\num => a.s ! Dat ! num ++ n.def_dat ! num ;
def_nom = \\num => a.s ! Nom ! Sg ++ n.def_nom ! num ;
poss1 = \\c,num => a.s ! Nom ! Sg ++ n.poss1 ! c ! num ;
poss2 = \\c,num => a.s ! Nom ! Sg ++ n.poss2 ! c ! num
} ;
mkN2 = overload {
mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = noPrep}) ;
mkN2 : N -> Prep -> N2 = \n,p -> lin N2 (n ** {c2 = p}) ;
@@ -493,7 +501,7 @@ oper
mkPron : Str -> Number -> Person -> Pron = \s,n,p ->
lin Pron {
s = s ;
s = \\_ => s ;
empty = [] ;
a = {n = n; p = p}
} ;