forked from GitHub/gf-rgl
Fixes to num size and other fixes
This commit is contained in:
@@ -8,13 +8,12 @@ lin
|
|||||||
tired_VP = mkVP (P.mkA "усталый" "" "1*a/c'" PrefFull) ;
|
tired_VP = mkVP (P.mkA "усталый" "" "1*a/c'" PrefFull) ;
|
||||||
scared_VP = mkVP (P.mkV Imperfective "бояться" "боюсь" "боится") ; -- intran
|
scared_VP = mkVP (P.mkV Imperfective "бояться" "боюсь" "боится") ; -- intran
|
||||||
ill_VP = mkVP ( P.mkA "больной" "" "1*b" PrefShort) ;
|
ill_VP = mkVP ( P.mkA "больной" "" "1*b" PrefShort) ;
|
||||||
ready_VP = mkVP (P.mkA "готовый" "" "1a" PrefShort) ;
|
ready_VP = mkVP (P.mkA "готовый" "" "1a" PrefFull) ;
|
||||||
|
|
||||||
-- : NP -> QCl ; -- what is x's name / wie heisst x (Ger)
|
-- : NP -> QCl ; -- what is x's name / wie heisst x (Ger)
|
||||||
what_name_QCl np = E.PredIAdvVP how_IAdv (ComplSlash (SlashV2a (P.mkV2 (P.mkV Imperfective "звать" "зову" "зовёт") Gen)) np) ;
|
what_name_QCl np = E.PredIAdvVP how_IAdv (ComplSlash (SlashV2a (P.mkV2 (P.mkV Imperfective "звать" "зову" "зовёт") Gen)) np) ;
|
||||||
|
|
||||||
-- languages
|
-- languages
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Language = N ;
|
Language = N ;
|
||||||
Timeunit = N ;
|
Timeunit = N ;
|
||||||
@@ -79,9 +78,9 @@ lin
|
|||||||
-- : Weekday -> Adv ; -- on Mondays
|
-- : Weekday -> Adv ; -- on Mondays
|
||||||
weekdayHabitualAdv w = P.mkAdv (EX.along_Prep.s ++ (w.pdat)) ; -- on Sundays
|
weekdayHabitualAdv w = P.mkAdv (EX.along_Prep.s ++ (w.pdat)) ; -- on Sundays
|
||||||
-- : Weekday -> Adv ; -- last Monday
|
-- : Weekday -> Adv ; -- last Monday
|
||||||
weekdayLastAdv w = P.mkAdv (EX.to2_Prep.s ++ (PositA (P.mkA "прошлый")).s ! GSg Fem ! Inanimate ! Acc ++ w.sacc) ;
|
weekdayLastAdv w = P.mkAdv (EX.to2_Prep.s ++ (PositA (P.mkA "прошлый")).s ! GSg w.g ! Inanimate ! Acc ++ w.sacc) ;
|
||||||
-- : Weekday -> Adv ; -- next Monday
|
-- : Weekday -> Adv ; -- next Monday
|
||||||
weekdayNextAdv w = P.mkAdv (EX.to2_Prep.s ++ (PositA (P.mkA "следующий")).s ! GSg Fem ! Inanimate ! Acc ++ w.sacc) ;
|
weekdayNextAdv w = P.mkAdv (EX.to2_Prep.s ++ (PositA (P.mkA "следующий")).s ! GSg w.g ! Inanimate ! Acc ++ w.sacc) ;
|
||||||
|
|
||||||
-- : Month -> Adv ; -- in June
|
-- : Month -> Adv ; -- in June
|
||||||
monthAdv month = P.mkAdv ("в" ++ month.sloc) ;
|
monthAdv month = P.mkAdv ("в" ++ month.sloc) ;
|
||||||
@@ -115,7 +114,7 @@ lin
|
|||||||
let ap=adjFormsAdjective a in
|
let ap=adjFormsAdjective a in
|
||||||
let as_n_units=(how_IAdv.s
|
let as_n_units=(how_IAdv.s
|
||||||
++ card.s ! Neut ! Inanimate ! Nom
|
++ card.s ! Neut ! Inanimate ! Nom
|
||||||
++ cn.s ! numSizeNum card.size ! (numSizeCase card.size)) in {
|
++ cn.s ! numSizeNum Nom card.size ! (numSizeCase Nom card.size)) in { --? Nom?
|
||||||
s=\\gn,anim,cas=> ap.s!gn!anim!cas ++ as_n_units ;
|
s=\\gn,anim,cas=> ap.s!gn!anim!cas ++ as_n_units ;
|
||||||
short=\\a=> ap.short ! a ++ as_n_units ;
|
short=\\a=> ap.short ! a ++ as_n_units ;
|
||||||
preferShort=PrefFull ;
|
preferShort=PrefFull ;
|
||||||
@@ -125,7 +124,7 @@ lin
|
|||||||
-- : Card -> CN -> NP -> NP ; -- x ounces of this flour
|
-- : Card -> CN -> NP -> NP ; -- x ounces of this flour
|
||||||
n_units_of_NP card cn np = {
|
n_units_of_NP card cn np = {
|
||||||
s = \\cas => card.s ! Neut ! Inanimate ! cas
|
s = \\cas => card.s ! Neut ! Inanimate ! cas
|
||||||
++ cn.s ! numSizeNum card.size ! (numSizeCase card.size)
|
++ cn.s ! numSizeNum cas card.size ! (numSizeCase cas card.size)
|
||||||
++ np.s ! Gen ;
|
++ np.s ! Gen ;
|
||||||
pron=False ;
|
pron=False ;
|
||||||
a = Ag (gennum cn.g (numSizeNumber card.size)) P3
|
a = Ag (gennum cn.g (numSizeNumber card.size)) P3
|
||||||
@@ -135,7 +134,7 @@ lin
|
|||||||
s=\\n,cas=> cn.s ! n ! cas
|
s=\\n,cas=> cn.s ! n ! cas
|
||||||
++ "на"
|
++ "на"
|
||||||
++ card.s ! Neut ! Inanimate ! Nom
|
++ card.s ! Neut ! Inanimate ! Nom
|
||||||
++ cn_unit.s ! (numSizeNum card.size) ! (numSizeCase card.size)
|
++ cn_unit.s ! numSizeNum Nom card.size ! numSizeCase Nom card.size
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|||||||
@@ -9,8 +9,7 @@ lin
|
|||||||
-- : Det -> CN -> NP ; -- the man
|
-- : Det -> CN -> NP ; -- the man
|
||||||
DetCN det cn =
|
DetCN det cn =
|
||||||
let n = numSizeNumber det.size in {
|
let n = numSizeNumber det.size in {
|
||||||
-- TODO: fix some cases in README
|
s=\\cas => det.s ! cn.g ! cn.anim ! cas ++ cn.s ! numSizeNum cas det.size ! numSizeCase cas det.size;
|
||||||
s=\\cas => det.s ! cn.g ! cn.anim ! cas ++ sizeNumCase cn.s det.size ;
|
|
||||||
pron=False ;
|
pron=False ;
|
||||||
a=Ag (gennum det.g n) P3
|
a=Ag (gennum det.g n) P3
|
||||||
} ;
|
} ;
|
||||||
@@ -26,7 +25,7 @@ lin
|
|||||||
UsePron pron = lin NP (pronFormsPronoun pron) ;
|
UsePron pron = lin NP (pronFormsPronoun pron) ;
|
||||||
|
|
||||||
-- : Predet -> NP -> NP ; -- only the man
|
-- : Predet -> NP -> NP ; -- only the man
|
||||||
PredetNP predet np = np ** {s=\\cas => predet.s ! (agrGenNum np.a) ! Inanimate ! cas ++ np.s ! numSizeCase predet.size} ;
|
PredetNP predet np = np ** {s=\\cas => predet.s ! (agrGenNum np.a) ! Inanimate ! cas ++ np.s ! numSizeCase cas predet.size} ;
|
||||||
|
|
||||||
-- : NP -> V2 -> NP ; -- the man seen
|
-- : NP -> V2 -> NP ; -- the man seen
|
||||||
PPartNP np v2 = np ** {
|
PPartNP np v2 = np ** {
|
||||||
@@ -43,14 +42,14 @@ lin
|
|||||||
|
|
||||||
-- : Det -> NP ; -- these five
|
-- : Det -> NP ; -- these five
|
||||||
DetNP det = {
|
DetNP det = {
|
||||||
s=\\c => det.s ! det.g ! Inanimate ! c ;
|
s=\\cas => det.s ! det.g ! Inanimate ! cas ;
|
||||||
pron=False ;
|
pron=False ;
|
||||||
a=Ag (gennum det.g (numSizeNumber det.size)) P3
|
a=Ag (gennum det.g (numSizeNumber det.size)) P3
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : CN -> NP ; -- (beer)
|
-- : CN -> NP ; -- (beer)
|
||||||
MassNP cn = {
|
MassNP cn = {
|
||||||
s = \\c => cn.s ! Sg ! c ; -- can it be plural-only? eg квасцы
|
s = \\cas => cn.s ! Sg ! cas ; -- can it be plural-only? eg квасцы
|
||||||
pron=False ;
|
pron=False ;
|
||||||
a = Ag (gennum cn.g Sg) P3
|
a = Ag (gennum cn.g Sg) P3
|
||||||
} ;
|
} ;
|
||||||
@@ -73,13 +72,13 @@ lin
|
|||||||
-- : Numeral -> Card ; -- fifty-one
|
-- : Numeral -> Card ; -- fifty-one
|
||||||
NumNumeral n = n ;
|
NumNumeral n = n ;
|
||||||
-- : Card -> Num
|
-- : Card -> Num
|
||||||
NumCard c = c ;
|
NumCard card = card ;
|
||||||
-- : Digits -> Card ; -- 51
|
-- : Digits -> Card ; -- 51
|
||||||
NumDigits n = {s = \\_,_,_ => n.s ; size = n.size } ;
|
NumDigits n = {s = \\_,_,_ => n.s ; size = n.size } ;
|
||||||
|
|
||||||
-- : Quant -> Num -> Det ; -- these five
|
-- : Quant -> Num -> Det ; -- these five
|
||||||
DetQuant quant num = {
|
DetQuant quant num = {
|
||||||
s=\\g,a,c => quant.s ! (gennum g (numSizeNumber num.size)) ! a ! c ++ num.s ! g ! a ! c ;
|
s=\\g,a,cas => quant.s ! (gennum g (numSizeNumber num.size)) ! a ! cas ++ num.s ! g ! a ! cas ;
|
||||||
g=quant.g ;
|
g=quant.g ;
|
||||||
c=quant.c ;
|
c=quant.c ;
|
||||||
size=num.size
|
size=num.size
|
||||||
@@ -87,10 +86,9 @@ lin
|
|||||||
|
|
||||||
-- : Quant -> Num -> Ord -> Det ; -- these five best
|
-- : Quant -> Num -> Ord -> Det ; -- these five best
|
||||||
DetQuantOrd quant num ord = {
|
DetQuantOrd quant num ord = {
|
||||||
s=\\g,a,c => num.s ! g ! a ! c
|
s=\\g,a,cas => num.s ! g ! a ! cas
|
||||||
++ quant.s ! (gennum g (numSizeNumber num.size)) ! a ! c
|
++ quant.s ! (gennum g (numSizeNumber num.size)) ! a ! cas
|
||||||
--GenNum => Animacy => Case => Str
|
++ (adjFormsAdjective ord).s ! gennum quant.g (numSizeNum cas num.size) ! Inanimate ! numSizeCase cas num.size ;
|
||||||
++ (adjFormsAdjective ord).s ! gennum quant.g (numSizeNum num.size) ! Inanimate ! numSizeCase num.size ;
|
|
||||||
g=quant.g ;
|
g=quant.g ;
|
||||||
c=quant.c ;
|
c=quant.c ;
|
||||||
size=num.size
|
size=num.size
|
||||||
@@ -115,14 +113,14 @@ lin
|
|||||||
|
|
||||||
-- : AdN -> Card -> Card
|
-- : AdN -> Card -> Card
|
||||||
AdNum adn card = card ** {
|
AdNum adn card = card ** {
|
||||||
s=\\g,a,c => adn.s ++ card.s ! g ! a ! c
|
s=\\g,a,cas => adn.s ++ card.s ! g ! a ! cas
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
---------------
|
---------------
|
||||||
-- Common nouns
|
-- Common nouns
|
||||||
|
|
||||||
-- : AP -> CN -> CN ; -- big house - большой дом
|
-- : AP -> CN -> CN ; -- big house - большой дом
|
||||||
AdjCN ap cn = cn ** {s = \\n,c => preOrPost (notB ap.isPost) (ap.s ! (gennum cn.g n) ! cn.anim ! c) (cn.s ! n ! c)} ;
|
AdjCN ap cn = cn ** {s = \\n,cas => preOrPost (notB ap.isPost) (ap.s ! (gennum cn.g n) ! cn.anim ! cas) (cn.s ! n ! cas)} ;
|
||||||
|
|
||||||
-- : N -> CN
|
-- : N -> CN
|
||||||
UseN n = nounFormsNoun n ;
|
UseN n = nounFormsNoun n ;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ lin
|
|||||||
-- : IP -> VP -> QCl ; -- who walks
|
-- : IP -> VP -> QCl ; -- who walks
|
||||||
QuestVP ip vp = {
|
QuestVP ip vp = {
|
||||||
subj=ip.nom ;
|
subj=ip.nom ;
|
||||||
adv=[] ;
|
adv=vp.adv ! ip.a ;
|
||||||
verb=vp.verb ;
|
verb=vp.verb ;
|
||||||
dep=vp.dep ;
|
dep=vp.dep ;
|
||||||
compl=vp.compl ! ip.a ; --???
|
compl=vp.compl ! ip.a ; --???
|
||||||
@@ -63,7 +63,7 @@ lin
|
|||||||
|
|
||||||
-- : IDet -> CN -> IP ; -- which five songs
|
-- : IDet -> CN -> IP ; -- which five songs
|
||||||
IdetCN idet cn = caseTableToRecord (\\cas => idet.s ! cn.g ! cn.anim ! cas
|
IdetCN idet cn = caseTableToRecord (\\cas => idet.s ! cn.g ! cn.anim ! cas
|
||||||
++ cn.s ! numSizeNum idet.size ! numSizeCase idet.size)
|
++ cn.s ! numSizeNum cas idet.size ! numSizeCase cas idet.size)
|
||||||
(Ag (gennum cn.g (numSizeNumber idet.size)) P3) cn.anim ;
|
(Ag (gennum cn.g (numSizeNumber idet.size)) P3) cn.anim ;
|
||||||
|
|
||||||
-- : IDet -> IP ; -- which five
|
-- : IDet -> IP ; -- which five
|
||||||
|
|||||||
@@ -1183,13 +1183,6 @@ oper
|
|||||||
Num2_4 => "тысячи" ; -- NumAll ?
|
Num2_4 => "тысячи" ; -- NumAll ?
|
||||||
_ => "тысяч"
|
_ => "тысяч"
|
||||||
} ;
|
} ;
|
||||||
sizeNumCase : (Number => Case => Str) -> NumSize -> Str
|
|
||||||
= \nt,size -> case size of {
|
|
||||||
Num1 => nt ! Sg ! Nom ;
|
|
||||||
Num2_4 => nt ! Sg ! Gen ; --?
|
|
||||||
Num5 => nt ! Pl ! Gen ;
|
|
||||||
NumAll => nt ! Pl ! Nom
|
|
||||||
} ;
|
|
||||||
|
|
||||||
---------------
|
---------------
|
||||||
-- Adverbs -- Наречия
|
-- Adverbs -- Наречия
|
||||||
@@ -1215,10 +1208,20 @@ oper
|
|||||||
= \ns -> case ns of {Num1 => Sg ; NumAll | Num2_4 | Num5 => Pl} ;
|
= \ns -> case ns of {Num1 => Sg ; NumAll | Num2_4 | Num5 => Pl} ;
|
||||||
|
|
||||||
-- The following two used in tandem to form the word, controlled by numeral
|
-- The following two used in tandem to form the word, controlled by numeral
|
||||||
numSizeNum : NumSize -> Number
|
numSizeNum : Case -> NumSize -> Number
|
||||||
= \ns -> case ns of {Num1 | Num2_4 => Sg ; Num5 | NumAll => Pl} ;
|
= \cas,ns -> case <cas,ns> of {
|
||||||
numSizeCase : NumSize -> Case
|
<Nom|Acc,Num2_4> => Sg ;
|
||||||
= \ns -> case ns of {Num1 | NumAll => Nom ; Num2_4 | Num5 => Gen} ;
|
<_,Num1> => Sg ;
|
||||||
|
_ => Pl
|
||||||
|
} ;
|
||||||
|
numSizeCase : Case -> NumSize -> Case
|
||||||
|
= \cas,ns -> case <cas,ns> of {
|
||||||
|
<Nom,Num1 | NumAll> => Nom ;
|
||||||
|
<Nom,Num2_4 | Num5> => Gen ;
|
||||||
|
<Acc,Num1 | NumAll> => Nom ;
|
||||||
|
<Acc,Num2_4 | Num5> => Gen ;
|
||||||
|
_ => cas
|
||||||
|
} ;
|
||||||
|
|
||||||
oper -- TODO:
|
oper -- TODO:
|
||||||
ComplementCase : Type = {s : Str ; c : Case ; hasPrep : Bool} ;
|
ComplementCase : Type = {s : Str ; c : Case ; hasPrep : Bool} ;
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ lin
|
|||||||
Infinitive => let parts = R.verbAgr cl.verb Infinitive temp.t cl.a pol.p in
|
Infinitive => let parts = R.verbAgr cl.verb Infinitive temp.t cl.a pol.p in
|
||||||
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
||||||
Ind => let parts = R.verbAgr cl.verb Ind temp.t cl.a pol.p in
|
Ind => let parts = R.verbAgr cl.verb Ind temp.t cl.a pol.p in
|
||||||
-- temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
||||||
temp.s ++ cl.adv ++ pol.s ++ parts.p1 ++ parts.p2 ++ cl.dep ++ cl.subj ++ cl.compl ;
|
-- temp.s ++ cl.adv ++ pol.s ++ parts.p1 ++ parts.p2 ++ cl.dep ++ cl.subj ++ cl.compl ;
|
||||||
Sbjv => let parts = R.verbAgr cl.verb Sbjv temp.t cl.a pol.p in
|
Sbjv => let parts = R.verbAgr cl.verb Sbjv temp.t cl.a pol.p in
|
||||||
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
||||||
Imperative => let parts = R.verbAgr cl.verb Imperative temp.t cl.a pol.p in
|
Imperative => let parts = R.verbAgr cl.verb Imperative temp.t cl.a pol.p in
|
||||||
@@ -102,7 +102,7 @@ lin
|
|||||||
-- : NP -> VP -> Cl ; -- John walks - Иван гуляет
|
-- : NP -> VP -> Cl ; -- John walks - Иван гуляет
|
||||||
PredVP np vp = {
|
PredVP np vp = {
|
||||||
subj=np.s ! Nom ;
|
subj=np.s ! Nom ;
|
||||||
adv=[] ;
|
adv=vp.adv ! np.a ;
|
||||||
verb=vp.verb ;
|
verb=vp.verb ;
|
||||||
dep=vp.dep ;
|
dep=vp.dep ;
|
||||||
compl=vp.compl ! np.a ;
|
compl=vp.compl ! np.a ;
|
||||||
@@ -112,7 +112,7 @@ lin
|
|||||||
-- : SC -> VP -> Cl ; -- that she goes is good - что она идёт есть хорошо
|
-- : SC -> VP -> Cl ; -- that she goes is good - что она идёт есть хорошо
|
||||||
PredSCVP sc vp = {
|
PredSCVP sc vp = {
|
||||||
subj=sc.s ;
|
subj=sc.s ;
|
||||||
adv=[] ;
|
adv=vp.adv ! (Ag (GSg Neut) P3) ; -- ???
|
||||||
verb=vp.verb ;
|
verb=vp.verb ;
|
||||||
dep=vp.dep ;
|
dep=vp.dep ;
|
||||||
compl=vp.compl ! Ag (GSg Neut) P3 ; -- ???
|
compl=vp.compl ! Ag (GSg Neut) P3 ; -- ???
|
||||||
|
|||||||
@@ -144,8 +144,8 @@ lin
|
|||||||
<Animate,Acc> => "скольких" -- also as Nom?
|
<Animate,Acc> => "скольких" -- also as Nom?
|
||||||
} ;
|
} ;
|
||||||
g=Neut ;
|
g=Neut ;
|
||||||
size=NumAll ; --it depends???
|
size=Num5 ; --it depends???
|
||||||
c=Nom --???
|
c=Gen --???
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
almost_AdA = ss "почти" ;
|
almost_AdA = ss "почти" ;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ lin
|
|||||||
|
|
||||||
-- : Det -> CN -> [Symb] -> NP ; -- (the) (2) numbers x and
|
-- : Det -> CN -> [Symb] -> NP ; -- (the) (2) numbers x and
|
||||||
CNSymbNP det cn xs = {
|
CNSymbNP det cn xs = {
|
||||||
s=\\cas => det.s ! cn.g ! cn.anim ! cas ++ sizeNumCase cn.s det.size ++ xs.s ;
|
s=\\cas => det.s ! cn.g ! cn.anim ! cas ++ cn.s ! numSizeNum cas det.size ! numSizeCase cas det.size ++ xs.s ;
|
||||||
pron=False ;
|
pron=False ;
|
||||||
a=Ag (gennum cn.g (numSizeNumber det.size)) P3
|
a=Ag (gennum cn.g (numSizeNumber det.size)) P3
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ lin
|
|||||||
-- : VV -> VP -> VP ; -- want to run
|
-- : VV -> VP -> VP ; -- want to run
|
||||||
ComplVV vv vp = vp ** {
|
ComplVV vv vp = vp ** {
|
||||||
verb=vv.v ;
|
verb=vv.v ;
|
||||||
dep=verbInf vp.verb ;
|
dep=verbInf vp.verb ++ vp.dep ;
|
||||||
adv=\\a=>vv.modal ! a ++ vp.adv ! a
|
adv=\\a=>vv.modal ! a ++ vp.adv ! a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ lin
|
|||||||
|
|
||||||
-- : VPSlash -> NP -> VP ; -- love it
|
-- : VPSlash -> NP -> VP ; -- love it
|
||||||
ComplSlash vps np = vps ** {
|
ComplSlash vps np = vps ** {
|
||||||
compl=\\a => vps.compl ! a ++ (applyPrep vps.c np) -- hasPrep? order?
|
compl=\\a => vps.compl ! np.a ++ (applyPrep vps.c np) -- hasPrep? order? compl agr lost?
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : VV -> VPSlash -> VPSlash ; -- want to buy
|
-- : VV -> VPSlash -> VPSlash ; -- want to buy
|
||||||
|
|||||||
@@ -894,6 +894,7 @@ oper
|
|||||||
<I | I', i+("ать"|"ять"), s2, s3> => 6 ;
|
<I | I', i+("ать"|"ять"), s2, s3> => 6 ;
|
||||||
<II, i+"ить", s2, s3> => 4 ; -- после шип -- here and below alternations possible
|
<II, i+"ить", s2, s3> => 4 ; -- после шип -- here and below alternations possible
|
||||||
<II, i+("ать"|"ять"|"еть"), s2, s3> => 5 ;
|
<II, i+("ать"|"ять"|"еть"), s2, s3> => 5 ;
|
||||||
|
-- _ => 1
|
||||||
_ => Predef.error ("Error: guessing verb conjugation does not work for:" + sg1 + sg3.p1 + ":" + inf + ":" + sgP1PresFut + ":" + sgP3PresFut)
|
_ => Predef.error ("Error: guessing verb conjugation does not work for:" + sg1 + sg3.p1 + ":" + inf + ":" + sgP1PresFut + ":" + sgP3PresFut)
|
||||||
} in <ZV conjtype No (VSS (case sg3.p2 of {I' => _B; _ => _A}) _A), refl> ;
|
} in <ZV conjtype No (VSS (case sg3.p2 of {I' => _B; _ => _A}) _A), refl> ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
# Some problematic places
|
# Some problematic places
|
||||||
|
|
||||||
|
|
||||||
|
AllRusAbs: UseCl (TTAnt TFut ASimul) PPos (PredVP (AdvNP (CountNP much_Det (DetCN (DetQuant DefArt NumSg) (UseN house_N))) (weekdayNextAdv monday_Weekday)) ready_VP)
|
||||||
|
AllRus: многие из дом в следующий понедельник будет готовым
|
||||||
|
|
||||||
> l UttS (AdvS (AdAdv quite_Adv (ComparAdvAdj less_CAdv narrow_A everything_NP)) (UseCl (TTAnt TPres ASimul) PNeg (ExistNP something_NP)))
|
> l UttS (AdvS (AdAdv quite_Adv (ComparAdvAdj less_CAdv narrow_A everything_NP)) (UseCl (TTAnt TPres ASimul) PNeg (ExistNP something_NP)))
|
||||||
довольно менее узко , чем всё не существовает что &+ -то
|
довольно менее узко , чем всё не существовает что &+ -то
|
||||||
|
|
||||||
@@ -18,9 +22,6 @@ LangRus: расстояние от вашего брат всего быть г
|
|||||||
> l (RelNP everybody_NP (UseRCl (TTAnt TFut ASimul) PPos (RelVP IdRP ill_VP)))
|
> l (RelNP everybody_NP (UseRCl (TTAnt TFut ASimul) PPos (RelVP IdRP ill_VP)))
|
||||||
все , которые будет больны
|
все , которые будет больны
|
||||||
|
|
||||||
> l timeunitRange (NumDigits (IDig D_1)) (NumDigits (IDig D_2)) year_Timeunit
|
|
||||||
от 1 до 2 года
|
|
||||||
|
|
||||||
AllRusAbs: UseCl (TTAnt TPres AAnter) PNeg (CleftNP (PredetNP not_Predet (CountNP somePl_Det everybody_NP)) (UseRCl (TTAnt TFut AAnter) PNeg (RelVP IdRP ready_VP)))
|
AllRusAbs: UseCl (TTAnt TPres AAnter) PNeg (CleftNP (PredetNP not_Predet (CountNP somePl_Det everybody_NP)) (UseRCl (TTAnt TFut AAnter) PNeg (RelVP IdRP ready_VP)))
|
||||||
AllRus: это не не некоторые из всех , которые не будет готовы
|
AllRus: это не не некоторые из всех , которые не будет готовы
|
||||||
|
|
||||||
@@ -37,3 +38,22 @@ AllRus: это не не некоторые из всех , которые не
|
|||||||
AllRusAbs: UttImpPol PPos (ImpVP (ComplSlash (Slash2V3 add_V3 everybody_NP) (PPartNP somebody_NP drink_V2)))
|
AllRusAbs: UttImpPol PPos (ImpVP (ComplSlash (Slash2V3 add_V3 everybody_NP) (PPartNP somebody_NP drink_V2)))
|
||||||
AllRus: складываем &+ те всех в кого &+ -то пит
|
AllRus: складываем &+ те всех в кого &+ -то пит
|
||||||
|
|
||||||
|
** UseCl (TTAnt TPres ASimul) PPos (ExistNP (DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1 ∅))))))) (UseN worm_N)))
|
||||||
|
LangRus-NEW> существуют двадцать эти червей
|
||||||
|
|
||||||
|
** UseCl (TTAnt TPres ASimul) PPos (GenericCl (ComplSlash (SlashV2a like_V2) (DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1 ∅))))))) (UseN woman_N))))
|
||||||
|
LangRus-NEW> нравишься двадцати этим женщин
|
||||||
|
|
||||||
|
** UseCl (TTAnt TPres ASimul) PPos (GenericCl (ComplSlash (SlashV2a speak_V2) (DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 ∅)))))))) (UseN person_N))))
|
||||||
|
LangRus-NEW> говоришь на двух этих лица
|
||||||
|
|
||||||
|
** UseCl (TTAnt TPres ASimul) PPos (ExistNP (CountNP someSg_Det (DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1 ∅))))))) (UseN worm_N))))
|
||||||
|
LangRus-NEW> существуют некоторое из двадцати этих червей
|
||||||
|
|
||||||
|
Lang: AdvVP (ExtAdvVP (ComplVV must_VV (AdVVP always_AdV scared_VP)) (weekdayNextAdv tuesday_Weekday)) here7from_Adv
|
||||||
|
LangRus: должно всегда бояться , в следующую вторник , отсюда
|
||||||
|
|
||||||
|
> l AdvVP (ComplSlash (SlashV2V beg_V2V ready_VP) (ExtAdvNP everybody_NP there7from_Adv)) already_Adv
|
||||||
|
просить быть готовыми всех , оттуда , уже
|
||||||
|
|
||||||
|
Inherent number for nouns. eg, for geonames or pluralia tantum.
|
||||||
|
|||||||
Reference in New Issue
Block a user