1
0
forked from GitHub/gf-core

complete RGL implementation for Mongolian by Nyamsuren Erdenebadrakh

This commit is contained in:
nyamaakaa
2015-03-13 13:40:22 +00:00
parent 4ff30e6771
commit 053f2377b2
39 changed files with 54028 additions and 0 deletions

View File

@@ -0,0 +1,211 @@
--# -path=.:../abstract:../common:../../prelude
concrete StructuralMon of Structural = CatMon ** open ResMon, MorphoMon, ParadigmsMon, Prelude, NounMon in {
flags optimize=all ; coding=utf8 ;
lin
above_Prep = mkPrep Gen "дээгүүр" ;
after_Prep = mkPrep Gen "дараа" ;
all_Predet = {
s = "бүх" ;
isPre = True ;
isDef = False
} ;
almost_AdA, almost_AdN = ss "бараг" ;
although_Subj = {s = "боловч" ; isPre = False} ;
always_AdV = ss "үргэлж" ;
and_Conj = mkConj "ба" ;
because_Subj = {s = "яагаад гэвэл" ; isPre = False} ;
before_Prep = mkPrep Abl "өмнө" ;
behind_Prep = mkPrep Gen "ард" ;
between_Prep = mkPrep Gen "хооронд" ;
both7and_DConj = mkConj "" "мөн" ;
but_PConj = ss "гэвч" ;
by8agent_Prep = mkPrep Gen "ачаар" ;
by8means_Prep = noPrep Inst ;
can8know_VV = verbToAux (regV "чадах") ;
can_VV = verbToAux (regV "чадах") ;
during_Prep = mkPrep Gen "үеэр" ;
either7or_DConj = mkConj "эсвэл" "эсвэл" ;
every_Det = {
s = "бүр" ;
sp = \\rc => (regN "бүр").s ! (SF Sg (toNCase rc Definite)) ;
isNum, isPoss, isPre = False ;
isDef = True
} ;
everybody_NP = mkNP "хүн бүр" Definite ;
everything_NP = mkNP "бүгд" Definite ;
everywhere_Adv = ss "хаа сайгүй" ;
few_Det = {
s = "багагүй" ;
sp = \\rc => (regN "багагүй").s ! (SF Sg (toNCase rc Indefinite)) ;
isNum, isPoss, isDef = False ;
isPre = True
} ;
for_Prep = noPrep Dat ;
from_Prep = noPrep Abl ;
he_Pron = mkPron "тэр" "түүний" "түүнд" "түүнийг" "түүнээс" "түүнээр" "түүнтэй" "түүн рүү" Sg P3 ;
here_Adv = ss "энд" ;
here7to_Adv = ss "ийшээ" ;
here7from_Adv = ss "эндээс" ;
how_IAdv = ss "яаж" ;
how8many_IDet = {
s = \\_ => "хэдэн" ;
n = Pl
} ;
how8much_IAdv = ss "хэд" ;
i_Pron = mkPron "би" "миний" "надад" "намайг" "надаас" "надаар" "надтай" "над руу" Sg P1 ;
if_Subj = {s = "хэрэв" ; isPre = True} ;
in8front_Prep = mkPrep Gen "урд" ;
in_Prep = noPrep Dat ;
it_Pron = mkPron "тэр" "түүний" "түүнд" "түүнийг" "түүнээс" "түүнээр" "түүнтэй" "түүн рүү" Sg P3 ;
less_CAdv = lin CAdv {s = "бага" ; c2 = noPrep Abl} ;
many_Det = {
s = "олон" ;
sp = \\rc => (regN "олон").s ! (SF Sg (toNCase rc Indefinite)) ;
isNum, isPoss, isDef = False ;
isPre = True
} ;
more_CAdv = lin CAdv {s = "илүү" ; c2 = noPrep Abl};
most_Predet = {
s = "ихэнх" ;
isPre = True ;
isDef = False
} ;
much_Det = {
s = "нилээд" ;
sp = \\rc => (regN "нилээд").s ! (SF Sg (toNCase rc Indefinite)) ;
isNum, isPoss, isDef = False ;
isPre = True
} ;
must_VV = verbToAux (regV ("хэрэгтэй байх")) ;
no_Utt = ss "үгүй" ;
on_Prep = mkPrep Gen "дээрх" ;
only_Predet = {
s = "зөвхөн" ;
isPre = True ;
isDef = True
} ;
or_Conj = mkConj "эсвэл" ;
otherwise_PConj = ss "үгүй бол" ;
part_Prep = noPrep Gen ;
please_Voc = ss [] ;
possess_Prep = noPrep Gen ;
quite_Adv = ss "бүрэн" ;
she_Pron = mkPron "тэр" "түүний" "түүнд" "түүнийг" "түүнээс" "түүнээр" "түүнтэй" "түүн рүү" Sg P3 ;
so_AdA = ss "ийм" ;
somebody_NP = mkNP "хэн нэгэн" Indefinite ;
someSg_Det = {
s = "зарим нэг" ;
sp = \\rc => (regN "зарим нэг").s ! (SF Sg (toNCase rc Indefinite)) ;
isNum, isPoss, isDef = False ;
isPre = True
} ;
somePl_Det = {
s = "зарим" ;
sp = \\rc => (regN "зарим").s ! (SF Sg (toNCase rc Indefinite)) ;
isNum, isPoss, isDef = False ;
isPre = True
} ;
something_NP = mkNP "ямар нэгэн юм" Indefinite ;
somewhere_Adv = ss "хаа нэгтээ" ;
that_Quant = {
s = table (ParadigmsMon.Number) {
Sg => "тэр" ;
Pl => "тэдгээр"
} ;
sp = \\n,nc => case n of {
Sg => case nc of {
NNom => "тэр" ;
NInst => "түүгээр" ;
_ => (regN "түүн").s ! SF Sg nc
} ;
Pl => (regN "тэдгээр").s ! SF Sg nc
};
isPoss = False ;
isDef = True
} ;
that_Subj = {s = [] ; isPre = True} ;
there_Adv = ss "тэнд" ;
there7to_Adv = ss "цаашаа" ;
there7from_Adv = ss "цаанаас" ;
therefore_PConj = ss "тийм учраас" ;
they_Pron = mkPron "тэд" "тэдний" "тэднийд" "тэднийг" "тэднээс" "тэднээр" "тэдэнтэй" "тэдэн рүү" Pl P3 ;
this_Quant = {
s = table (ParadigmsMon.Number) {
Sg => "энэ" ;
Pl => "эдгээр"
} ;
sp = \\n,nc => case n of {
Sg => case nc of {
NNom => "энэ" ;
NInst => "үүгээр" ;
_ => (regN "үүн").s ! SF Sg nc
} ;
Pl => (regN "эдгээр").s ! SF Sg nc
} ;
isPoss = False ;
isDef = True
} ;
through_Prep = noPrep Inst ;
to_Prep = mkPrep Acc "хүртэл" ;
too_AdA = ss "дэндүү" ;
under_Prep = mkPrep Gen "доор" ;
very_AdA = ss "маш" ;
want_VV = verbToAux (regV "хүсэх") ;
we_Pron = mkPron "бид" "бидний" "бидэнд" "биднийг" "биднээс" "биднээр" "бидэнтэй" "бидэн рүү" Pl P1 ;
whatPl_IP = {
s = \\rc => (regN "юу").s ! SF Sg (toNCase rc Definite) ;
n = Pl
} ;
whatSg_IP = {
s = \\rc => (regN "юу").s ! SF Sg (toNCase rc Definite) ;
n = Sg
} ;
when_IAdv = ss "хэзээ" ;
when_Subj = {s = "хэрэв" ; isPre = True} ;
where_IAdv = ss "хаана" ;
which_IQuant = {
s = \\rc => (regN "ямар").s ! SF Sg (toNCase rc Definite)
} ;
whoPl_IP = {
s = \\rc => (regN "хэн").s ! SF Sg (toNCase rc Definite) ;
n = Pl
} ;
whoSg_IP = {
s = \\rc => (regN "хэн").s ! SF Sg (toNCase rc Definite) ;
n = Sg
} ;
why_IAdv = ss "яагаад" ;
with_Prep = noPrep Com ;
without_Prep = mkPrep Nom "-гүй" ;
yes_Utt = ss "За" ;
youSg_Pron = mkPron "чи" "чиний" "чамд" "чамайг" "чамаас" "чамаар" "чамтай" "чам руу" Sg P2 ;
youPl_Pron = mkPron "та нар" "та нарын" "та нарт" "та нарыг" "та нараас" "та нараар" "та нартай" "та нар луу" Pl P2 ;
youPol_Pron = mkPron "та" "таны" "танд" "таныг" "танаас" "танаар" "тантай" "тан руу" Sg P2 ;
no_Quant = {
s = \\_ => "ямар ч" ;
sp = \\_,nc => (regN "ямар ч").s ! SF Sg nc ;
isPoss = False ;
isDef = False
} ;
not_Predet = {
s = "биш" ;
isPre = False ;
isDef = True
} ;
if_then_Conj = mkConj "хэрэв" "" ;
at_least_AdN = ss "хамгийн багадаа" ;
at_most_AdN = ss "хамгийн ихдээ" ;
nobody_NP = mkNP "хэн ч" Definite ;
nothing_NP = mkNP "юу ч" Definite ;
except_Prep = mkPrep Abl "гадна" ;
as_CAdv = lin CAdv {s = "шиг" ; c2 = noPrep Nom} ;
have_V2 = mkV2 (mkV "байх") ;
lin language_title_Utt = ss "Монгол" ;
}