forked from GitHub/gf-rgl
Some fixes
This commit is contained in:
@@ -22,13 +22,13 @@ lincat
|
|||||||
VP = {
|
VP = {
|
||||||
adv : AgrTable ; -- modals are in position of adverbials ones numgen gets fixed
|
adv : AgrTable ; -- modals are in position of adverbials ones numgen gets fixed
|
||||||
verb : ResRus.VerbForms ;
|
verb : ResRus.VerbForms ;
|
||||||
dep : Str ; -- dependent infinites and such
|
dep : Str ; -- dependent infinitives and such
|
||||||
compl : AgrTable
|
compl : AgrTable
|
||||||
} ;
|
} ;
|
||||||
VPSlash = {
|
VPSlash = {
|
||||||
adv : AgrTable ; -- modals are in position of adverbials ones numgen gets fixed
|
adv : AgrTable ; -- modals are in position of adverbials ones numgen gets fixed
|
||||||
verb : ResRus.VerbForms ;
|
verb : ResRus.VerbForms ;
|
||||||
dep : Str ; -- dependent infinites and such
|
dep : Str ; -- dependent infinitives and such
|
||||||
compl : AgrTable ;
|
compl : AgrTable ;
|
||||||
c : ComplementCase
|
c : ComplementCase
|
||||||
} ; ----
|
} ; ----
|
||||||
@@ -40,13 +40,13 @@ lincat
|
|||||||
Cl = {
|
Cl = {
|
||||||
subj,compl,adv : Str ;
|
subj,compl,adv : Str ;
|
||||||
verb : VerbForms ;
|
verb : VerbForms ;
|
||||||
dep : Str ; -- dependent infinites and such
|
dep : Str ; -- dependent infinitives and such
|
||||||
a : Agr
|
a : Agr
|
||||||
} ;
|
} ;
|
||||||
ClSlash = {
|
ClSlash = {
|
||||||
subj,compl,adv : Str ;
|
subj,compl,adv : Str ;
|
||||||
verb : VerbForms ;
|
verb : VerbForms ;
|
||||||
dep : Str ; -- dependent infiniteve and such
|
dep : Str ; -- dependent infinitives and such
|
||||||
a : Agr ;
|
a : Agr ;
|
||||||
c : ComplementCase
|
c : ComplementCase
|
||||||
} ;
|
} ;
|
||||||
@@ -70,7 +70,7 @@ lincat
|
|||||||
QCl = {
|
QCl = {
|
||||||
subj,compl,adv : Str ;
|
subj,compl,adv : Str ;
|
||||||
verb : VerbForms ;
|
verb : VerbForms ;
|
||||||
dep : Str ; -- dependent infinites and such
|
dep : Str ; -- dependent infinitives and such
|
||||||
a : Agr
|
a : Agr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ lincat
|
|||||||
subj : AdjTable ;
|
subj : AdjTable ;
|
||||||
compl,adv : AgrTable ;
|
compl,adv : AgrTable ;
|
||||||
verb : VerbForms ;
|
verb : VerbForms ;
|
||||||
dep : Str ; -- dependent infinites and such
|
dep : Str ; -- dependent infinitives and such
|
||||||
a : Agr
|
a : Agr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--# -path=.:../abstract:../common:../../prelude
|
--# -path=.:../abstract:../common:../../prelude
|
||||||
|
|
||||||
concrete IdiomRus of Idiom = CatRus ** open Prelude, TenseRus, ResRus, Coordination, MorphoRus in {
|
concrete IdiomRus of Idiom = CatRus ** open Prelude, ParamX, TenseRus, ResRus, Coordination, MorphoRus in {
|
||||||
flags optimize=all_subs ; coding=utf8 ;
|
flags optimize=all_subs ; coding=utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
@@ -12,20 +12,20 @@ lin
|
|||||||
|
|
||||||
-- : NP -> RS -> Cl ; -- it is I who did it
|
-- : NP -> RS -> Cl ; -- it is I who did it
|
||||||
CleftNP np rs = {
|
CleftNP np rs = {
|
||||||
subj=np.s ! Nom ;
|
subj="это" ++ np.s ! Nom ;
|
||||||
adv="это" ;
|
adv=[];
|
||||||
verb=nullVerb ; -- ???
|
verb=copulaEll ; -- ???
|
||||||
dep=[] ;
|
dep=[] ;
|
||||||
compl=embedInCommas (rs.s ! agrGenNum np.a ! Animate ! Nom) ; -- TODO: here or in subj???
|
compl=embedInCommas (rs.s ! agrGenNum np.a ! Animate ! Nom) ; -- TODO: here or in subj???
|
||||||
a=np.a
|
a=np.a
|
||||||
} ;
|
} ;
|
||||||
-- : Adv -> S -> Cl ; -- it is here she slept
|
-- : Adv -> S -> Cl ; -- it is here she slept
|
||||||
CleftAdv adv s = {
|
CleftAdv adv s = {
|
||||||
subj="это" ++ adv.s ++ comma ++ s.s ! Ind ; -- TODO: Check what is expressed by this? Why comma?
|
subj="это" ;
|
||||||
adv=[] ;
|
adv=adv.s ;
|
||||||
verb=nullVerb ; -- ???
|
verb=nullVerb ; -- ???
|
||||||
dep=[] ;
|
dep=[] ;
|
||||||
compl=[] ;
|
compl=s.s ! Ind ;
|
||||||
a=Ag (GSg Neut) P3
|
a=Ag (GSg Neut) P3
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ lin
|
|||||||
ImpPl1 vp =
|
ImpPl1 vp =
|
||||||
let a = Ag GPl P1 in
|
let a = Ag GPl P1 in
|
||||||
let pol = PPos in
|
let pol = PPos in
|
||||||
let parts = verbAgr vp.verb Infinitive Pres a pol.p in
|
let parts = verbAgr vp.verb Infinitive Pres a pol.p in -- colloquial, should be Fut, but then present fails...
|
||||||
let p1 = "давайте" in {
|
let p1 = "давайте" in {
|
||||||
s = p1 ++ pol.s ++ vp.adv ! a ++ parts.p2 ++ vp.dep ++ vp.compl ! a
|
s = p1 ++ pol.s ++ vp.adv ! a ++ parts.p2 ++ vp.dep ++ vp.compl ! a
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ lin
|
|||||||
-- : RP -> VP -> RCl ; -- who loves John
|
-- : RP -> VP -> RCl ; -- who loves John
|
||||||
RelVP rp vp = {
|
RelVP rp vp = {
|
||||||
subj=rp.s;
|
subj=rp.s;
|
||||||
adv=\\a=>[] ;
|
adv=\\a=>vp.adv ! Ag (GSg Neut) P3 ;
|
||||||
verb=vp.verb ;
|
verb=vp.verb ;
|
||||||
dep=vp.dep ;
|
dep=vp.dep ;
|
||||||
compl=vp.compl ;
|
compl=vp.compl ;
|
||||||
|
|||||||
@@ -104,7 +104,6 @@ oper
|
|||||||
} in
|
} in
|
||||||
noMinorCases nfb ;
|
noMinorCases nfb ;
|
||||||
|
|
||||||
-- TODO: gender can help identify cases more precisely
|
|
||||||
guessLessNounForms : Str -> Gender -> Animacy -> NounForms
|
guessLessNounForms : Str -> Gender -> Animacy -> NounForms
|
||||||
= \word, g, anim ->
|
= \word, g, anim ->
|
||||||
let nfb : NounFormsBase =
|
let nfb : NounFormsBase =
|
||||||
|
|||||||
@@ -24,9 +24,8 @@ lin
|
|||||||
-- : Temp -> Pol -> RCl -> RS ; -- that had not slept
|
-- : Temp -> Pol -> RCl -> RS ; -- that had not slept
|
||||||
UseRCl temp pol rcl = {
|
UseRCl temp pol rcl = {
|
||||||
s = \\gn,anim,cas =>
|
s = \\gn,anim,cas =>
|
||||||
let a=genNumAgrP3 gn in
|
let parts = R.verbAgr rcl.verb Ind temp.t rcl.a pol.p in
|
||||||
let parts = R.verbAgr rcl.verb Ind temp.t a pol.p in
|
temp.s ++ parts.p1 ++ pol.s ++ rcl.subj ! gn ! anim ! Nom ++ rcl.adv ! rcl.a ++ parts.p2 ++ rcl.dep ++ rcl.compl ! rcl.a ;
|
||||||
temp.s ++ parts.p1 ++ pol.s ++ rcl.subj ! gn ! anim ! cas ++ rcl.adv ! a ++ parts.p2 ++ rcl.dep ++ rcl.compl ! a ;
|
|
||||||
c = Nom
|
c = Nom
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -86,7 +85,6 @@ lin
|
|||||||
|
|
||||||
-- : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
-- : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
||||||
AdvSlash cls adv = cls ** {
|
AdvSlash cls adv = cls ** {
|
||||||
-- subj=cls.subj ++ adv.s -- two variants? TODO: check
|
|
||||||
adv=cls.adv ++ adv.s
|
adv=cls.adv ++ adv.s
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,16 @@
|
|||||||
# Some problematic places
|
# Some problematic places
|
||||||
|
|
||||||
> 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)))
|
||||||
довольно менее узко , чем всё не существовает что &+ -то
|
довольно менее узко , чем всё что &+ -то не существует
|
||||||
|
|
||||||
Lang: DetCN (DetQuantOrd (PossPron he_Pron) (NumCard (NumDigits (IDig D_0))) (OrdSuperl bad_A)) (RelCN (ConjCN both7and_DConj (BaseCN (UseN2 mother_N2) (UseN lamp_N))) (UseRCl (TTAnt TPast ASimul) PNeg (RelCl (ImpersCl ready_VP))))
|
Lang: DetCN (DetQuantOrd (PossPron he_Pron) (NumCard (NumDigits (IDig D_0))) (OrdSuperl bad_A)) (RelCN (ConjCN both7and_DConj (BaseCN (UseN2 mother_N2) (UseN lamp_N))) (UseRCl (TTAnt TPast ASimul) PNeg (RelCl (ImpersCl ready_VP))))
|
||||||
LangRus: 0 его самых плохих как матерей , так и ламп , таких не , что бы &+ ли готовым
|
LangRus: 0 его самых плохих как матерей , так и ламп , не таких , что бы &+ ли готовым
|
||||||
|
|
||||||
Lang: AdvS there7from_Adv (UseCl (TTAnt TFut AAnter) PPos (CleftNP everybody_NP (UseRCl (TTAnt TPres AAnter) PPos (RelSlash (FunRP in8front_Prep (languageNP polish_Language) IdRP) (SlashPrep (PredVP somebody_NP hungry_VP) through_Prep)))))
|
Lang: AdvS there7from_Adv (UseCl (TTAnt TFut AAnter) PPos (CleftNP everybody_NP (UseRCl (TTAnt TPres AAnter) PPos (RelSlash (FunRP in8front_Prep (languageNP polish_Language) IdRP) (SlashPrep (PredVP somebody_NP hungry_VP) through_Prep)))))
|
||||||
LangRus: оттуда все это , польский перед которыми голоден
|
LangRus: оттуда все это , через польского перед которыми кто &+ -то голоден
|
||||||
|
|
||||||
Lang: ComplN3 distance_N3 (DetCN (DetQuant (PossPron youPol_Pron) NumSg) (SentCN (ComplN2 brother_N2 everything_NP) (EmbedVP hungry_VP)))
|
|
||||||
LangRus: расстояние от вашего брат всего быть голодно до
|
|
||||||
|
|
||||||
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: не некоторые из всех не это , не которые будут готовыми
|
||||||
|
|
||||||
> l PrepNP above_Prep (UsePron i_Pron)
|
> l PrepNP above_Prep (UsePron i_Pron)
|
||||||
над мной
|
над мной
|
||||||
@@ -21,15 +18,30 @@ AllRus: не некоторые из всех не это , которые не
|
|||||||
|
|
||||||
- verb zv index does not support "*", it figures forms out from 3 given examples instead. Most of the time.
|
- verb zv index does not support "*", it figures forms out from 3 given examples instead. Most of the time.
|
||||||
|
|
||||||
|
|
||||||
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 (CountNP someSg_Det (DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1 ∅))))))) (UseN worm_N))))
|
|
||||||
LangRus-NEW> некоторое из этих двадцати червей существует
|
|
||||||
|
|
||||||
Inherent number for nouns. eg, for geonames or pluralia tantum.
|
Inherent number for nouns. eg, for geonames or pluralia tantum.
|
||||||
|
|
||||||
** UseCl (TTAnt TPres ASimul) PPos (CleftNP (UsePron she_Pron) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash ∅ (SlashVP somebody_NP (SlashV2a write_V2)))))
|
** UseCl (TTAnt TPres ASimul) PPos (CleftNP (UsePron she_Pron) (UseRCl (TTAnt TCond ASimul) PPos (RelSlash IdRP (SlashVP somebody_NP (SlashV2a write_V2)))))
|
||||||
LangRus-NEW> она это , которую кто &+ -то пишет
|
LangRus-NEW> она это , которую кто &+ -то писал бы
|
||||||
LangRus-OLD> это она , которую кто-то пишет
|
LangRus-OLD> это она , которую кто-то пишет
|
||||||
|
|
||||||
|
** UseCl (TTAnt TPres ASimul) PPos (CleftNP (UsePron she_Pron) (UseRCl (TTAnt TPres ASimul) PPos (RelVP (FunRP with_Prep somebody_NP IdRP) thirsty_VP)))
|
||||||
|
LangRus-NEW> она это, кто-то с которой хочет пить
|
||||||
|
LangRus-OLD> это она , кто-то с которой хочет пить
|
||||||
|
|
||||||
|
** UseCl (TTAnt TPres ASimul) PPos (ImpersCl (ReflVP (SlashV2A paint_V2A (PositA ∅))))
|
||||||
|
LangRus-NEW> рисует горячее себя
|
||||||
|
LangRus-OLD> рисует горячим себя
|
||||||
|
|
||||||
|
AllRusAbs> l UseCl (TTAnt TPres ASimul) PPos (ImpersCl (ReflVP (SlashV2A paint_V2A (PositA hot_A))))
|
||||||
|
рисует горячее себя
|
||||||
|
|
||||||
|
AllRusAbs> p "рисуешь горячий себя"
|
||||||
|
UseCl (TTAnt TPres ASimul) PPos (GenericCl (ReflVP (SlashV2A paint_V2A (PositA hot_A))))
|
||||||
|
|
||||||
|
** UseCl (TTAnt TPres ASimul) PPos (GenericCl (ComplSlash (SlashV2A paint_V2A (PositA hot_A)) (UsePron she_Pron)))
|
||||||
|
LangRus-NEW> рисуешь горячую неё
|
||||||
|
LangRus-OLD> ты рисуешь горячим её
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user