mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-10-30 02:33:17 -06:00
extensions by Codex
This commit is contained in:
1 parent
1cef16870e
commit
0c2471ad68
20 files changed
+658
-177
No files matched your search
@@ -21,7 +21,12 @@ lin
|
|||||||
|
|
||||||
PositAdAAdj a = a ;
|
PositAdAAdj a = a ;
|
||||||
|
|
||||||
SubjS subj s = {s = subj.s ++ s.s ! Sub Condl} ;
|
SubjS subj s = {
|
||||||
|
s = case subj.isPre of {
|
||||||
|
True => subj.s ++ s.s ! Sub Condl ;
|
||||||
|
False => s.s ! Sub Condl ++ subj.s
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
AdnCAdv cadv = {
|
AdnCAdv cadv = {
|
||||||
s = cadv.s ++ cadv.c2.s
|
s = cadv.s ++ cadv.c2.s
|
||||||
|
|||||||
@@ -61,8 +61,7 @@ lincat
|
|||||||
Det = {
|
Det = {
|
||||||
s : Str ;
|
s : Str ;
|
||||||
sp : RCase => Str ; -- substantival form
|
sp : RCase => Str ; -- substantival form
|
||||||
isNum : Bool ; -- true, if a numeral is present
|
n : Number ;
|
||||||
isPoss : Bool ; -- true, if a possessive is present
|
|
||||||
isDef : Bool ; -- when definite, is true
|
isDef : Bool ; -- when definite, is true
|
||||||
isPre : Bool
|
isPre : Bool
|
||||||
} ;
|
} ;
|
||||||
@@ -75,17 +74,17 @@ lincat
|
|||||||
Quant = {
|
Quant = {
|
||||||
s : Number => Str ;
|
s : Number => Str ;
|
||||||
sp : Number => NCase => Str ;
|
sp : Number => NCase => Str ;
|
||||||
isPoss : Bool ;
|
|
||||||
isDef : Bool
|
isDef : Bool
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Numeral
|
-- Numeral
|
||||||
|
|
||||||
Num = {s : Str ; sp : RCase => Str ; n : Number ; isNum : Bool} ;
|
Num, Card = {s : Str ; sp : RCase => Str ; n : Number} ;
|
||||||
Card = {s : Str ; sp : RCase => Str ; n : Number} ;
|
|
||||||
Numeral = {s : CardOrd => Str; n : Number} ;
|
Numeral = {s : CardOrd => Str; n : Number} ;
|
||||||
Digits = {s : CardOrd => Str ; n : Number} ;
|
Digits = {s : CardOrd => Str ; n : Number} ;
|
||||||
Decimal = {s : CardOrd => Str ; n : Number; hasDot : Bool} ;
|
Decimal = {s : CardOrd => Str ; n : Number; hasDot : Bool} ;
|
||||||
|
ACard = {s : Str} ;
|
||||||
|
DAP = {s : RCase => Str ; n : Number} ;
|
||||||
|
|
||||||
-- Structural
|
-- Structural
|
||||||
|
|
||||||
@@ -107,7 +106,7 @@ lincat
|
|||||||
N2 = Noun ** {c2 : Complement} ;
|
N2 = Noun ** {c2 : Complement} ;
|
||||||
N3 = Noun ** {c2,c3 : Complement} ;
|
N3 = Noun ** {c2,c3 : Complement} ;
|
||||||
PN = {s : RCase => Str} ;
|
PN = {s : RCase => Str} ;
|
||||||
LN,GN,SN = {s : Str} ;
|
LN,GN,SN = {s : RCase => Str} ;
|
||||||
|
|
||||||
Temp = {s : Str ; t : ClTense ; a : Anteriority} ;
|
Temp = {s : Str ; t : ClTense ; a : Anteriority} ;
|
||||||
Tense = {s : Str ; t : ClTense} ;
|
Tense = {s : Str ; t : ClTense} ;
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ lin
|
|||||||
n = conjNumber x.n y.n ;
|
n = conjNumber x.n y.n ;
|
||||||
p = conjPerson x.p y.p ;
|
p = conjPerson x.p y.p ;
|
||||||
isPron = andB x.isPron y.isPron ;
|
isPron = andB x.isPron y.isPron ;
|
||||||
isDef = andB x.isDef y.isDef
|
|
||||||
} ;
|
} ;
|
||||||
BaseAP = twoSS ;
|
BaseAP = twoSS ;
|
||||||
ConsAP = consrSS comma ;
|
ConsAP = consrSS comma ;
|
||||||
@@ -56,7 +55,7 @@ lincat
|
|||||||
[Adv],[AP],[IAdv] = {s1,s2 : Str} ;
|
[Adv],[AP],[IAdv] = {s1,s2 : Str} ;
|
||||||
[S] = {s1,s2 : SType => Str} ;
|
[S] = {s1,s2 : SType => Str} ;
|
||||||
[RS] = {s1,s2 : ComplType => Str ; existSubject : Bool} ;
|
[RS] = {s1,s2 : ComplType => Str ; existSubject : Bool} ;
|
||||||
[NP] = {s1,s2 : RCase => Str ; n : Number ; p : Person ; isPron : Bool ; isDef : Bool} ;
|
[NP] = {s1,s2 : RCase => Str ; n : Number ; p : Person ; isPron : Bool} ;
|
||||||
[CN] = {s1,s2 : Number => NCase => Str} ;
|
[CN] = {s1,s2 : Number => NCase => Str} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
concrete ConstructionMon of Construction = CatMon **
|
||||||
|
open Prelude, ResMon, ParadigmsMon in {
|
||||||
|
|
||||||
|
lincat Timeunit, Hour, Weekday, Month, Monthday, Year = {s : Str} ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
fixedN : Str -> N = \s -> lin N {s = \\_ => s} ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
ready_VP = insertObj (\\_ => "бэлэн") (predV (auxToVerb auxBe)) ;
|
||||||
|
has_age_VP card = insertObj (\\_ => card.s ++ "настай") (predV (auxToVerb auxBe)) ;
|
||||||
|
n_units_AP card cn ap = {s = card.s ++ cn.s ! Sg ! NNom ++ ap.s} ;
|
||||||
|
n_units_of_NP card cn np = np ** {
|
||||||
|
s = \\rc => card.s ++ cn.s ! Sg ! NNom ++ np.s ! rc
|
||||||
|
} ;
|
||||||
|
cup_of_CN np = {s = \\_,nc => "нэг аяга" ++ np.s ! toRCase nc Definite} ;
|
||||||
|
|
||||||
|
monday_Weekday = {s = "даваа"} ;
|
||||||
|
tuesday_Weekday = {s = "мягмар"} ;
|
||||||
|
wednesday_Weekday = {s = "лхагва"} ;
|
||||||
|
thursday_Weekday = {s = "пүрэв"} ;
|
||||||
|
friday_Weekday = {s = "баасан"} ;
|
||||||
|
saturday_Weekday = {s = "бямба"} ;
|
||||||
|
sunday_Weekday = {s = "ням"} ;
|
||||||
|
|
||||||
|
january_Month = {s = "нэгдүгээр сар"} ;
|
||||||
|
february_Month = {s = "хоёрдугаар сар"} ;
|
||||||
|
march_Month = {s = "гуравдугаар сар"} ;
|
||||||
|
april_Month = {s = "дөрөвдүгээр сар"} ;
|
||||||
|
may_Month = {s = "тавдугаар сар"} ;
|
||||||
|
june_Month = {s = "зургаадугаар сар"} ;
|
||||||
|
july_Month = {s = "долдугаар сар"} ;
|
||||||
|
august_Month = {s = "наймдугаар сар"} ;
|
||||||
|
september_Month = {s = "есдүгээр сар"} ;
|
||||||
|
october_Month = {s = "аравдугаар сар"} ;
|
||||||
|
november_Month = {s = "арван нэгдүгээр сар"} ;
|
||||||
|
december_Month = {s = "арван хоёрдугаар сар"} ;
|
||||||
|
|
||||||
|
weekdayPunctualAdv weekday = {s = weekday.s ++ "гарагт"} ;
|
||||||
|
weekdayHabitualAdv weekday = {s = "долоо бүрийн" ++ weekday.s ++ "гарагт"} ;
|
||||||
|
weekdayN weekday = fixedN (weekday.s ++ "гараг") ;
|
||||||
|
monthN month = fixedN month.s ;
|
||||||
|
intYear i = {s = i.s} ;
|
||||||
|
yearAdv year = {s = year.s ++ "онд"} ;
|
||||||
|
}
|
||||||
+36
-36
@@ -963,7 +963,7 @@ lin
|
|||||||
-- arangalah_V = mkV "арангалах" ;
|
-- arangalah_V = mkV "арангалах" ;
|
||||||
-- arangatah_V = mkV "арангатах" ;
|
-- arangatah_V = mkV "арангатах" ;
|
||||||
-- aranshin_N = mkN "араншин" ;
|
-- aranshin_N = mkN "араншин" ;
|
||||||
-- arav_Num = {s = "арван" ; sp = \\rc => (regN "арав") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- arav_Num = {s = "арван" ; sp = \\rc => (regN "арав") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; n = Pl} ;
|
||||||
-- aravganah_V = mkV "аравганах" ;
|
-- aravganah_V = mkV "аравганах" ;
|
||||||
-- aravgar_A = mkA "аравгар" ;
|
-- aravgar_A = mkA "аравгар" ;
|
||||||
-- aravnailah_V2 = mkV2 (mkV "аравнайлах") ;
|
-- aravnailah_V2 = mkV2 (mkV "аравнайлах") ;
|
||||||
@@ -3389,7 +3389,7 @@ lin
|
|||||||
-- bulzaarah_V2 = mkV2 (mkV "булзаарах") ;
|
-- bulzaarah_V2 = mkV2 (mkV "булзаарах") ;
|
||||||
-- bulzah_V = mkV "булзах" ;
|
-- bulzah_V = mkV "булзах" ;
|
||||||
-- bulzamhai_A = mkA "булзамхай" ;
|
-- bulzamhai_A = mkA "булзамхай" ;
|
||||||
-- bum_Num = {s = "буман" ; sp = \\rc => (regN "бум") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- bum_Num = {s = "буман" ; sp = \\rc => (regN "бум") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; n = Pl} ;
|
||||||
-- bumba_N = mkN "бумба" ;
|
-- bumba_N = mkN "бумба" ;
|
||||||
-- bumbadah_V2 = mkV2 (mkV "бумбадах") ;
|
-- bumbadah_V2 = mkV2 (mkV "бумбадах") ;
|
||||||
-- bumbaganah_V = mkV "бумбаганах" ;
|
-- bumbaganah_V = mkV "бумбаганах" ;
|
||||||
@@ -3679,7 +3679,7 @@ lin
|
|||||||
-- cadaarah_V = mkV "цадаарах" ;
|
-- cadaarah_V = mkV "цадаарах" ;
|
||||||
-- cadaarhah_V = mkV "цадаархах" ;
|
-- cadaarhah_V = mkV "цадаархах" ;
|
||||||
-- cadah_V = mkV "цадах" ;
|
-- cadah_V = mkV "цадах" ;
|
||||||
-- cadchin_Num = {s = "цадчин" ; sp = \\rc => (regN "цадчин") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- cadchin_Num = {s = "цадчин" ; sp = \\rc => (regN "цадчин") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- cadig_N = mkN "цадиг" ;
|
-- cadig_N = mkN "цадиг" ;
|
||||||
-- cadigguei_A = mkA "цадиггүй" ;
|
-- cadigguei_A = mkA "цадиггүй" ;
|
||||||
-- cadiggueirheh_V = mkV "цадиггүйрхэх" ;
|
-- cadiggueirheh_V = mkV "цадиггүйрхэх" ;
|
||||||
@@ -3721,7 +3721,7 @@ lin
|
|||||||
-- cagch_N = mkN "цагч" ;
|
-- cagch_N = mkN "цагч" ;
|
||||||
-- cagchai_N = mkN "цагцхай" ;
|
-- cagchai_N = mkN "цагцхай" ;
|
||||||
-- cagchait_A = mkA "цагцхайт" ;
|
-- cagchait_A = mkA "цагцхайт" ;
|
||||||
-- cagchig_Num = {s = "цагчиган" ; sp = \\rc => (regN "цагчиг") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- cagchig_Num = {s = "цагчиган" ; sp = \\rc => (regN "цагчиг") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- cagchin_N = mkN "цагчин" ;
|
-- cagchin_N = mkN "цагчин" ;
|
||||||
-- cagdaa_N = mkN "цагдаа" ;
|
-- cagdaa_N = mkN "цагдаа" ;
|
||||||
-- cagdaagiin_gazar_N = mk2N "цагдаагийн" (mkN "газар") ;
|
-- cagdaagiin_gazar_N = mk2N "цагдаагийн" (mkN "газар") ;
|
||||||
@@ -5935,7 +5935,7 @@ lin
|
|||||||
-- dodiih_V = mkV "додийх" ;
|
-- dodiih_V = mkV "додийх" ;
|
||||||
-- dodomdlogo_N = mkN "додомдлого" ;
|
-- dodomdlogo_N = mkN "додомдлого" ;
|
||||||
-- dodomdoh_V = mkV "додомдох" ;
|
-- dodomdoh_V = mkV "додомдох" ;
|
||||||
-- doech_Num = {s = "дөчин" ; sp = \\rc => (regN "дөч") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- doech_Num = {s = "дөчин" ; sp = \\rc => (regN "дөч") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- doehoeh_V2 = mkV2 (mkV "дөхөх") ;
|
-- doehoeh_V2 = mkV2 (mkV "дөхөх") ;
|
||||||
-- doehoem_A = mkA "дөхөм" ;
|
-- doehoem_A = mkA "дөхөм" ;
|
||||||
-- doehoemguei_A = mkA "дөхөмгүй" ;
|
-- doehoemguei_A = mkA "дөхөмгүй" ;
|
||||||
@@ -6000,9 +6000,9 @@ lin
|
|||||||
-- doeroeoeloeh_V = mkV "дөрөөлөх" ;
|
-- doeroeoeloeh_V = mkV "дөрөөлөх" ;
|
||||||
-- doeroeoevch_N = mkN "дөрөөвч" ;
|
-- doeroeoevch_N = mkN "дөрөөвч" ;
|
||||||
-- doeroeoevchloeh_V = mkV "дөрөөвчлөх" ;
|
-- doeroeoevchloeh_V = mkV "дөрөөвчлөх" ;
|
||||||
-- doeroev_Num = {s = "дөрвөн" ; sp = \\rc => (regN "дөрөв") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- doeroev_Num = {s = "дөрвөн" ; sp = \\rc => (regN "дөрөв") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- doeroevch_N = mkN "дөрөвч" ;
|
-- doeroevch_N = mkN "дөрөвч" ;
|
||||||
-- doeroevloeoes_Num = {s = "дөрөвлөөсөн" ; sp = \\rc => (regN "дөрөвлөөс") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- doeroevloeoes_Num = {s = "дөрөвлөөсөн" ; sp = \\rc => (regN "дөрөвлөөс") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- doersgoenoeh_V = mkV "дөрсгөнөх" ;
|
-- doersgoenoeh_V = mkV "дөрсгөнөх" ;
|
||||||
-- doersgoer_A = mkA "дөрсгөр" ;
|
-- doersgoer_A = mkA "дөрсгөр" ;
|
||||||
-- doersiih_V = mkV "дөрсийх" ;
|
-- doersiih_V = mkV "дөрсийх" ;
|
||||||
@@ -6117,7 +6117,7 @@ lin
|
|||||||
-- dollogo_N = mkN "доллого" ;
|
-- dollogo_N = mkN "доллого" ;
|
||||||
-- dololgoh_V = mkV "дололгох" ;
|
-- dololgoh_V = mkV "дололгох" ;
|
||||||
-- dolono_N = mkN "долоно" ;
|
-- dolono_N = mkN "долоно" ;
|
||||||
-- doloo_Num = {s = "долоон" ; sp = \\rc => (regN "долоо") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- doloo_Num = {s = "долоон" ; sp = \\rc => (regN "долоо") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- doloo_honog_N = mk2N "хан" (mkN "боргоцой") ;
|
-- doloo_honog_N = mk2N "хан" (mkN "боргоцой") ;
|
||||||
-- doloodos_N = mkN "долоодос" ;
|
-- doloodos_N = mkN "долоодос" ;
|
||||||
-- doloogono_N = mkN "долоогоно" ;
|
-- doloogono_N = mkN "долоогоно" ;
|
||||||
@@ -6351,7 +6351,7 @@ lin
|
|||||||
-- duen_N = mkN "дүн" ;
|
-- duen_N = mkN "дүн" ;
|
||||||
-- duenbe_N = mkN "дүнбэ" ;
|
-- duenbe_N = mkN "дүнбэ" ;
|
||||||
-- duenbeteh_V = mkV "дүнбэтэх" ;
|
-- duenbeteh_V = mkV "дүнбэтэх" ;
|
||||||
-- duenchueuer_Num = {s = "дүнчүүрэн" ; sp = \\rc => (regN "дүнчүүр") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- duenchueuer_Num = {s = "дүнчүүрэн" ; sp = \\rc => (regN "дүнчүүр") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- duengeneh_V = mkV "дүнгэнэх" ;
|
-- duengeneh_V = mkV "дүнгэнэх" ;
|
||||||
-- duenger_N = mkN "дүнгэр" ;
|
-- duenger_N = mkN "дүнгэр" ;
|
||||||
-- duenguei_A = mkA "дүнгүй" ;
|
-- duenguei_A = mkA "дүнгүй" ;
|
||||||
@@ -6360,7 +6360,7 @@ lin
|
|||||||
-- duensger_A = mkA "дүнсгэр" ;
|
-- duensger_A = mkA "дүнсгэр" ;
|
||||||
-- duensgerdueue_A = mkA "дүнсгэрдүү" ;
|
-- duensgerdueue_A = mkA "дүнсгэрдүү" ;
|
||||||
-- duensgerhen_A = mkA "дүнсгэрхэн" ;
|
-- duensgerhen_A = mkA "дүнсгэрхэн" ;
|
||||||
-- duenshueuer_Num = {s = "дүншүүрэн" ; sp = \\rc => (regN "дүншүүр") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- duenshueuer_Num = {s = "дүншүүрэн" ; sp = \\rc => (regN "дүншүүр") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- duensiih_V = mkV "дүнсийх" ;
|
-- duensiih_V = mkV "дүнсийх" ;
|
||||||
-- duentei_A = mkA "дүнтэй" ;
|
-- duentei_A = mkA "дүнтэй" ;
|
||||||
-- duenz_N = mkN "дүнз" ;
|
-- duenz_N = mkN "дүнз" ;
|
||||||
@@ -8099,7 +8099,7 @@ lin
|
|||||||
-- gol_N = mkN "гол" ;
|
-- gol_N = mkN "гол" ;
|
||||||
-- golch_A = mkA "голч" ;
|
-- golch_A = mkA "голч" ;
|
||||||
-- golchloh_V = mkV "голчлох" ;
|
-- golchloh_V = mkV "голчлох" ;
|
||||||
-- gold'_Num = {s = "голдин" ; sp = \\rc => (regN "голдь") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- gold'_Num = {s = "голдин" ; sp = \\rc => (regN "голдь") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- goldoh_V = mkV "голдох" ;
|
-- goldoh_V = mkV "голдох" ;
|
||||||
-- gol'f_N = mkLN "гольф" ;
|
-- gol'f_N = mkLN "гольф" ;
|
||||||
-- goligonoh_V = mkV "голигонох" ;
|
-- goligonoh_V = mkV "голигонох" ;
|
||||||
@@ -8262,7 +8262,7 @@ lin
|
|||||||
-- guash_N = mkLN "гуаш" ;
|
-- guash_N = mkLN "гуаш" ;
|
||||||
-- gucah_V = mkV "гуцах" ;
|
-- gucah_V = mkV "гуцах" ;
|
||||||
-- guch_N = mkN "гуч" ;
|
-- guch_N = mkN "гуч" ;
|
||||||
-- guch_Num = {s = "гучин" ; sp = \\rc => (regN "гуч") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- guch_Num = {s = "гучин" ; sp = \\rc => (regN "гуч") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- guchincar_N = mkN "гучинцар" ;
|
-- guchincar_N = mkN "гучинцар" ;
|
||||||
-- gucuu_A = mkA "гуцуу" ;
|
-- gucuu_A = mkA "гуцуу" ;
|
||||||
-- gudaih_V2 = mkV2 (mkV "гудайх") ;
|
-- gudaih_V2 = mkV2 (mkV "гудайх") ;
|
||||||
@@ -8528,7 +8528,7 @@ lin
|
|||||||
-- guranhtah_V = mkV "гуранхтах" ;
|
-- guranhtah_V = mkV "гуранхтах" ;
|
||||||
-- guranz_N = mkN "гуранз" ;
|
-- guranz_N = mkN "гуранз" ;
|
||||||
-- guranzdah_V = mkV "гуранздах" ;
|
-- guranzdah_V = mkV "гуранздах" ;
|
||||||
-- gurav_Num = {s = "гурван" ; sp = \\rc => (regN "гурав") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- gurav_Num = {s = "гурван" ; sp = \\rc => (regN "гурав") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- guravch_N = mkN "гуравч" ;
|
-- guravch_N = mkN "гуравч" ;
|
||||||
-- gurgaldai_N = mkN "гургалдай" ;
|
-- gurgaldai_N = mkN "гургалдай" ;
|
||||||
-- gurgar_A = mkA "гургар" ;
|
-- gurgar_A = mkA "гургар" ;
|
||||||
@@ -10913,7 +10913,7 @@ lin
|
|||||||
-- hoovolzoh_V = mkV "хооволзох" ;
|
-- hoovolzoh_V = mkV "хооволзох" ;
|
||||||
-- hoovon_N = mkN "хоовон" ;
|
-- hoovon_N = mkN "хоовон" ;
|
||||||
-- hor_N = mkN "хор" ;
|
-- hor_N = mkN "хор" ;
|
||||||
-- hor'_Num = {s = "хорин" ; sp = \\rc => (regN "хорь") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- hor'_Num = {s = "хорин" ; sp = \\rc => (regN "хорь") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- horchgir_A = mkA "хорчгир" ;
|
-- horchgir_A = mkA "хорчгир" ;
|
||||||
-- horchgonoh_V = mkV "хорчгонох" ;
|
-- horchgonoh_V = mkV "хорчгонох" ;
|
||||||
-- horchgor_A = mkA "хорчгор" ;
|
-- horchgor_A = mkA "хорчгор" ;
|
||||||
@@ -11112,7 +11112,7 @@ lin
|
|||||||
-- hovsorgon_A = mkA "ховсоргон" ;
|
-- hovsorgon_A = mkA "ховсоргон" ;
|
||||||
-- hovsroh_V = mkV "ховсрох" ;
|
-- hovsroh_V = mkV "ховсрох" ;
|
||||||
-- hovsrooch_N = mkN "ховсрооч" ;
|
-- hovsrooch_N = mkN "ховсрооч" ;
|
||||||
-- hoyor_Num = {s = "хоёр" ; sp = \\rc => (regN "хоёр") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- hoyor_Num = {s = "хоёр" ; sp = \\rc => (regN "хоёр") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- hoyordmol_A = mkA "хоёрдмол" ;
|
-- hoyordmol_A = mkA "хоёрдмол" ;
|
||||||
-- hoyorloh_V = mkV "хоёрлох" ;
|
-- hoyorloh_V = mkV "хоёрлох" ;
|
||||||
-- hoyorlohguei_A = mkA "хоёрлохгүй" ;
|
-- hoyorlohguei_A = mkA "хоёрлохгүй" ;
|
||||||
@@ -12246,7 +12246,7 @@ lin
|
|||||||
-- ingeehen_A = mkA "ингээхэн" ;
|
-- ingeehen_A = mkA "ингээхэн" ;
|
||||||
-- ingeen_A = mkA "ингээн" ;
|
-- ingeen_A = mkA "ингээн" ;
|
||||||
-- ingeh_V = mkV "ингэх" ;
|
-- ingeh_V = mkV "ингэх" ;
|
||||||
-- ingemel_Num = {s = "ингэмэлэн" ; sp = \\rc => (regN "ингэмэл") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- ingemel_Num = {s = "ингэмэлэн" ; sp = \\rc => (regN "ингэмэл") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- ingueuehen_N = mkN "ингүүхэн" ;
|
-- ingueuehen_N = mkN "ингүүхэн" ;
|
||||||
-- ingueuemel_N = mkN "ингүүмэл" ;
|
-- ingueuemel_N = mkN "ингүүмэл" ;
|
||||||
-- inj_N = mkN "инж" ;
|
-- inj_N = mkN "инж" ;
|
||||||
@@ -12299,7 +12299,7 @@ lin
|
|||||||
-- irmegleh_V = mkV "ирмэглэх" ;
|
-- irmegleh_V = mkV "ирмэглэх" ;
|
||||||
-- irmegueuen_A = mkA "ирмэгүүн" ;
|
-- irmegueuen_A = mkA "ирмэгүүн" ;
|
||||||
-- irmeh_V = mkV "ирмэх" ;
|
-- irmeh_V = mkV "ирмэх" ;
|
||||||
-- irmel_Num = {s = "ирмэлэн" ; sp = \\rc => (regN "ирмэл") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- irmel_Num = {s = "ирмэлэн" ; sp = \\rc => (regN "ирмэл") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- irmelhiileh_V = mkV "ирмэлхийлэх" ;
|
-- irmelhiileh_V = mkV "ирмэлхийлэх" ;
|
||||||
-- irmueuedeh_V = mkV "ирмүүдэх" ;
|
-- irmueuedeh_V = mkV "ирмүүдэх" ;
|
||||||
-- irmueueleh_V = mkV "ирмүүлэх" ;
|
-- irmueueleh_V = mkV "ирмүүлэх" ;
|
||||||
@@ -12445,7 +12445,7 @@ lin
|
|||||||
-- Janraisig_PN = mkPN "Жанрайсиг" ;
|
-- Janraisig_PN = mkPN "Жанрайсиг" ;
|
||||||
-- janz_N = mkN "жанз" ;
|
-- janz_N = mkN "жанз" ;
|
||||||
-- janzii_N = mkN "жанзий" ;
|
-- janzii_N = mkN "жанзий" ;
|
||||||
-- jar_Num = {s = "жаран" ; sp = \\rc => (regN "жар") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- jar_Num = {s = "жаран" ; sp = \\rc => (regN "жар") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- jaraahai_N = mkN "жараахай" ;
|
-- jaraahai_N = mkN "жараахай" ;
|
||||||
-- jaran_N = mkN "жаран" ;
|
-- jaran_N = mkN "жаран" ;
|
||||||
-- jaravganah_V = mkV "жаравганах" ;
|
-- jaravganah_V = mkV "жаравганах" ;
|
||||||
@@ -13000,7 +13000,7 @@ lin
|
|||||||
-- laglagar_A = mkA "лаглагар" ;
|
-- laglagar_A = mkA "лаглагар" ;
|
||||||
-- laglaih_V = mkV "лаглайх" ;
|
-- laglaih_V = mkV "лаглайх" ;
|
||||||
-- lags_A = mkA "лагс" ;
|
-- lags_A = mkA "лагс" ;
|
||||||
-- lagshaa_Num = {s = "лагшаан" ; sp = \\rc => (regN "лагшаа") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- lagshaa_Num = {s = "лагшаан" ; sp = \\rc => (regN "лагшаа") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- lagshih_V = mkV "лагших" ;
|
-- lagshih_V = mkV "лагших" ;
|
||||||
-- lagshim_A = mkA "лагшим" ;
|
-- lagshim_A = mkA "лагшим" ;
|
||||||
-- lagshin_N = mkN "лагшин" ;
|
-- lagshin_N = mkN "лагшин" ;
|
||||||
@@ -14023,7 +14023,7 @@ lin
|
|||||||
-- movgo_N = mkN "мовго" ;
|
-- movgo_N = mkN "мовго" ;
|
||||||
-- movor_N = mkN "мовор" ;
|
-- movor_N = mkN "мовор" ;
|
||||||
-- mueglen_N = mkN "мүглэн" ;
|
-- mueglen_N = mkN "мүглэн" ;
|
||||||
-- mueue_Num = {s = "мүүн" ; sp = \\rc => (regN "мүү") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- mueue_Num = {s = "мүүн" ; sp = \\rc => (regN "мүү") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- mugjgar_A = mkA "мугжгар" ;
|
-- mugjgar_A = mkA "мугжгар" ;
|
||||||
-- mugjiih_V = mkV "мугжийх" ;
|
-- mugjiih_V = mkV "мугжийх" ;
|
||||||
-- muguid_A = mkA "мугуйд" ;
|
-- muguid_A = mkA "мугуйд" ;
|
||||||
@@ -14162,7 +14162,7 @@ lin
|
|||||||
-- myandag_N = mkN "мяндаг" ;
|
-- myandag_N = mkN "мяндаг" ;
|
||||||
-- myandas_N = mkN "мяндас" ;
|
-- myandas_N = mkN "мяндас" ;
|
||||||
-- myandsan_A = mkA "мяндсан" ;
|
-- myandsan_A = mkA "мяндсан" ;
|
||||||
-- myanga_Num = {s = "мянган" ; sp = \\rc => (regN "мянга") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- myanga_Num = {s = "мянган" ; sp = \\rc => (regN "мянга") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- myangad_N = mkN "мянгад" ;
|
-- myangad_N = mkN "мянгад" ;
|
||||||
-- myangat_A = mkA "мянгат" ;
|
-- myangat_A = mkA "мянгат" ;
|
||||||
-- M'yanmar_PN = mkPN "Мьянмар" ;
|
-- M'yanmar_PN = mkPN "Мьянмар" ;
|
||||||
@@ -14295,7 +14295,7 @@ lin
|
|||||||
-- nailanhaitah_V = mkV "найланхайтах" ;
|
-- nailanhaitah_V = mkV "найланхайтах" ;
|
||||||
-- nailzuur_N = mkN "найлзуур" ;
|
-- nailzuur_N = mkN "найлзуур" ;
|
||||||
-- nailzuurhai_N = mkN "найлзуурхай" ;
|
-- nailzuurhai_N = mkN "найлзуурхай" ;
|
||||||
-- naim_Num = {s = "найман" ; sp = \\rc => (regN "найм") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- naim_Num = {s = "найман" ; sp = \\rc => (regN "найм") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- naimaa_N = mkN "наймаа" ;
|
-- naimaa_N = mkN "наймаа" ;
|
||||||
-- naimaachin_N = mkN "наймаачин" ;
|
-- naimaachin_N = mkN "наймаачин" ;
|
||||||
-- naimaalah_V3 = mkV3 (mkV "наймаалах") ;
|
-- naimaalah_V3 = mkV3 (mkV "наймаалах") ;
|
||||||
@@ -14561,7 +14561,7 @@ lin
|
|||||||
-- navtgardah_V = mkV "навтгардах" ;
|
-- navtgardah_V = mkV "навтгардах" ;
|
||||||
-- navtrag_N = mkN "навтраг" ;
|
-- navtrag_N = mkN "навтраг" ;
|
||||||
-- navtrah_V = mkV "навтрах" ;
|
-- navtrah_V = mkV "навтрах" ;
|
||||||
-- naya_Num = {s = "наян" ; sp = \\rc => (regN "ная") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- naya_Num = {s = "наян" ; sp = \\rc => (regN "ная") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- nayad_N = mkN "наяд" ;
|
-- nayad_N = mkN "наяд" ;
|
||||||
-- nazgai_A = mkA "назгай" ;
|
-- nazgai_A = mkA "назгай" ;
|
||||||
-- nazgaidah_V = mkV "назгайдах" ;
|
-- nazgaidah_V = mkV "назгайдах" ;
|
||||||
@@ -14573,7 +14573,7 @@ lin
|
|||||||
-- neelgii_N = mkN "нээлгий" ;
|
-- neelgii_N = mkN "нээлгий" ;
|
||||||
-- neelhii_N = mkN "нээлхий" ;
|
-- neelhii_N = mkN "нээлхий" ;
|
||||||
-- neelt_N = mkN "нээлт" ;
|
-- neelt_N = mkN "нээлт" ;
|
||||||
-- neg_Num = {s = "ганц" ; sp = \\rc => (regN "нэг") .s ! SF Sg (toNCase rc Definite) ; n = Sg ; isNum = True} ;
|
-- neg_Num = {s = "ганц" ; sp = \\rc => (regN "нэг") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- negdeh_V = mkV "нэгдэх" ;
|
-- negdeh_V = mkV "нэгдэх" ;
|
||||||
-- negdel_N = mkN "нэгдэл" ;
|
-- negdel_N = mkN "нэгдэл" ;
|
||||||
-- negdeljih_V = mkV "нэгдэлжих" ;
|
-- negdeljih_V = mkV "нэгдэлжих" ;
|
||||||
@@ -16153,7 +16153,7 @@ lin
|
|||||||
-- onol_N = mkN "онол" ;
|
-- onol_N = mkN "онол" ;
|
||||||
-- onolch_N = mkN "онолч" ;
|
-- onolch_N = mkN "онолч" ;
|
||||||
-- onoldoh_V = mkV "онолдох" ;
|
-- onoldoh_V = mkV "онолдох" ;
|
||||||
-- onon_Num = {s = "оннон" ; sp = \\rc => (regN "онон") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- onon_Num = {s = "оннон" ; sp = \\rc => (regN "онон") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- onondoi_N = mkN "онондой" ;
|
-- onondoi_N = mkN "онондой" ;
|
||||||
-- onoo_N = mkN "оноо" ;
|
-- onoo_N = mkN "оноо" ;
|
||||||
-- onooch_N = mkN "онооч" ;
|
-- onooch_N = mkN "онооч" ;
|
||||||
@@ -16653,7 +16653,7 @@ lin
|
|||||||
-- rashaan_N = mkN "рашаан" ;
|
-- rashaan_N = mkN "рашаан" ;
|
||||||
-- Rashaant_PN = mkPN "Рашаант" ;
|
-- Rashaant_PN = mkPN "Рашаант" ;
|
||||||
-- rashaantah_V = mkV "рашаантах" ;
|
-- rashaantah_V = mkV "рашаантах" ;
|
||||||
-- ravjim_Num = {s = "равжиман" ; sp = \\rc => (regN "равжим") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- ravjim_Num = {s = "равжиман" ; sp = \\rc => (regN "равжим") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- rialgan_A = mkA "риалган" ;
|
-- rialgan_A = mkA "риалган" ;
|
||||||
-- rid_N = mkN "рид" ;
|
-- rid_N = mkN "рид" ;
|
||||||
-- Rivaadi_PN = mkPN "Риваади" ;
|
-- Rivaadi_PN = mkPN "Риваади" ;
|
||||||
@@ -17175,7 +17175,7 @@ lin
|
|||||||
-- savslagalah_V = mkV "савслагалах" ;
|
-- savslagalah_V = mkV "савслагалах" ;
|
||||||
-- savslah_V = mkV "савслах" ;
|
-- savslah_V = mkV "савслах" ;
|
||||||
-- savtarhai_A = mkA "савтархай" ;
|
-- savtarhai_A = mkA "савтархай" ;
|
||||||
-- saya_Num = {s = "сая" ; sp = \\rc => (regN "сая") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- saya_Num = {s = "сая" ; sp = \\rc => (regN "сая") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- sayatan_N = mkN "саятан" ;
|
-- sayatan_N = mkN "саятан" ;
|
||||||
-- saz_N = mkN "саз" ;
|
-- saz_N = mkN "саз" ;
|
||||||
-- sazdah_V = mkV "саздах" ;
|
-- sazdah_V = mkV "саздах" ;
|
||||||
@@ -19696,8 +19696,8 @@ lin
|
|||||||
-- tatvalzuur_A = mkA "татвалзуур" ;
|
-- tatvalzuur_A = mkA "татвалзуур" ;
|
||||||
-- tatvar_N = mkN "татвар" ;
|
-- tatvar_N = mkN "татвар" ;
|
||||||
-- tatvarlah_V2 = mkV2 (mkV "татварлах") ;
|
-- tatvarlah_V2 = mkV2 (mkV "татварлах") ;
|
||||||
-- tav_Num = {s = "таван" ; sp = \\rc => (regN "тав") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- tav_Num = {s = "таван" ; sp = \\rc => (regN "тав") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- tav'_Num = {s = "тавин" ; sp = \\rc => (regN "тавь") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- tav'_Num = {s = "тавин" ; sp = \\rc => (regN "тавь") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- tavaar_N = mkN "таваар" ;
|
-- tavaar_N = mkN "таваар" ;
|
||||||
-- tavag_N = mkN "таваг" ;
|
-- tavag_N = mkN "таваг" ;
|
||||||
-- tavaglah_V = mkV "таваглах" ;
|
-- tavaglah_V = mkV "таваглах" ;
|
||||||
@@ -19780,7 +19780,7 @@ lin
|
|||||||
-- teeverlegch_N = mkN "тээвэрлэгч" ;
|
-- teeverlegch_N = mkN "тээвэрлэгч" ;
|
||||||
-- teeverleh_V2 = mkV2 (mkV "тээвэрлэх") ;
|
-- teeverleh_V2 = mkV2 (mkV "тээвэрлэх") ;
|
||||||
-- teeverlelt_N = mkN "тээвэрлэлт" ;
|
-- teeverlelt_N = mkN "тээвэрлэлт" ;
|
||||||
-- teg_Num = {s = "тэг" ; sp = \\rc => (regN "тэг") .s ! SF Sg (toNCase rc Definite) ; n = Sg ; isNum = True} ;
|
-- teg_Num = {s = "тэг" ; sp = \\rc => (regN "тэг") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- tegdegneh_V = mkV "тэгдэгнэх" ;
|
-- tegdegneh_V = mkV "тэгдэгнэх" ;
|
||||||
-- tegdelzeh_V = mkV "тэгдэлзэх" ;
|
-- tegdelzeh_V = mkV "тэгдэлзэх" ;
|
||||||
-- tegdger_A = mkA "тэгдгэр" ;
|
-- tegdger_A = mkA "тэгдгэр" ;
|
||||||
@@ -19928,7 +19928,7 @@ lin
|
|||||||
-- tenueuelchin_N = mkN "тэнүүлчин" ;
|
-- tenueuelchin_N = mkN "тэнүүлчин" ;
|
||||||
-- tenueuen_A = mkA "тэнүүн" ;
|
-- tenueuen_A = mkA "тэнүүн" ;
|
||||||
-- ter_Pron = mkPron "тэр" "түүний" "түүнд" "түүнийг" "түүнээс" "түүгээр" "түүнтэй" "түүн рүү" Sg P3 ;
|
-- ter_Pron = mkPron "тэр" "түүний" "түүнд" "түүнийг" "түүнээс" "түүгээр" "түүнтэй" "түүн рүү" Sg P3 ;
|
||||||
-- terbum_Num = {s = "тэрбуман" ; sp = \\rc => (regN "тэрбум") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
-- terbum_Num = {s = "тэрбуман" ; sp = \\rc => (regN "тэрбум") .s ! SF Sg (toNCase rc Definite) ; n = Pl} ;
|
||||||
-- terbumtan_N = mkN "тэрбумтан" ;
|
-- terbumtan_N = mkN "тэрбумтан" ;
|
||||||
-- tereg_N = mkN "тэрэг" ;
|
-- tereg_N = mkN "тэрэг" ;
|
||||||
-- teregch_N = mkN "тэрэгч" ;
|
-- teregch_N = mkN "тэрэгч" ;
|
||||||
@@ -20735,7 +20735,7 @@ tuelhleh_V = mkV "түлхлэх" ;
|
|||||||
tuelhueue_A = mkA "түлхүү" ;
|
tuelhueue_A = mkA "түлхүү" ;
|
||||||
tuelhueuer_N = mkN "түлхүүр" ;
|
tuelhueuer_N = mkN "түлхүүр" ;
|
||||||
tuelsh_N = mkN "түлш" ;
|
tuelsh_N = mkN "түлш" ;
|
||||||
tuem_Num = {s = "түмэн" ; sp = \\rc => (regN "түм") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
tuem_Num = {s = "түмэн" ; sp = \\rc => (regN "түм") .s ! SF Sg (toNCase rc Definite) ; n = Sg} ;
|
||||||
tuembeger_A = mkA "түмбэгэр" ;
|
tuembeger_A = mkA "түмбэгэр" ;
|
||||||
tuembegneh_V = mkV "түмбэгнэх" ;
|
tuembegneh_V = mkV "түмбэгнэх" ;
|
||||||
tuembelzeh_V = mkV "түмбэлзэх" ;
|
tuembelzeh_V = mkV "түмбэлзэх" ;
|
||||||
@@ -22776,7 +22776,7 @@ yenhiih_V = mkV "енхийх" ;
|
|||||||
yenhoegnoeh_V = mkV "енхөгнөх" ;
|
yenhoegnoeh_V = mkV "енхөгнөх" ;
|
||||||
yenhoelzoeh_V = mkV "енхөлзөх" ;
|
yenhoelzoeh_V = mkV "енхөлзөх" ;
|
||||||
yenhoer_A = mkA "енхөр" ;
|
yenhoer_A = mkA "енхөр" ;
|
||||||
yer_Num = {s = "ерэн" ; sp = \\rc => (regN "ер") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
yer_Num = {s = "ерэн" ; sp = \\rc => (regN "ер") .s ! SF Sg (toNCase rc Definite) ; n = Sg} ;
|
||||||
yer_busyn_A = mkA "ер бусын" ;
|
yer_busyn_A = mkA "ер бусын" ;
|
||||||
yerdiin_A = mkA "ердийн" ;
|
yerdiin_A = mkA "ердийн" ;
|
||||||
yergoeh_V = mkV "ергөх" ;
|
yergoeh_V = mkV "ергөх" ;
|
||||||
@@ -22795,7 +22795,7 @@ yeroeoelch_N = mkN "ерөөлч" ;
|
|||||||
yeroeoelt_A = mkA "ерөөлт" ;
|
yeroeoelt_A = mkA "ерөөлт" ;
|
||||||
yeroeoer_N = mkN "ерөөр" ;
|
yeroeoer_N = mkN "ерөөр" ;
|
||||||
yertoenc_N = mkN "ертөнц" ;
|
yertoenc_N = mkN "ертөнц" ;
|
||||||
yes_Num = {s = "есөн" ; sp = \\rc => (regN "ес") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
yes_Num = {s = "есөн" ; sp = \\rc => (regN "ес") .s ! SF Sg (toNCase rc Definite) ; n = Sg} ;
|
||||||
yesloeh_V = mkV "еслөх" ;
|
yesloeh_V = mkV "еслөх" ;
|
||||||
yesoegchin_N = mkN "есөгчин" ;
|
yesoegchin_N = mkN "есөгчин" ;
|
||||||
yest_A = mkA "ест" ;
|
yest_A = mkA "ест" ;
|
||||||
@@ -24071,7 +24071,7 @@ zutah_V = mkV "зутах" ;
|
|||||||
zutan_N = mkN "зутан" ;
|
zutan_N = mkN "зутан" ;
|
||||||
zutrah_V = mkV "зутрах" ;
|
zutrah_V = mkV "зутрах" ;
|
||||||
zutruu_A = mkA "зутруу" ;
|
zutruu_A = mkA "зутруу" ;
|
||||||
zuu_Num = {s = "зуун" ; sp = \\rc => (regN "зуу") .s ! SF Sg (toNCase rc Definite) ; n = Pl ; isNum = True} ;
|
zuu_Num = {s = "зуун" ; sp = \\rc => (regN "зуу") .s ! SF Sg (toNCase rc Definite) ; n = Sg} ;
|
||||||
zuuch_N = mkN "зууч" ;
|
zuuch_N = mkN "зууч" ;
|
||||||
zuuchlagch_N = mkN "зуучлагч" ;
|
zuuchlagch_N = mkN "зуучлагч" ;
|
||||||
zuuchlah_V3 = mkV3 (mkV "зуучлах") ;
|
zuuchlah_V3 = mkV3 (mkV "зуучлах") ;
|
||||||
@@ -24136,4 +24136,4 @@ zuzaatgah_V = mkV "зузаатгах" ;
|
|||||||
zuzaih_V = mkV "зузайх" ;
|
zuzaih_V = mkV "зузайх" ;
|
||||||
zuzgar_A = mkA "зузгар" ;
|
zuzgar_A = mkA "зузгар" ;
|
||||||
zyenit_N = mkLN "зенит" ;
|
zyenit_N = mkLN "зенит" ;
|
||||||
} ;
|
} ;
|
||||||
@@ -4,6 +4,8 @@ concrete DocumentationMon of Documentation = CatMon ** open
|
|||||||
Prelude,
|
Prelude,
|
||||||
HTML in {
|
HTML in {
|
||||||
|
|
||||||
|
flags optimize=noexpand ; coding=utf8 ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Inflection = {t : Str; s1,s2,s3 : Str} ;
|
Inflection = {t : Str; s1,s2,s3 : Str} ;
|
||||||
Definition = {s : Str} ;
|
Definition = {s : Str} ;
|
||||||
@@ -30,18 +32,14 @@ lin InflectionN, InflectionN2, InflectionN3 = \x -> {
|
|||||||
lin InflectionPN = \pn -> {
|
lin InflectionPN = \pn -> {
|
||||||
t="pn" ;
|
t="pn" ;
|
||||||
s1=heading1 "Proper Name" ;
|
s1=heading1 "Proper Name" ;
|
||||||
s2=frameTable (
|
s2=nameTable pn.s ;
|
||||||
tr (th "Nom" ++ td (pn.s ! Nom)) ++
|
|
||||||
tr (th "Acc" ++ td (pn.s ! Acc)) ++
|
|
||||||
tr (th "Dat" ++ td (pn.s ! Dat)) ++
|
|
||||||
tr (th "Gen" ++ td (pn.s ! Gen)) ++
|
|
||||||
tr (th "Abl" ++ td (pn.s ! Abl)) ++
|
|
||||||
tr (th "Inst" ++td (pn.s ! Inst)) ++
|
|
||||||
tr (th "Com" ++ td (pn.s ! Com)) ++
|
|
||||||
tr (th "Dir" ++ td (pn.s ! Dir))) ;
|
|
||||||
s3=[]
|
s3=[]
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
lin InflectionLN = \name -> nameInflection "ln" "Location Name" name ;
|
||||||
|
lin InflectionGN = \name -> nameInflection "gn" "Given Name" name ;
|
||||||
|
lin InflectionSN = \name -> nameInflection "sn" "Family Name" name ;
|
||||||
|
|
||||||
lin InflectionA, InflectionA2 = \adj -> {
|
lin InflectionA, InflectionA2 = \adj -> {
|
||||||
t="a" ;
|
t="a" ;
|
||||||
s1=heading1 "Adjective" ;
|
s1=heading1 "Adjective" ;
|
||||||
@@ -58,7 +56,7 @@ lin InflectionAdv, InflectionAdV, InflectionAdA, InflectionAdN = \adv -> {
|
|||||||
|
|
||||||
lin InflectionPrep = \prep -> {
|
lin InflectionPrep = \prep -> {
|
||||||
t = "prep" ;
|
t = "prep" ;
|
||||||
s1= heading1 "Preposition" ;
|
s1= heading1 "Postposition" ;
|
||||||
s2= paragraph (prep.s ++
|
s2= paragraph (prep.s ++
|
||||||
case prep.rc of {
|
case prep.rc of {
|
||||||
Nom => "nominative" ;
|
Nom => "nominative" ;
|
||||||
@@ -67,12 +65,51 @@ lin InflectionPrep = \prep -> {
|
|||||||
Gen => "genitive" ;
|
Gen => "genitive" ;
|
||||||
Abl => "ablative" ;
|
Abl => "ablative" ;
|
||||||
Inst=> "instrumental" ;
|
Inst=> "instrumental" ;
|
||||||
Com => "commitative" ;
|
Com => "comitative" ;
|
||||||
Dir => "directional"
|
Dir => "directional"
|
||||||
}) ;
|
}) ;
|
||||||
s3= ""
|
s3= ""
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
lin InflectionV = \verb -> {
|
||||||
|
t="v" ; s1=heading1 "Verb" ;
|
||||||
|
s2=verbTable verb.s ; s3=[]
|
||||||
|
} ;
|
||||||
|
lin InflectionV2 = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionV3 = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionV2V = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionV2S = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionV2Q = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionV2A = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionVS = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionVQ = \verb -> verbInflection verb.s ;
|
||||||
|
lin InflectionVA = \verb -> verbInflection verb.s ;
|
||||||
|
|
||||||
|
lin InflectionVV = \verb -> {
|
||||||
|
t="v" ;
|
||||||
|
s1=heading1 "Verb" ;
|
||||||
|
s2=auxTable verb.s ;
|
||||||
|
s3=[]
|
||||||
|
} ;
|
||||||
|
|
||||||
|
lin InflectionCl = \cl -> {
|
||||||
|
t="cl" ;
|
||||||
|
s1=heading1 "Clause" ;
|
||||||
|
s2=frameTable (
|
||||||
|
tr (th "Tense" ++ th "Anteriority" ++ th "Positive" ++ th "Negative") ++
|
||||||
|
clauseRow "Present" ClPres Simul cl ++
|
||||||
|
clauseRow "Present" ClPres Anter cl ++
|
||||||
|
clauseRow "Past perfect" (ClPast Perf) Simul cl ++
|
||||||
|
clauseRow "Past perfect" (ClPast Perf) Anter cl ++
|
||||||
|
clauseRow "Present perfect" (ClPast PresPerf) Simul cl ++
|
||||||
|
clauseRow "Present perfect" (ClPast PresPerf) Anter cl ++
|
||||||
|
clauseRow "Indefinite past" (ClPast IndefPast) Simul cl ++
|
||||||
|
clauseRow "Indefinite past" (ClPast IndefPast) Anter cl ++
|
||||||
|
clauseRow "Future" ClFut Simul cl ++
|
||||||
|
clauseRow "Future" ClFut Anter cl) ;
|
||||||
|
s3=[]
|
||||||
|
} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
NoDefinition t = {s=t.s};
|
NoDefinition t = {s=t.s};
|
||||||
MkDefinition t d = {s="<p><b>Definition:</b>"++t.s++d.s++"</p>"};
|
MkDefinition t d = {s="<p><b>Definition:</b>"++t.s++d.s++"</p>"};
|
||||||
@@ -82,4 +119,210 @@ lin
|
|||||||
MkDocument d i e = {s = i.s1 ++ d.s ++ i.s2 ++ paragraph e.s} ;
|
MkDocument d i e = {s = i.s1 ++ d.s ++ i.s2 ++ paragraph e.s} ;
|
||||||
MkTag i = {s = i.t} ;
|
MkTag i = {s = i.t} ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
nameInflection : Str -> Str -> {s : RCase => Str} ->
|
||||||
|
{t : Str; s1,s2,s3 : Str} = \tag,title,name -> {
|
||||||
|
t=tag ;
|
||||||
|
s1=heading1 title ;
|
||||||
|
s2=nameTable name.s ;
|
||||||
|
s3=[]
|
||||||
|
} ;
|
||||||
|
|
||||||
|
nameTable : (RCase => Str) -> Str = \forms ->
|
||||||
|
frameTable (
|
||||||
|
tr (th "Case" ++ th "Form") ++
|
||||||
|
caseRow "Nominative" Nom forms ++
|
||||||
|
caseRow "Accusative" Acc forms ++
|
||||||
|
caseRow "Dative-locative" Dat forms ++
|
||||||
|
caseRow "Genitive" Gen forms ++
|
||||||
|
caseRow "Ablative" Abl forms ++
|
||||||
|
caseRow "Instrumental" Inst forms ++
|
||||||
|
caseRow "Comitative" Com forms ++
|
||||||
|
caseRow "Directional" Dir forms) ;
|
||||||
|
|
||||||
|
caseRow : Str -> RCase -> (RCase => Str) -> Str = \label,c,forms ->
|
||||||
|
tr (th label ++ td (forms ! c)) ;
|
||||||
|
|
||||||
|
clauseRow : Str -> ClTense -> Anteriority ->
|
||||||
|
{s : ClTense => Anteriority => Polarity => SType => Str} -> Str =
|
||||||
|
\label,t,a,cl ->
|
||||||
|
tr (th label ++ th (anteriorityName a) ++
|
||||||
|
td (cl.s ! t ! a ! Pos ! Main) ++
|
||||||
|
td (cl.s ! t ! a ! Neg ! Main)) ;
|
||||||
|
|
||||||
|
anteriorityName : Anteriority -> Str = \a -> case a of {
|
||||||
|
Simul => "simultaneous" ;
|
||||||
|
Anter => "anterior"
|
||||||
|
} ;
|
||||||
|
|
||||||
|
verbInflection : (VerbForm => Str) -> {t : Str; s1,s2,s3 : Str} = \forms -> {
|
||||||
|
t="v" ;
|
||||||
|
s1=heading1 "Verb" ;
|
||||||
|
s2=verbTable forms ;
|
||||||
|
s3=[]
|
||||||
|
} ;
|
||||||
|
|
||||||
|
verbTable : (VerbForm => Str) -> Str = \forms ->
|
||||||
|
heading2 "Indicative" ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Voice" ++ th "Aspect" ++ th "Present perfect" ++
|
||||||
|
th "Completed past" ++ th "Indefinite past" ++ th "Future") ++
|
||||||
|
finiteRows "Active" Act forms ++
|
||||||
|
finiteRows "Causative" Caus forms ++
|
||||||
|
finiteRows "Passive" Pass forms ++
|
||||||
|
finiteRows "Cooperative" Comm forms ++
|
||||||
|
finiteRows "Adversative" Advs forms) ++
|
||||||
|
verbImperativeTable forms ++
|
||||||
|
heading2 "Subordinate forms" ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Function" ++ th "Active" ++ th "Causative" ++ th "Passive") ++
|
||||||
|
subordinateRow "Conditional" Condl forms ++
|
||||||
|
subordinateRow "Concessive" Conc forms ++
|
||||||
|
subordinateRow "Immediate succession" ISucc forms ++
|
||||||
|
subordinateRow "Logical succession" LSucc forms ++
|
||||||
|
subordinateRow "Intention" Intend forms ++
|
||||||
|
subordinateRow "Limit" Limit forms ++
|
||||||
|
subordinateRow "Progressive" Progr forms ++
|
||||||
|
subordinateRow "Succession" Succ forms) ++
|
||||||
|
verbCoordinationTable forms ++
|
||||||
|
verbParticipleTables forms ;
|
||||||
|
|
||||||
|
finiteRows : Str -> Voice -> (VerbForm => Str) -> Str = \voice,v,forms ->
|
||||||
|
finiteRow voice "Simple" v Simpl forms ++
|
||||||
|
finiteRow "" "Quick" v Quick forms ++
|
||||||
|
finiteRow "" "Collective" v Coll forms ++
|
||||||
|
finiteRow "" "Complete" v Compl forms ;
|
||||||
|
|
||||||
|
finiteRow : Str -> Str -> Voice -> Aspect -> (VerbForm => Str) -> Str =
|
||||||
|
\voice,aspect,v,a,forms ->
|
||||||
|
tr (th voice ++ th aspect ++
|
||||||
|
td (forms ! VFORM v a VPresPerf) ++
|
||||||
|
td (forms ! VFORM v a VPastComp) ++
|
||||||
|
td (forms ! VFORM v a VPastIndef) ++
|
||||||
|
td (forms ! VFORM v a VFut)) ;
|
||||||
|
|
||||||
|
subordinateRow : Str -> Subordination -> (VerbForm => Str) -> Str = \label,sub,forms ->
|
||||||
|
tr (th label ++
|
||||||
|
td (forms ! SVDS ActSub sub) ++
|
||||||
|
td (forms ! SVDS CausSub sub) ++
|
||||||
|
td (forms ! SVDS PassSub sub)) ;
|
||||||
|
|
||||||
|
auxTable : (VVVerbForm => Str) -> Str = \forms ->
|
||||||
|
heading2 "Indicative" ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Present perfect" ++ td (forms ! VVTense VPresPerf)) ++
|
||||||
|
tr (th "Completed past" ++ td (forms ! VVTense VPastComp)) ++
|
||||||
|
tr (th "Indefinite past" ++ td (forms ! VVTense VPastIndef)) ++
|
||||||
|
tr (th "Future" ++ td (forms ! VVTense VFut))) ++
|
||||||
|
auxImperativeTable forms ++
|
||||||
|
heading2 "Subordinate forms" ++
|
||||||
|
frameTable (
|
||||||
|
auxSubordinateRow "Conditional" Condl forms ++
|
||||||
|
auxSubordinateRow "Concessive" Conc forms ++
|
||||||
|
auxSubordinateRow "Immediate succession" ISucc forms ++
|
||||||
|
auxSubordinateRow "Logical succession" LSucc forms ++
|
||||||
|
auxSubordinateRow "Intention" Intend forms ++
|
||||||
|
auxSubordinateRow "Limit" Limit forms ++
|
||||||
|
auxSubordinateRow "Progressive" Progr forms ++
|
||||||
|
auxSubordinateRow "Succession" Succ forms) ++
|
||||||
|
auxCoordinationTable forms ++
|
||||||
|
auxParticipleTables forms ;
|
||||||
|
|
||||||
|
auxSubordinateRow : Str -> Subordination -> (VVVerbForm => Str) -> Str = \label,sub,forms ->
|
||||||
|
tr (th label ++ td (forms ! VVSubordination sub)) ;
|
||||||
|
|
||||||
|
verbImperativeTable : (VerbForm => Str) -> Str = \forms ->
|
||||||
|
heading2 "Imperative" ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Function" ++ th "Direct" ++ th "Indirect") ++
|
||||||
|
verbImperativeRow "Decision" Dec forms ++
|
||||||
|
verbImperativeRow "Command" Command forms ++
|
||||||
|
verbImperativeRow "Request" Req forms ++
|
||||||
|
verbImperativeRow "Demand" Demand forms ++
|
||||||
|
verbImperativeRow "Admonition" Admon forms ++
|
||||||
|
verbImperativeRow "Appeal" Appeal forms ++
|
||||||
|
verbImperativeRow "Permission" Perm forms ++
|
||||||
|
verbImperativeRow "Hope" Hope forms ++
|
||||||
|
verbImperativeRow "Blessing" Bless forms) ;
|
||||||
|
|
||||||
|
verbImperativeRow : Str -> Imperative -> (VerbForm => Str) -> Str = \label,i,forms ->
|
||||||
|
tr (th label ++ td (forms ! VIMP Direct i) ++
|
||||||
|
td (forms ! VIMP Indirect i)) ;
|
||||||
|
|
||||||
|
auxImperativeTable : (VVVerbForm => Str) -> Str = \forms ->
|
||||||
|
heading2 "Imperative" ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Function" ++ th "Direct" ++ th "Indirect") ++
|
||||||
|
auxImperativeRow "Decision" Dec forms ++
|
||||||
|
auxImperativeRow "Command" Command forms ++
|
||||||
|
auxImperativeRow "Request" Req forms ++
|
||||||
|
auxImperativeRow "Demand" Demand forms ++
|
||||||
|
auxImperativeRow "Admonition" Admon forms ++
|
||||||
|
auxImperativeRow "Appeal" Appeal forms ++
|
||||||
|
auxImperativeRow "Permission" Perm forms ++
|
||||||
|
auxImperativeRow "Hope" Hope forms ++
|
||||||
|
auxImperativeRow "Blessing" Bless forms) ;
|
||||||
|
|
||||||
|
auxImperativeRow : Str -> Imperative -> (VVVerbForm => Str) -> Str = \label,i,forms ->
|
||||||
|
tr (th label ++ td (forms ! VVImp Direct i) ++
|
||||||
|
td (forms ! VVImp Indirect i)) ;
|
||||||
|
|
||||||
|
verbCoordinationTable : (VerbForm => Str) -> Str = \forms ->
|
||||||
|
heading2 "Coordinating forms" ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Simultaneous" ++ td (forms ! CVDS Simul)) ++
|
||||||
|
tr (th "Anterior" ++ td (forms ! CVDS Anter))) ;
|
||||||
|
|
||||||
|
auxCoordinationTable : (VVVerbForm => Str) -> Str = \forms ->
|
||||||
|
heading2 "Coordinating forms" ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Simultaneous" ++ td (forms ! VVCoordination Simul)) ++
|
||||||
|
tr (th "Anterior" ++ td (forms ! VVCoordination Anter))) ;
|
||||||
|
|
||||||
|
verbParticipleTables : (VerbForm => Str) -> Str = \forms ->
|
||||||
|
verbParticipleTable "Indefinite present" PPresIndef forms ++
|
||||||
|
verbParticipleTable "Progressive present" PPresProgr forms ++
|
||||||
|
verbParticipleTable "Past" PPast forms ++
|
||||||
|
verbParticipleTable "Future" PFut forms ++
|
||||||
|
verbParticipleTable "Agent" PDoer forms ;
|
||||||
|
|
||||||
|
verbParticipleTable : Str -> Participle -> (VerbForm => Str) -> Str = \title,p,forms ->
|
||||||
|
heading2 (title ++ " participle") ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Case" ++ th "Form") ++
|
||||||
|
verbParticipleRow "Nominative" Nom p forms ++
|
||||||
|
verbParticipleRow "Accusative" Acc p forms ++
|
||||||
|
verbParticipleRow "Dative-locative" Dat p forms ++
|
||||||
|
verbParticipleRow "Genitive" Gen p forms ++
|
||||||
|
verbParticipleRow "Ablative" Abl p forms ++
|
||||||
|
verbParticipleRow "Instrumental" Inst p forms ++
|
||||||
|
verbParticipleRow "Comitative" Com p forms ++
|
||||||
|
verbParticipleRow "Directional" Dir p forms) ;
|
||||||
|
|
||||||
|
verbParticipleRow : Str -> RCase -> Participle -> (VerbForm => Str) -> Str =
|
||||||
|
\label,c,p,forms -> tr (th label ++ td (forms ! VPART p c)) ;
|
||||||
|
|
||||||
|
auxParticipleTables : (VVVerbForm => Str) -> Str = \forms ->
|
||||||
|
auxParticipleTable "Indefinite present" PPresIndef forms ++
|
||||||
|
auxParticipleTable "Progressive present" PPresProgr forms ++
|
||||||
|
auxParticipleTable "Past" PPast forms ++
|
||||||
|
auxParticipleTable "Future" PFut forms ++
|
||||||
|
auxParticipleTable "Agent" PDoer forms ;
|
||||||
|
|
||||||
|
auxParticipleTable : Str -> Participle -> (VVVerbForm => Str) -> Str = \title,p,forms ->
|
||||||
|
heading2 (title ++ " participle") ++
|
||||||
|
frameTable (
|
||||||
|
tr (th "Case" ++ th "Form") ++
|
||||||
|
auxParticipleRow "Nominative" Nom p forms ++
|
||||||
|
auxParticipleRow "Accusative" Acc p forms ++
|
||||||
|
auxParticipleRow "Dative-locative" Dat p forms ++
|
||||||
|
auxParticipleRow "Genitive" Gen p forms ++
|
||||||
|
auxParticipleRow "Ablative" Abl p forms ++
|
||||||
|
auxParticipleRow "Instrumental" Inst p forms ++
|
||||||
|
auxParticipleRow "Comitative" Com p forms ++
|
||||||
|
auxParticipleRow "Directional" Dir p forms) ;
|
||||||
|
|
||||||
|
auxParticipleRow : Str -> RCase -> Participle -> (VVVerbForm => Str) -> Str =
|
||||||
|
\label,c,p,forms -> tr (th label ++ td (forms ! VVParticiple p c)) ;
|
||||||
|
|
||||||
}
|
}
|
||||||
+119
-2
@@ -1,8 +1,125 @@
|
|||||||
--# -path=.:../common:../abstract
|
--# -path=.:../common:../abstract
|
||||||
|
|
||||||
concrete ExtendMon of Extend =
|
concrete ExtendMon of Extend =
|
||||||
CatMon ** ExtendFunctor
|
CatMon ** ExtendFunctor - [
|
||||||
|
VPS, ListVPS, VPI, ListVPI,
|
||||||
|
ListComp, ListImp,
|
||||||
|
CompoundN, CompoundAP,
|
||||||
|
PresPartAP, PastPartAP, PastPartAgentAP,
|
||||||
|
PassVPSlash, PassAgentVPSlash, ProgrVPSlash,
|
||||||
|
GerundCN, GerundNP, GerundAdv, WithoutVP, ByVP, InOrderToVP,
|
||||||
|
ApposNP, PositAdVAdj,
|
||||||
|
MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS,
|
||||||
|
MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
|
||||||
|
BaseComp, ConsComp, ConjComp,
|
||||||
|
BaseImp, ConsImp, ConjImp,
|
||||||
|
ReflPron, ReflPoss, AdvRNP, AdvRVP, AdvRAP, ReflRNP, ReflA2RNP, PossPronRNP,
|
||||||
|
UseDAP, UseDAPMasc, UseDAPFem
|
||||||
|
]
|
||||||
with
|
with
|
||||||
(Grammar = GrammarMon) ** {
|
(Grammar = GrammarMon) **
|
||||||
|
open Prelude, ResMon, ParadigmsMon in {
|
||||||
|
|
||||||
|
lincat
|
||||||
|
VPS, VPI = {s : Str} ;
|
||||||
|
[VPS], [VPI] = {s1, s2 : Str} ;
|
||||||
|
[Comp] = {s1, s2 : RCase => Str} ;
|
||||||
|
[Imp] = {s1, s2 : Polarity => ImpForm => Str} ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
CompoundN n1 n2 = {
|
||||||
|
s = \\sf => n1.s ! SF Sg NNom ++ n2.s ! sf
|
||||||
|
} ;
|
||||||
|
|
||||||
|
CompoundAP n a = {s = n.s ! SF Sg NNom ++ a.s} ;
|
||||||
|
|
||||||
|
PresPartAP vp = {
|
||||||
|
s = vp.compl ! Nom ++ vp.embedCompl ! Nom ++ vp.adv ++
|
||||||
|
(vp.s ! VPPart ClPres Pos Nom).fin
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PastPartAP vp = {
|
||||||
|
s = vp.compl ! Nom ++ vp.embedCompl ! Nom ++ vp.adv ++
|
||||||
|
(vp.s ! VPPass Passive (ClPast Perf)).fin
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PastPartAgentAP vp np = {
|
||||||
|
s = np.s ! Inst ++ vp.compl ! Nom ++ vp.embedCompl ! Nom ++ vp.adv ++
|
||||||
|
(vp.s ! VPPass Passive (ClPast Perf)).fin
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PassVPSlash vp = {
|
||||||
|
s = \\_ => vp.s ! VPPass Passive ClPres ;
|
||||||
|
compl = vp.compl ; adv = vp.adv ; embedCompl = vp.embedCompl ; vt = vp.vt
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PassAgentVPSlash vp np = insertObj (\\_ => np.s ! Inst) (PassVPSlash vp) ;
|
||||||
|
ProgrVPSlash vp = vp ;
|
||||||
|
|
||||||
|
GerundCN vp = {s = \\_,_ => infVP vp Nom} ;
|
||||||
|
GerundNP vp = {
|
||||||
|
s = \\rc => infVP vp rc ; n = Sg ; p = P3 ; isPron = False ; isDef = True
|
||||||
|
} ;
|
||||||
|
GerundAdv vp = {s = infVP vp Inst} ;
|
||||||
|
WithoutVP vp = {s = infVP vp Nom ++ BIND ++ "гүйгээр"} ;
|
||||||
|
ByVP vp = {s = infVP vp Inst} ;
|
||||||
|
InOrderToVP vp = {s = infVP vp Dat ++ "тулд"} ;
|
||||||
|
|
||||||
|
ApposNP np app = np ** {s = \\rc => np.s ! rc ++ "," ++ app.s ! Nom} ;
|
||||||
|
PositAdVAdj a = a ;
|
||||||
|
|
||||||
|
MkVPS temp pol vp = {
|
||||||
|
s = vp.compl ! Nom ++ vp.embedCompl ! Nom ++ vp.adv ++
|
||||||
|
(vp.s ! VPFin temp.t temp.a pol.p).fin ++
|
||||||
|
(vp.s ! VPFin temp.t temp.a pol.p).aux
|
||||||
|
} ;
|
||||||
|
BaseVPS x y = {s1 = x.s ; s2 = y.s} ;
|
||||||
|
ConsVPS x xs = {s1 = x.s ++ "," ++ xs.s1 ; s2 = xs.s2} ;
|
||||||
|
ConjVPS conj xs = {s = xs.s1 ++ conj.s2 ++ xs.s2} ;
|
||||||
|
PredVPS np vps = {s = \\_ => np.s ! Nom ++ vps.s} ;
|
||||||
|
|
||||||
|
MkVPI vp = {s = infVP vp Nom} ;
|
||||||
|
BaseVPI x y = {s1 = x.s ; s2 = y.s} ;
|
||||||
|
ConsVPI x xs = {s1 = x.s ++ "," ++ xs.s1 ; s2 = xs.s2} ;
|
||||||
|
ConjVPI conj xs = {s = xs.s1 ++ conj.s2 ++ xs.s2} ;
|
||||||
|
ComplVPIVV vv vpi = insertObj (\\_ => vpi.s) (predV (auxToVerb vv)) ;
|
||||||
|
|
||||||
|
BaseComp x y = {s1 = x.s ; s2 = y.s} ;
|
||||||
|
ConsComp x xs = {
|
||||||
|
s1 = \\rc => x.s ! rc ++ "," ++ xs.s1 ! rc ; s2 = xs.s2
|
||||||
|
} ;
|
||||||
|
ConjComp conj xs = {s = \\rc => xs.s1 ! rc ++ conj.s2 ++ xs.s2 ! rc} ;
|
||||||
|
|
||||||
|
BaseImp x y = {s1 = x.s ; s2 = y.s} ;
|
||||||
|
ConsImp x xs = {
|
||||||
|
s1 = \\p,f => x.s ! p ! f ++ "," ++ xs.s1 ! p ! f ; s2 = xs.s2
|
||||||
|
} ;
|
||||||
|
ConjImp conj xs = {s = \\p,f => xs.s1 ! p ! f ++ conj.s2 ++ xs.s2 ! p ! f} ;
|
||||||
|
|
||||||
|
ReflPron = lin RNP {
|
||||||
|
s = reflPron ! Sg ; n = Sg ; p = P3 ; isPron = True ; isDef = True ; lock_NP = <>
|
||||||
|
} ;
|
||||||
|
ReflPoss num cn = lin RNP {
|
||||||
|
s = \\rc => reflPron ! Sg ! Gen ++ cn.s ! num.n ! toNCase rc Definite ;
|
||||||
|
n = num.n ; p = P3 ; isPron = False ; isDef = True ; lock_NP = <>
|
||||||
|
} ;
|
||||||
|
AdvRNP np prep rnp = lin RNP {
|
||||||
|
s = \\rc => np.s ! rc ++ rnp.s ! prep.rc ++ prep.s ;
|
||||||
|
n = np.n ; p = np.p ; isPron = False ; isDef = np.isDef ; lock_NP = <>
|
||||||
|
} ;
|
||||||
|
AdvRVP vp prep rnp = insertAdv (rnp.s ! prep.rc ++ prep.s) vp ;
|
||||||
|
AdvRAP ap prep rnp = {s = rnp.s ! prep.rc ++ prep.s ++ ap.s} ;
|
||||||
|
ReflRNP slash rnp = insertObj (\\_ => rnp.s ! slash.c2.rc ++ slash.c2.s) slash ;
|
||||||
|
ReflA2RNP ap rnp = {s = rnp.s ! ap.c2.rc ++ ap.c2.s ++ ap.s} ;
|
||||||
|
PossPronRNP pron num cn rnp = lin NP {
|
||||||
|
s = \\rc => pron.s ! PronCase Gen ++ cn.s ! num.n ! NNom ++ rnp.s ! rc ;
|
||||||
|
n = num.n ; p = P3 ; isPron = False ; isDef = True
|
||||||
|
} ;
|
||||||
|
|
||||||
|
UseDAP dap = {
|
||||||
|
s = dap.s ; n = dap.n ; p = P3 ; isPron = False ; isDef = dap.isDef
|
||||||
|
} ;
|
||||||
|
UseDAPMasc = UseDAP ;
|
||||||
|
UseDAPFem = UseDAP ;
|
||||||
|
|
||||||
}
|
}
|
||||||
+55
-55
@@ -736,12 +736,12 @@ ugz_AdV = ss "угз" ;
|
|||||||
yalz_AdV = ss "ялз" ;
|
yalz_AdV = ss "ялз" ;
|
||||||
yaz_AdV = ss "яз" ;
|
yaz_AdV = ss "яз" ;
|
||||||
zad_AdV = ss "зад" ;
|
zad_AdV = ss "зад" ;
|
||||||
garui_CAdv = lin CAdv {s = " гаруй" ; c2 = noPrep Nom} ;
|
garui_CAdv = {s = " гаруй" ; c2 = noPrep Nom} ;
|
||||||
lugaa_CAdv = lin CAdv {s = " лугаа" ; c2 = noPrep Nom} ;
|
lugaa_CAdv = {s = " лугаа" ; c2 = noPrep Nom} ;
|
||||||
met_CAdv = lin CAdv {s = " мэт" ; c2 = noPrep Nom} ;
|
met_CAdv = {s = " мэт" ; c2 = noPrep Nom} ;
|
||||||
meterhueue_CAdv = lin CAdv {s = " мэтэрхүү" ; c2 = noPrep Nom} ;
|
meterhueue_CAdv = {s = " мэтэрхүү" ; c2 = noPrep Nom} ;
|
||||||
net_CAdv = lin CAdv {s = " нэт" ; c2 = noPrep Nom} ;
|
net_CAdv = {s = " нэт" ; c2 = noPrep Nom} ;
|
||||||
shig_CAdv = lin CAdv {s = " шиг" ; c2 = noPrep Nom} ;
|
shig_CAdv = {s = " шиг" ; c2 = noPrep Nom} ;
|
||||||
atlaa_Conj = mkConj "атлаа" ;
|
atlaa_Conj = mkConj "атлаа" ;
|
||||||
ba_Conj = mkConj "ба" ;
|
ba_Conj = mkConj "ба" ;
|
||||||
bas_Conj = mkConj "бас" ;
|
bas_Conj = mkConj "бас" ;
|
||||||
@@ -755,48 +755,48 @@ esvel_Conj = mkConj "эсвэл" ;
|
|||||||
moertloeoe_Conj = mkConj "мөртлөө" ;
|
moertloeoe_Conj = mkConj "мөртлөө" ;
|
||||||
selt_Conj = mkConj "сэлт" ;
|
selt_Conj = mkConj "сэлт" ;
|
||||||
moertoeoe_Conj = mkConj "мөртөө" ;
|
moertoeoe_Conj = mkConj "мөртөө" ;
|
||||||
ahu_Det = {s = "аху" ; sp = \\rc => (regN "аху").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPre,isPoss = False ; isDef = True} ;
|
ahu_Det = {s = "аху" ; sp = \\rc => (regN "аху").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre = False ; isDef = True} ;
|
||||||
alivaa_Det = {s = "аливаа" ; sp = \\rc => (regN "аливаа").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
alivaa_Det = {s = "аливаа" ; sp = \\rc => (regN "аливаа").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
anu_Det = {s = "ану" ; sp = \\rc => (regN "ану").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPre,isPoss = False ; isDef = True} ;
|
anu_Det = {s = "ану" ; sp = \\rc => (regN "ану").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre = False ; isDef = True} ;
|
||||||
bishid_Det = {s = "бишид" ; sp = \\rc => (regN "бишид").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
bishid_Det = {s = "бишид" ; sp = \\rc => (regN "бишид").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
bolgon_Det = {s = "болгон" ; sp = \\rc => (regN "болгон").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPre,isPoss = False ; isDef = True} ;
|
bolgon_Det = {s = "болгон" ; sp = \\rc => (regN "болгон").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre = False ; isDef = True} ;
|
||||||
buehen_Det = {s = "бүхэн" ; sp = \\rc => (regN "бүхэн").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPre,isPoss = False ; isDef = True} ;
|
buehen_Det = {s = "бүхэн" ; sp = \\rc => (regN "бүхэн").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre = False ; isDef = True} ;
|
||||||
buehii_Det = {s = "бүхий" ; sp = \\rc => (regN "бүхий").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPre,isPoss = False ; isDef = True} ;
|
buehii_Det = {s = "бүхий" ; sp = \\rc => (regN "бүхий").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre = False ; isDef = True} ;
|
||||||
busad_Det = {s = "бусад" ; sp = \\rc => (regN "бусад").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
busad_Det = {s = "бусад" ; sp = \\rc => (regN "бусад").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
caad_Det = {s = "цаад" ; sp = \\rc => (regN "цаад").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
caad_Det = {s = "цаад" ; sp = \\rc => (regN "цаад").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
caadah'_Det = {s = "цаадахь" ; sp = \\rc => (regN "цаадахь").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
caadah'_Det = {s = "цаадахь" ; sp = \\rc => (regN "цаадахь").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
coem_Det = {s = "цөм" ; sp = \\rc => (regN "цөм").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
coem_Det = {s = "цөм" ; sp = \\rc => (regN "цөм").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
coryn_ganc_Det = {s = "цорын ганц" ; sp = \\rc => (regN "цорын ганц").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
coryn_ganc_Det = {s = "цорын ганц" ; sp = \\rc => (regN "цорын ганц").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
diilenh_Det = {s = "дийлэнх" ; sp = \\rc => (regN "дийлэнх").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
diilenh_Det = {s = "дийлэнх" ; sp = \\rc => (regN "дийлэнх").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
enehueue_Det = {s = "энэхүү" ; sp = \\rc => (regN "энэхүү").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
enehueue_Det = {s = "энэхүү" ; sp = \\rc => (regN "энэхүү").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
ganc_Det = {s = "ганц" ; sp = \\rc => (regN "ганц").s ! (SF Sg (toNCase rc Definite)) ; isPoss = False ; isNum,isPre,isDef = True} ;
|
ganc_Det = {s = "ганц" ; sp = \\rc => (regN "ганц").s ! (SF Sg (toNCase rc Definite)) ; n = Pl ; isPre,isDef = True} ;
|
||||||
ganchan_Det = {s = "ганцхан" ; sp = \\rc => (regN "ганцхан").s ! (SF Sg (toNCase rc Definite)) ; isPoss = False ; isNum,isPre,isDef = True} ;
|
ganchan_Det = {s = "ганцхан" ; sp = \\rc => (regN "ганцхан").s ! (SF Sg (toNCase rc Definite)) ; n = Pl ; isPre,isDef = True} ;
|
||||||
heseghen_Det = {s = "хэсэгхэн" ; sp = \\rc => (regN "хэсэгхэн").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
heseghen_Det = {s = "хэсэгхэн" ; sp = \\rc => (regN "хэсэгхэн").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
ihenh_Det = {s = "ихэнх" ; sp = \\rc => (regN "ихэнх").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
ihenh_Det = {s = "ихэнх" ; sp = \\rc => (regN "ихэнх").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
iim_Det = {s = "ийм" ; sp = \\rc => (regN "ийм").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
iim_Det = {s = "ийм" ; sp = \\rc => (regN "ийм").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
iimhen_Det = {s = "иймхэн" ; sp = \\rc => (regN "иймхэн").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
iimhen_Det = {s = "иймхэн" ; sp = \\rc => (regN "иймхэн").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
moenoeoehoen_Det = {s = "мөнөөхөн" ; sp = \\rc => (regN "мөнөөхөн").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
moenoeoehoen_Det = {s = "мөнөөхөн" ; sp = \\rc => (regN "мөнөөхөн").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
nejeed_Det = {s = "нэжээд" ; sp = \\rc => (regN "нэжээд").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss,isDef = False ; isPre = True} ;
|
nejeed_Det = {s = "нэжээд" ; sp = \\rc => (regN "нэжээд").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
nejgeed_Det = {s = "нэжгээд" ; sp = \\rc => (regN "нэжгээд").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss,isDef = False ; isPre = True} ;
|
nejgeed_Det = {s = "нэжгээд" ; sp = \\rc => (regN "нэжгээд").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
nijeed_Det = {s = "нижээд" ; sp = \\rc => (regN "нижээд").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss,isDef = False ; isPre = True} ;
|
nijeed_Det = {s = "нижээд" ; sp = \\rc => (regN "нижээд").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
nijgeed_Det = {s = "нижгээд" ; sp = \\rc => (regN "нижгээд").s ! (SF Sg (toNCase rc Definite)) ; isNum, isPoss,isDef = False ; isPre = True} ;
|
nijgeed_Det = {s = "нижгээд" ; sp = \\rc => (regN "нижгээд").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
noegoeoe_Det = {s = "нөгөө" ; sp = \\rc => (regN "нөгөө").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
noegoeoe_Det = {s = "нөгөө" ; sp = \\rc => (regN "нөгөө").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
olhon_Det = {s = "олхон" ; sp = \\rc => (regN "олхон").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
olhon_Det = {s = "олхон" ; sp = \\rc => (regN "олхон").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
olon_Det = {s = "олон" ; sp = \\rc => (regN "олон").s ! (SF Sg (toNCase rc Definite)) ; isNum, isPoss,isDef = False ; isPre = True} ;
|
olon_Det = {s = "олон" ; sp = \\rc => (regN "олон").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
shaham_Det = {s = "шахам" ; sp = \\rc => (regN "шахам").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPre,isPoss = False ; isDef = True} ;
|
shaham_Det = {s = "шахам" ; sp = \\rc => (regN "шахам").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre = False ; isDef = True} ;
|
||||||
shahuu_Det = {s = "шахуу" ; sp = \\rc => (regN "шахуу").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss,isDef = False ; isPre = True} ;
|
shahuu_Det = {s = "шахуу" ; sp = \\rc => (regN "шахуу").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
tereehen_Det = {s = "тэрээхэн" ; sp = \\rc => (regN "тэрээхэн").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
tereehen_Det = {s = "тэрээхэн" ; sp = \\rc => (regN "тэрээхэн").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
terhen_Det = {s = "тэрхэн" ; sp = \\rc => (regN "тэрхэн").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
terhen_Det = {s = "тэрхэн" ; sp = \\rc => (regN "тэрхэн").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
terhueue_Det = {s = "тэрхүү" ; sp = \\rc => (regN "тэрхүү").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
terhueue_Det = {s = "тэрхүү" ; sp = \\rc => (regN "тэрхүү").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
tiimerhueue_Det = {s = "тиймэрхүү" ; sp = \\rc => (regN "тиймэрхүү").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
tiimerhueue_Det = {s = "тиймэрхүү" ; sp = \\rc => (regN "тиймэрхүү").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
tiimshig_Det = {s = "тиймшиг" ; sp = \\rc => (regN "тиймшиг").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
tiimshig_Det = {s = "тиймшиг" ; sp = \\rc => (regN "тиймшиг").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
toechnoeoen_Det = {s = "төчнөөн" ; sp = \\rc => (regN "төчнөөн").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
toechnoeoen_Det = {s = "төчнөөн" ; sp = \\rc => (regN "төчнөөн").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
tutam_Det = {s = "тутам" ; sp = \\rc => (regN "тутам").s ! (SF Sg (toNCase rc Definite)) ; isNum, isPoss,isPre = False ; isDef = True} ;
|
tutam_Det = {s = "тутам" ; sp = \\rc => (regN "тутам").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre = False ; isDef = True} ;
|
||||||
yamarvaa_Det = {s = "ямарваа" ; sp = \\rc => (regN "ямарваа").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
yamarvaa_Det = {s = "ямарваа" ; sp = \\rc => (regN "ямарваа").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
zarim_Det = {s = "зарим" ; sp = \\rc => (regN "зарим").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss,isDef = False ; isPre = True} ;
|
zarim_Det = {s = "зарим" ; sp = \\rc => (regN "зарим").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
bueh_Det = {s = "бүх" ; sp = \\rc => (regN "бүх").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss = False ; isPre,isDef = True} ;
|
bueh_Det = {s = "бүх" ; sp = \\rc => (regN "бүх").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isPre,isDef = True} ;
|
||||||
buer_Det = {s = "бүр" ; sp = \\rc => (regN "бүр").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss,isDef = False ; isPre = True} ;
|
buer_Det = {s = "бүр" ; sp = \\rc => (regN "бүр").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
zarim_neg_Det = {s = "зарим нэг" ; sp = \\rc => (regN "зарим нэг").s ! (SF Sg (toNCase rc Definite)) ; isNum,isPoss,isDef = False ; isPre = True} ;
|
zarim_neg_Det = {s = "зарим нэг" ; sp = \\rc => (regN "зарим нэг").s ! (SF Sg (toNCase rc Definite)) ; n = Sg ; isDef = False ; isPre = True} ;
|
||||||
haa_IAdv = ss "хаа" ;
|
haa_IAdv = ss "хаа" ;
|
||||||
haana_IAdv = ss "хаана" ;
|
haana_IAdv = ss "хаана" ;
|
||||||
haanaas_IAdv = ss "хаанаас" ;
|
haanaas_IAdv = ss "хаанаас" ;
|
||||||
@@ -1031,13 +1031,13 @@ zuurd_Prep = mkPrep Gen "зуурд" ;
|
|||||||
deerh_Prep = mkPrep Gen "дээрх" ;
|
deerh_Prep = mkPrep Gen "дээрх" ;
|
||||||
huertel_Prep = mkPrep Nom "хүртэл" ;
|
huertel_Prep = mkPrep Nom "хүртэл" ;
|
||||||
tusam_Prep = mkPrep Nom "тусам" ;
|
tusam_Prep = mkPrep Nom "тусам" ;
|
||||||
edgeer_Quant = {s = \\_ => "эдгээр" ; sp = \\_,nc => (regN "эдгээр").s ! SF Sg nc ; isPoss =False ; isDef = True} ;
|
edgeer_Quant = {s = \\_ => "эдгээр" ; sp = \\_,nc => (regN "эдгээр").s ! SF Sg nc ; isDef = True} ;
|
||||||
el_Quant = {s = \\_ => "эл" ; sp = \\_,nc => (regN "эл").s ! SF Sg nc ; isPoss =False ; isDef = True} ;
|
el_Quant = {s = \\_ => "эл" ; sp = \\_,nc => (regN "эл").s ! SF Sg nc ; isDef = True} ;
|
||||||
ene_Quant = {s = \\_ => "энэ" ; sp = \\_,nc => (regN "энэ").s ! SF Sg nc ; isPoss =False ; isDef = True} ;
|
ene_Quant = {s = \\_ => "энэ" ; sp = \\_,nc => (regN "энэ").s ! SF Sg nc ; isDef = True} ;
|
||||||
eneehen_Quant = {s = \\_ => "энээхэн" ; sp = \\_,nc => (regN "энээхэн").s ! SF Sg nc ; isPoss =False ; isDef = True} ;
|
eneehen_Quant = {s = \\_ => "энээхэн" ; sp = \\_,nc => (regN "энээхэн").s ! SF Sg nc ; isDef = True} ;
|
||||||
enehen_Quant = {s = \\_ => "энэхэн" ; sp = \\_,nc => (regN "энэхэн").s ! SF Sg nc ; isPoss =False ; isDef = True} ;
|
enehen_Quant = {s = \\_ => "энэхэн" ; sp = \\_,nc => (regN "энэхэн").s ! SF Sg nc ; isDef = True} ;
|
||||||
naadah'_Quant = {s = \\_ => "наадахь" ; sp = \\_,nc => (regN "наадахь").s ! SF Sg nc ; isPoss =False ; isDef = True} ;
|
naadah'_Quant = {s = \\_ => "наадахь" ; sp = \\_,nc => (regN "наадахь").s ! SF Sg nc ; isDef = True} ;
|
||||||
tedgeer_Quant = {s = \\_ => "тэдгээр" ; sp = \\_,nc => (regN "тэдгээр").s ! SF Sg nc ; isPoss =False ; isDef = True} ;
|
tedgeer_Quant = {s = \\_ => "тэдгээр" ; sp = \\_,nc => (regN "тэдгээр").s ! SF Sg nc ; isDef = True} ;
|
||||||
getel_PConj = ss "гэтэл" ;
|
getel_PConj = ss "гэтэл" ;
|
||||||
gevch_PConj = ss "гэвч" ;
|
gevch_PConj = ss "гэвч" ;
|
||||||
hedii_Subj = {s = "хэдий" ; isPre = True} ;
|
hedii_Subj = {s = "хэдий" ; isPre = True} ;
|
||||||
|
|||||||
@@ -15,5 +15,5 @@ concrete GrammarMon of Grammar =
|
|||||||
StructuralMon,
|
StructuralMon,
|
||||||
IdiomMon,
|
IdiomMon,
|
||||||
TenseMon,
|
TenseMon,
|
||||||
NumeralTransferMon
|
NamesMon
|
||||||
** { flags startcat = Phr ; unlexer = text ; lexer = text ; coding=utf8 ; } ;
|
** { flags startcat = Phr ; unlexer = text ; lexer = text ; coding=utf8 ; } ;
|
||||||
@@ -35,9 +35,6 @@ lin
|
|||||||
vps = vp.s ! VPImper Pos False
|
vps = vp.s ! VPImper Pos False
|
||||||
in {
|
in {
|
||||||
s = vps.fin ;
|
s = vps.fin ;
|
||||||
compl = vp.compl ;
|
|
||||||
adv = vp.adv ;
|
|
||||||
ext = vp.ext
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ImpP3 np vp =
|
ImpP3 np vp =
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
concrete LangMon of Lang =
|
concrete LangMon of Lang =
|
||||||
GrammarMon,
|
GrammarMon,
|
||||||
LexiconMon -- to compile faster, use TestLexiconMon (see LangExtraMon.gf)
|
LexiconMon -- to compile faster, use TestLexiconMon (see LangExtraMon.gf)
|
||||||
|
,ConstructionMon
|
||||||
,DocumentationMon --# notpresent
|
,DocumentationMon --# notpresent
|
||||||
** {
|
** {
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
concrete NamesMon of Names = CatMon ** open Prelude, ResMon in {
|
||||||
|
|
||||||
|
oper
|
||||||
|
nameNP : (RCase => Str) -> NP = \s -> lin NP {
|
||||||
|
s = s ;
|
||||||
|
n = Sg ; p = P3 ; isPron = False ; isDef = True
|
||||||
|
} ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
UseLN ln = nameNP ln.s ;
|
||||||
|
InLN ln = {s = ln.s ! Dat} ;
|
||||||
|
AdjLN ap ln = {s = \\rc => ap.s ++ ln.s ! rc} ;
|
||||||
|
GivenName gn = nameNP gn.s ;
|
||||||
|
MaleSurname sn = nameNP sn.s ;
|
||||||
|
}
|
||||||
+57
-34
@@ -6,14 +6,14 @@ lin
|
|||||||
DetCN det cn = {
|
DetCN det cn = {
|
||||||
s = \\rc => case <det.isPre,det.isDef> of {
|
s = \\rc => case <det.isPre,det.isDef> of {
|
||||||
<True,True> => case rc of {
|
<True,True> => case rc of {
|
||||||
Acc => det.s ++ cn.s ! Sg ! NAcc Definite ;
|
Acc => det.s ++ cn.s ! det.n ! NAcc Definite ;
|
||||||
_ => det.s ++ cn.s ! Sg ! toNCase rc Definite } ;
|
_ => det.s ++ cn.s ! det.n ! toNCase rc Definite } ;
|
||||||
<True,False> => case rc of {
|
<True,False> => case rc of {
|
||||||
Acc => det.s ++ cn.s ! Sg ! NAcc Indefinite ;
|
Acc => det.s ++ cn.s ! det.n ! NAcc Indefinite ;
|
||||||
_ => det.s ++ cn.s ! Sg ! toNCase rc Indefinite } ;
|
_ => det.s ++ cn.s ! det.n ! toNCase rc Indefinite } ;
|
||||||
_ => cn.s ! Sg ! NNom ++ det.sp ! rc
|
_ => cn.s ! det.n ! NNom ++ det.sp ! rc
|
||||||
} ;
|
} ;
|
||||||
n = Sg ;
|
n = det.n ;
|
||||||
p = P3 ;
|
p = P3 ;
|
||||||
isPron = False ;
|
isPron = False ;
|
||||||
isDef = det.isDef
|
isDef = det.isDef
|
||||||
@@ -51,12 +51,8 @@ lin
|
|||||||
isDef = np.isDef
|
isDef = np.isDef
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
RelNP np rs = {
|
RelNP np rs = np ** {
|
||||||
s = \\rc => rs.s ! Attributive ++ np.s ! rc ;
|
s = \\rc => np.s ! rc ++ "," ++ rs.s ! ComplSubj
|
||||||
n = np.n ;
|
|
||||||
p = np.p ;
|
|
||||||
isPron = False ;
|
|
||||||
isDef = np.isDef
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvNP np adv = {
|
AdvNP np adv = {
|
||||||
@@ -66,33 +62,50 @@ lin
|
|||||||
isPron = False ;
|
isPron = False ;
|
||||||
isDef = np.isDef
|
isDef = np.isDef
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
ExtAdvNP np adv = np ** {
|
||||||
|
s = \\rc => np.s ! rc ++ "," ++ adv.s
|
||||||
|
} ;
|
||||||
|
|
||||||
DetQuant quant num = {
|
DetQuant quant num = {
|
||||||
s = quant.s ! Sg ++ num.s ;
|
s = quant.s ! num.n ++ num.s ;
|
||||||
sp = \\rc => quant.sp ! num.n ! NNom ++ num.sp ! rc ;
|
sp = \\rc => quant.sp ! num.n ! NNom ++ num.sp ! rc ;
|
||||||
isNum = num.isNum ;
|
n = num.n ;
|
||||||
isPoss = quant.isPoss ;
|
isDef = quant.isDef ;
|
||||||
isDef = True ;
|
|
||||||
isPre = True
|
isPre = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetQuantOrd quant num ord = {
|
DetQuantOrd quant num ord = {
|
||||||
s = quant.s ! Sg ++ num.s ++ ord.s ;
|
s = quant.s ! num.n ++ num.s ++ ord.s ;
|
||||||
sp = \\_ => quant.sp ! num.n ! NNom ++ num.s ++ ord.s ;
|
sp = \\_ => quant.sp ! num.n ! NNom ++ num.s ++ ord.s ;
|
||||||
isNum = num.isNum ;
|
n = num.n ;
|
||||||
isPoss = quant.isPoss ;
|
isDef = quant.isDef ;
|
||||||
isDef = True ;
|
|
||||||
isPre = True
|
isPre = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetNP det = {
|
DetNP det = {
|
||||||
s = \\rc => det.sp ! rc ;
|
s = \\rc => det.sp ! rc ;
|
||||||
n = Sg ;
|
n = det.n ;
|
||||||
p = P3 ;
|
p = P3 ;
|
||||||
isPron = False ;
|
isPron = False ;
|
||||||
isDef = True
|
isDef = det.isDef
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
DetDAP det = {
|
||||||
|
s = det.sp ;
|
||||||
|
n = det.n ;
|
||||||
|
isDef = det.isDef
|
||||||
|
} ;
|
||||||
|
|
||||||
|
AdjDAP dap ap = dap ** {
|
||||||
|
s = \\rc => ap.s ++ dap.s ! rc
|
||||||
|
} ;
|
||||||
|
|
||||||
|
CountNP det np = {
|
||||||
|
s = \\rc => det.s ++ np.s ! Abl ;
|
||||||
|
n = np.n ; p = np.p ; isPron = False ; isDef = det.isDef
|
||||||
|
} ;
|
||||||
|
|
||||||
UseN,UseN2 = \noun -> {
|
UseN,UseN2 = \noun -> {
|
||||||
s = \\n,nc => noun.s ! SF n nc
|
s = \\n,nc => noun.s ! SF n nc
|
||||||
} ;
|
} ;
|
||||||
@@ -100,15 +113,14 @@ lin
|
|||||||
PossPron p = {
|
PossPron p = {
|
||||||
s = \\_ => p.s ! PronCase Gen ;
|
s = \\_ => p.s ! PronCase Gen ;
|
||||||
sp = \\_,nc => p.s ! PronPoss (toRCase nc Definite) ;
|
sp = \\_,nc => p.s ! PronPoss (toRCase nc Definite) ;
|
||||||
isPoss = True ;
|
|
||||||
isDef = True
|
isDef = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
NumSg = {s = [] ; sp = \\_ => [] ; n = Sg ; isNum = False} ;
|
NumSg = {s = [] ; sp = \\_ => [] ; n = Sg} ;
|
||||||
NumPl = {s = [] ; sp = \\_ => [] ; n = Pl ; isNum = False} ;
|
NumPl = {s = [] ; sp = \\_ => [] ; n = Pl} ;
|
||||||
|
|
||||||
NumCard n = n ** {isNum = True} ;
|
NumCard n = n ** {n = Sg} ;
|
||||||
|
|
||||||
NumDigits,NumNumeral,NumDecimal = \numeral -> {
|
NumDigits,NumNumeral,NumDecimal = \numeral -> {
|
||||||
s = numeral.s ! NCard ;
|
s = numeral.s ! NCard ;
|
||||||
sp = \\_ => numeral.s ! NCard ;
|
sp = \\_ => numeral.s ! NCard ;
|
||||||
@@ -143,20 +155,15 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
Pl => (regN "эдгээр").s ! SF Sg nc
|
Pl => (regN "эдгээр").s ! SF Sg nc
|
||||||
} ;
|
} ;
|
||||||
isPoss = False ;
|
|
||||||
isDef = True
|
isDef = True
|
||||||
} ;
|
} ;
|
||||||
-- the numeral neg for ‘one’ in the function as an indefinite article (Givon 1981)
|
-- the numeral neg for ‘one’ in the function as an indefinite article (Givon 1981)
|
||||||
IndefArt = {
|
IndefArt = {
|
||||||
s = \\n => case n of {
|
s = \\_ => [] ;
|
||||||
Sg => "нэг" ;
|
|
||||||
Pl => "нэжгээд"
|
|
||||||
} ;
|
|
||||||
sp = \\n,nc => case n of {
|
sp = \\n,nc => case n of {
|
||||||
Sg => (regN "аль нэг").s ! SF Sg nc ;
|
Sg => (regN "аль нэг").s ! SF Sg nc ;
|
||||||
Pl => (regN "нэжгээд").s ! SF Sg nc
|
Pl => (regN "нэжгээд").s ! SF Sg nc
|
||||||
} ;
|
} ;
|
||||||
isPoss = False ;
|
|
||||||
isDef = False
|
isDef = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -168,6 +175,22 @@ lin
|
|||||||
isDef = True
|
isDef = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
PossNP cn np = {
|
||||||
|
s = \\n,nc => np.s ! Gen ++ cn.s ! n ! nc
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PartNP cn np = {
|
||||||
|
s = \\n,nc => np.s ! Gen ++ cn.s ! n ! nc
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityNP dec mu = {
|
||||||
|
s = \\rc => case mu.isPre of {
|
||||||
|
True => mu.s ++ dec.s ! NCard ;
|
||||||
|
False => dec.s ! NCard ++ mu.s
|
||||||
|
} ;
|
||||||
|
n = dec.n ; p = P3 ; isPron = False ; isDef = False
|
||||||
|
} ;
|
||||||
|
|
||||||
Use2N3 n3 = {
|
Use2N3 n3 = {
|
||||||
s = n3.s ;
|
s = n3.s ;
|
||||||
c2 = n3.c2
|
c2 = n3.c2
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ lincat
|
|||||||
Digit = {s : Place => DForm => CardOrd => Str} ;
|
Digit = {s : Place => DForm => CardOrd => Str} ;
|
||||||
Sub10 = {s : Place => DForm => CardOrd => Str ; n : Number} ;
|
Sub10 = {s : Place => DForm => CardOrd => Str ; n : Number} ;
|
||||||
Sub100, Sub1000 = {s : Place => CardOrd => Str ; n : Number} ;
|
Sub100, Sub1000 = {s : Place => CardOrd => Str ; n : Number} ;
|
||||||
Sub1000000 = {s : CardOrd => Str; n : Number} ;
|
Sub1000000, Sub1000000000, Sub1000000000000 = {s : CardOrd => Str; n : Number} ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
mkCardOrd : Str -> CardOrd => Str = \unit ->
|
mkCardOrd : Str -> CardOrd => Str = \unit ->
|
||||||
@@ -116,6 +116,7 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
pot1as2 n = n ;
|
pot1as2 n = n ;
|
||||||
|
pot21 = {s = \\_,co => mkCardOrd "нэг зуу" ! co ; n = Pl} ;
|
||||||
pot2 d = {
|
pot2 d = {
|
||||||
s = \\p => d.s ! p ! Hundred ; n = Pl
|
s = \\p => d.s ! p ! Hundred ; n = Pl
|
||||||
} ;
|
} ;
|
||||||
@@ -136,6 +137,23 @@ lin
|
|||||||
s = \\co => n.s ! Attr ! NCard ++ "мянга" ++ m.s ! Indep ! co ; n = Pl
|
s = \\co => n.s ! Attr ! NCard ++ "мянга" ++ m.s ! Indep ! co ; n = Pl
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
pot31 = {s = mkCardOrd "нэг мянга" ; n = Pl} ;
|
||||||
|
pot3as4 n = n ;
|
||||||
|
pot3decimal d = {s = \\co => d.s ! NCard ++ mkCardOrd "мянга" ! co ; n = Pl} ;
|
||||||
|
pot41 = {s = mkCardOrd "нэг сая" ; n = Pl} ;
|
||||||
|
pot4 n = {s = \\co => n.s ! Attr ! NCard ++ mkCardOrd "сая" ! co ; n = Pl} ;
|
||||||
|
pot4plus n m = {
|
||||||
|
s = \\co => n.s ! Attr ! NCard ++ "сая" ++ m.s ! NCard ; n = Pl
|
||||||
|
} ;
|
||||||
|
pot4as5 n = n ;
|
||||||
|
pot4decimal d = {s = \\co => d.s ! NCard ++ mkCardOrd "сая" ! co ; n = Pl} ;
|
||||||
|
pot51 = {s = mkCardOrd "нэг тэрбум" ; n = Pl} ;
|
||||||
|
pot5 n = {s = \\co => n.s ! Attr ! NCard ++ mkCardOrd "тэрбум" ! co ; n = Pl} ;
|
||||||
|
pot5plus n m = {
|
||||||
|
s = \\co => n.s ! Attr ! NCard ++ "тэрбум" ++ m.s ! NCard ; n = Pl
|
||||||
|
} ;
|
||||||
|
pot5decimal d = {s = \\co => d.s ! NCard ++ mkCardOrd "тэрбум" ! co ; n = Pl} ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Dig = TDigit ;
|
Dig = TDigit ;
|
||||||
|
|
||||||
|
|||||||
@@ -35,9 +35,23 @@ oper
|
|||||||
s = \\rc => (loanN pn).s ! (SF Sg (toNCase rc Definite))
|
s = \\rc => (loanN pn).s ! (SF Sg (toNCase rc Definite))
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkLN : Str -> LN = \s -> lin LN {s=s} ;
|
nameForms : Str -> RCase => Str = \s -> case s of {
|
||||||
mkSN : Str -> SN = \s -> lin SN {s=s} ;
|
["АЯУЮ"] + _ | (_ + ["аяую"] + _) |
|
||||||
mkGN : Str -> GN = \s -> lin GN {s=s} ;
|
["ЁО"] + _ | (_ + ["ёо"] + _) |
|
||||||
|
"Ө" + _ | (_ + "ө" + _) |
|
||||||
|
["ЭҮЕИ"] + _ | (_ + ["эүеи"] + _) =>
|
||||||
|
\\rc => (loanN s).s ! SF Sg (toNCase rc Definite) ;
|
||||||
|
_ => table {
|
||||||
|
Nom => s ; Gen => s ++ BIND ++ "ийн" ; Dat => s ++ BIND ++ "д" ;
|
||||||
|
Acc => s ++ BIND ++ "ийг" ; Abl => s ++ BIND ++ "ээс" ;
|
||||||
|
Inst => s ++ BIND ++ "ээр" ; Com => s ++ BIND ++ "тэй" ;
|
||||||
|
Dir => s ++ "рүү"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkLN : Str -> LN = \s -> lin LN {s = nameForms s} ;
|
||||||
|
mkSN : Str -> SN = \s -> lin SN {s = nameForms s} ;
|
||||||
|
mkGN : Str -> GN = \s -> lin GN {s = nameForms s} ;
|
||||||
|
|
||||||
modDecl : (Dcl -> Dcl) -> Str -> Noun =
|
modDecl : (Dcl -> Dcl) -> Str -> Noun =
|
||||||
\mod,nomSg -> mkDeclDrop (mod (chooseDcl nomSg)) nomSg ;
|
\mod,nomSg -> mkDeclDrop (mod (chooseDcl nomSg)) nomSg ;
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ oper
|
|||||||
|
|
||||||
-- Implementation of Adjectives
|
-- Implementation of Adjectives
|
||||||
|
|
||||||
mkA : (positive : Str) -> Adjective = \a -> lin A (ss a) ;
|
mkA : (positive : Str) -> A = \a -> lin A (ss a) ;
|
||||||
|
|
||||||
mkA2 : Adjective -> Prep -> A2 = \a,p -> lin A2 a ** {c2 = p} ;
|
mkA2 : Adjective -> Prep -> A2 = \a,p -> lin A2 a ** {c2 = p} ;
|
||||||
|
|
||||||
@@ -374,7 +374,7 @@ oper
|
|||||||
|
|
||||||
-- Other verbs
|
-- Other verbs
|
||||||
|
|
||||||
mkV0 : Verb -> V0 = \v -> lin V0 v ;
|
mkV0 : Verb -> V0 = \v -> v ;
|
||||||
mkVA : Verb -> VA = \v -> lin VA v ;
|
mkVA : Verb -> VA = \v -> lin VA v ;
|
||||||
mkVS : Verb -> VS = \v -> lin VS v ;
|
mkVS : Verb -> VS = \v -> lin VS v ;
|
||||||
mkVV : Aux -> VV = \v -> lin VV v ;
|
mkVV : Aux -> VV = \v -> lin VV v ;
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ param
|
|||||||
|
|
||||||
oper
|
oper
|
||||||
Noun : Type = {s : SubstForm => Str} ;
|
Noun : Type = {s : SubstForm => Str} ;
|
||||||
NounPhrase : Type = {s : RCase => Str; n : Number ; p : Person ; isPron : Bool ; isDef : Bool} ;
|
NounPhrase : Type = {s : RCase => Str; n : Number ; p : Person ; isPron : Bool} ;
|
||||||
|
|
||||||
param
|
param
|
||||||
PronForm = PronCase RCase | PronPoss RCase ;
|
PronForm = PronCase RCase | PronPoss RCase ;
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ lin
|
|||||||
ImpF _ True => "та" ++ neg ++ (vp.s ! VPImper pol True).fin
|
ImpF _ True => "та" ++ neg ++ (vp.s ! VPImper pol True).fin
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
AdvImp adv imp = {
|
||||||
|
s = \\pol,f => adv.s ++ imp.s ! pol ! f
|
||||||
|
} ;
|
||||||
|
|
||||||
-- Clauses missing object noun phrases
|
-- Clauses missing object noun phrases
|
||||||
|
|
||||||
@@ -62,7 +66,7 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
UseCl t p cl = {
|
UseCl t p cl = {
|
||||||
s = \\_ => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! Part Subject
|
s = \\_ => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! Main
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UseQCl t p cl = {
|
UseQCl t p cl = {
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ lin
|
|||||||
every_Det = {
|
every_Det = {
|
||||||
s = "бүр" ;
|
s = "бүр" ;
|
||||||
sp = \\rc => (regN "бүр").s ! (SF Sg (toNCase rc Definite)) ;
|
sp = \\rc => (regN "бүр").s ! (SF Sg (toNCase rc Definite)) ;
|
||||||
isNum, isPoss, isPre = False ;
|
n = Sg ;
|
||||||
|
isPre = False ;
|
||||||
isDef = True
|
isDef = True
|
||||||
} ;
|
} ;
|
||||||
everybody_NP = mkNP "хүн бүр" Definite ;
|
everybody_NP = mkNP "хүн бүр" Definite ;
|
||||||
@@ -41,7 +42,8 @@ lin
|
|||||||
few_Det = {
|
few_Det = {
|
||||||
s = "багагүй" ;
|
s = "багагүй" ;
|
||||||
sp = \\rc => (regN "багагүй").s ! (SF Sg (toNCase rc Indefinite)) ;
|
sp = \\rc => (regN "багагүй").s ! (SF Sg (toNCase rc Indefinite)) ;
|
||||||
isNum, isPoss, isDef = False ;
|
n = Pl ;
|
||||||
|
isDef = False ;
|
||||||
isPre = True
|
isPre = True
|
||||||
} ;
|
} ;
|
||||||
for_Prep = noPrep Dat ;
|
for_Prep = noPrep Dat ;
|
||||||
@@ -61,14 +63,15 @@ lin
|
|||||||
in8front_Prep = mkPrep Gen "урд" ;
|
in8front_Prep = mkPrep Gen "урд" ;
|
||||||
in_Prep = noPrep Dat ;
|
in_Prep = noPrep Dat ;
|
||||||
it_Pron = mkPron "тэр" "түүний" "түүнд" "түүнийг" "түүнээс" "түүнээр" "түүнтэй" "түүн рүү" Sg P3 ;
|
it_Pron = mkPron "тэр" "түүний" "түүнд" "түүнийг" "түүнээс" "түүнээр" "түүнтэй" "түүн рүү" Sg P3 ;
|
||||||
less_CAdv = lin CAdv {s = "бага" ; c2 = noPrep Abl} ;
|
less_CAdv = {s = "бага" ; c2 = noPrep Abl} ;
|
||||||
many_Det = {
|
many_Det = {
|
||||||
s = "олон" ;
|
s = "олон" ;
|
||||||
sp = \\rc => (regN "олон").s ! (SF Sg (toNCase rc Indefinite)) ;
|
sp = \\rc => (regN "олон").s ! (SF Sg (toNCase rc Indefinite)) ;
|
||||||
isNum, isPoss, isDef = False ;
|
n = Pl ;
|
||||||
|
isDef = False ;
|
||||||
isPre = True
|
isPre = True
|
||||||
} ;
|
} ;
|
||||||
more_CAdv = lin CAdv {s = "илүү" ; c2 = noPrep Abl};
|
more_CAdv = {s = "илүү" ; c2 = noPrep Abl};
|
||||||
most_Predet = {
|
most_Predet = {
|
||||||
s = "ихэнх" ;
|
s = "ихэнх" ;
|
||||||
isPre = True ;
|
isPre = True ;
|
||||||
@@ -77,7 +80,8 @@ lin
|
|||||||
much_Det = {
|
much_Det = {
|
||||||
s = "нилээд" ;
|
s = "нилээд" ;
|
||||||
sp = \\rc => (regN "нилээд").s ! (SF Sg (toNCase rc Indefinite)) ;
|
sp = \\rc => (regN "нилээд").s ! (SF Sg (toNCase rc Indefinite)) ;
|
||||||
isNum, isPoss, isDef = False ;
|
n = Sg ;
|
||||||
|
isDef = False ;
|
||||||
isPre = True
|
isPre = True
|
||||||
} ;
|
} ;
|
||||||
must_VV = verbToAux (regV ("хэрэгтэй байх")) ;
|
must_VV = verbToAux (regV ("хэрэгтэй байх")) ;
|
||||||
@@ -100,13 +104,15 @@ lin
|
|||||||
someSg_Det = {
|
someSg_Det = {
|
||||||
s = "зарим нэг" ;
|
s = "зарим нэг" ;
|
||||||
sp = \\rc => (regN "зарим нэг").s ! (SF Sg (toNCase rc Indefinite)) ;
|
sp = \\rc => (regN "зарим нэг").s ! (SF Sg (toNCase rc Indefinite)) ;
|
||||||
isNum, isPoss, isDef = False ;
|
n = Sg ;
|
||||||
|
isDef = False ;
|
||||||
isPre = True
|
isPre = True
|
||||||
} ;
|
} ;
|
||||||
somePl_Det = {
|
somePl_Det = {
|
||||||
s = "зарим" ;
|
s = "зарим" ;
|
||||||
sp = \\rc => (regN "зарим").s ! (SF Sg (toNCase rc Indefinite)) ;
|
sp = \\rc => (regN "зарим").s ! (SF Sg (toNCase rc Indefinite)) ;
|
||||||
isNum, isPoss, isDef = False ;
|
n = Pl ;
|
||||||
|
isDef = False ;
|
||||||
isPre = True
|
isPre = True
|
||||||
} ;
|
} ;
|
||||||
something_NP = mkNP "ямар нэгэн юм" Indefinite ;
|
something_NP = mkNP "ямар нэгэн юм" Indefinite ;
|
||||||
@@ -124,7 +130,6 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
Pl => (regN "тэдгээр").s ! SF Sg nc
|
Pl => (regN "тэдгээр").s ! SF Sg nc
|
||||||
};
|
};
|
||||||
isPoss = False ;
|
|
||||||
isDef = True
|
isDef = True
|
||||||
} ;
|
} ;
|
||||||
that_Subj = {s = [] ; isPre = True} ;
|
that_Subj = {s = [] ; isPre = True} ;
|
||||||
@@ -146,7 +151,6 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
Pl => (regN "эдгээр").s ! SF Sg nc
|
Pl => (regN "эдгээр").s ! SF Sg nc
|
||||||
} ;
|
} ;
|
||||||
isPoss = False ;
|
|
||||||
isDef = True
|
isDef = True
|
||||||
} ;
|
} ;
|
||||||
through_Prep = noPrep Inst ;
|
through_Prep = noPrep Inst ;
|
||||||
@@ -158,11 +162,9 @@ lin
|
|||||||
we_Pron = mkPron "бид" "бидний" "бидэнд" "биднийг" "биднээс" "биднээр" "бидэнтэй" "бидэн рүү" Pl P1 ;
|
we_Pron = mkPron "бид" "бидний" "бидэнд" "биднийг" "биднээс" "биднээр" "бидэнтэй" "бидэн рүү" Pl P1 ;
|
||||||
whatPl_IP = {
|
whatPl_IP = {
|
||||||
s = \\rc => (regN "юу").s ! SF Sg (toNCase rc Definite) ;
|
s = \\rc => (regN "юу").s ! SF Sg (toNCase rc Definite) ;
|
||||||
n = Pl
|
|
||||||
} ;
|
} ;
|
||||||
whatSg_IP = {
|
whatSg_IP = {
|
||||||
s = \\rc => (regN "юу").s ! SF Sg (toNCase rc Definite) ;
|
s = \\rc => (regN "юу").s ! SF Sg (toNCase rc Definite) ;
|
||||||
n = Sg
|
|
||||||
} ;
|
} ;
|
||||||
when_IAdv = ss "хэзээ" ;
|
when_IAdv = ss "хэзээ" ;
|
||||||
when_Subj = {s = "хэрэв" ; isPre = True} ;
|
when_Subj = {s = "хэрэв" ; isPre = True} ;
|
||||||
@@ -171,12 +173,10 @@ lin
|
|||||||
s = \\rc => (regN "ямар").s ! SF Sg (toNCase rc Definite)
|
s = \\rc => (regN "ямар").s ! SF Sg (toNCase rc Definite)
|
||||||
} ;
|
} ;
|
||||||
whoPl_IP = {
|
whoPl_IP = {
|
||||||
s = \\rc => (regN "хэн").s ! SF Sg (toNCase rc Definite) ;
|
s = \\rc => (regN "хэн").s ! SF Sg (toNCase rc Definite)
|
||||||
n = Pl
|
|
||||||
} ;
|
} ;
|
||||||
whoSg_IP = {
|
whoSg_IP = {
|
||||||
s = \\rc => (regN "хэн").s ! SF Sg (toNCase rc Definite) ;
|
s = \\rc => (regN "хэн").s ! SF Sg (toNCase rc Definite)
|
||||||
n = Sg
|
|
||||||
} ;
|
} ;
|
||||||
why_IAdv = ss "яагаад" ;
|
why_IAdv = ss "яагаад" ;
|
||||||
with_Prep = noPrep Com ;
|
with_Prep = noPrep Com ;
|
||||||
@@ -188,7 +188,6 @@ lin
|
|||||||
no_Quant = {
|
no_Quant = {
|
||||||
s = \\_ => "ямар ч" ;
|
s = \\_ => "ямар ч" ;
|
||||||
sp = \\_,nc => (regN "ямар ч").s ! SF Sg nc ;
|
sp = \\_,nc => (regN "ямар ч").s ! SF Sg nc ;
|
||||||
isPoss = False ;
|
|
||||||
isDef = False
|
isDef = False
|
||||||
} ;
|
} ;
|
||||||
not_Predet = {
|
not_Predet = {
|
||||||
@@ -202,7 +201,7 @@ lin
|
|||||||
nobody_NP = mkNP "хэн ч" Definite ;
|
nobody_NP = mkNP "хэн ч" Definite ;
|
||||||
nothing_NP = mkNP "юу ч" Definite ;
|
nothing_NP = mkNP "юу ч" Definite ;
|
||||||
except_Prep = mkPrep Abl "гадна" ;
|
except_Prep = mkPrep Abl "гадна" ;
|
||||||
as_CAdv = lin CAdv {s = "шиг" ; c2 = noPrep Nom} ;
|
as_CAdv = {s = "шиг" ; c2 = noPrep Nom} ;
|
||||||
have_V2 = mkV2 (mkV "байх") ;
|
have_V2 = mkV2 (mkV "байх") ;
|
||||||
|
|
||||||
lin language_title_Utt = ss "Монгол" ;
|
lin language_title_Utt = ss "Монгол" ;
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ lin
|
|||||||
|
|
||||||
ComplVV v vp = insertObj (\\_ => infVP vp Nom) (predV (auxToVerb v)) ;
|
ComplVV v vp = insertObj (\\_ => infVP vp Nom) (predV (auxToVerb v)) ;
|
||||||
|
|
||||||
|
ExtAdvVP vp adv = insertAdv ("," ++ adv.s) vp ;
|
||||||
|
|
||||||
ComplVS v s = insertEmbedCompl (s.s ! Main ++ "гэж") (predV v) ;
|
ComplVS v s = insertEmbedCompl (s.s ! Main ++ "гэж") (predV v) ;
|
||||||
|
|
||||||
ComplVQ v qs = insertEmbedCompl (qs.s ! QIndir) (predV v) ;
|
ComplVQ v qs = insertEmbedCompl (qs.s ! QIndir) (predV v) ;
|
||||||
|
|||||||
Reference in new issue
Block a user