1
0
forked from GitHub/gf-rgl

fixed Slash functions (#458)

This commit is contained in:
Ekaterina Voloshina
2024-03-22 06:18:40 +01:00
committed by GitHub
parent bb5107fa99
commit f85fa84ae0
6 changed files with 115 additions and 89 deletions
+64
View File
@@ -599,6 +599,70 @@ oper
-- we can store the sya-schema and 'BIND++' as necessary.
oper
VP : Type = {
adv : AgrTable ; -- modals are in position of adverbials ones numgen gets fixed
verb : ResRus.VerbForms ;
dep : Str ; -- dependent infinitives and such
compl : ComplTable
} ;
VPSlash = {
adv : AgrTable ; -- modals are in position of adverbials ones numgen gets fixed
verb : VerbForms ;
dep : Str ; -- dependent infinitives and such
compl1 : ComplTable ;
compl2 : ComplTable ;
c : ComplementCase ;
} ; ----
slashV : VerbForms -> ComplementCase -> VPSlash = \verb,c -> {
verb = verb ;
adv = \\a => [];
compl1 = \\_,a => [] ;
compl2 = \\_,a => [] ;
dep = [] ;
c = c ;
} ;
insertSlashObjA : Adjective -> ComplementCase -> VPSlash -> VPSlash = \ap,c,slash -> {
verb = slash.verb ;
adv = slash.adv ;
compl1 = slash.compl1 ;
compl2 = \\p,a => case p of {
Pos => case ap.preferShort of {
PreferFull => slash.compl2 ! p ! a ++ ap.s ! agrGenNum a ! Animate ! slash.c.c ;
PrefShort => slash.compl2 ! p ! a ++ ap.short ! a
} ;
Neg => case ap.preferShort of {
PreferFull => case neggen slash.c of {
False => slash.compl2 ! p ! a ++ ap.s ! agrGenNum a ! Animate ! slash.c.c ;
True => slash.compl2 ! p ! a ++ ap.s ! agrGenNum a ! Animate ! Gen
} ;
PrefShort => slash.compl2 ! p ! a ++ ap.short ! a
}
} ;
c = {s="" ; c=Acc ; neggen=True ; hasPrep=False};
dep = slash.dep ;
} ;
insertSlashObj1 : (Polarity => Agr => Str) -> ComplementCase -> VPSlash -> VPSlash = \obj,c,slash -> {
verb = slash.verb ;
adv = slash.adv;
compl1 =\\p,a => slash.compl1 ! p ! a ++ obj ! p ! a;
compl2 = slash.compl2 ;
c = slash.c ;
dep = slash.dep ;
} ;
insertSlashObj2 : (Polarity => Agr => Str) -> ComplementCase -> VPSlash -> VPSlash = \obj,c,slash -> {
verb = slash.verb ;
adv = slash.adv;
compl1 = slash.compl1 ;
compl2 =\\p,a => slash.compl2 ! p ! a ++ obj ! p ! a;
c = slash.c ;
dep = slash.dep ;
} ;
guessVerbForms : Aspect -> Transitivity -> Str -> Str -> Str -> VerbForms
= \asp,tran,inf,sg1,sg3 ->