summaryrefslogtreecommitdiff
path: root/next-lib/src/russian/SentenceRus.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-12-17 15:41:38 +0000
committeraarne <aarne@cs.chalmers.se>2008-12-17 15:41:38 +0000
commit124738068a401b872369b8f4fb957bbdcd1bda87 (patch)
tree1038c6c8d514a5f74ed81e7f46496104bf9385dc /next-lib/src/russian/SentenceRus.gf
parentcb44a12c1be3141f69e9bb9cfb4ae6abe7ac68eb (diff)
completed Russian grammar with missing syntax functions (marked ---- AR 17/12/2008); their effects should be checked
Diffstat (limited to 'next-lib/src/russian/SentenceRus.gf')
-rw-r--r--next-lib/src/russian/SentenceRus.gf35
1 files changed, 25 insertions, 10 deletions
diff --git a/next-lib/src/russian/SentenceRus.gf b/next-lib/src/russian/SentenceRus.gf
index cf2b64637..3b3dc8b70 100644
--- a/next-lib/src/russian/SentenceRus.gf
+++ b/next-lib/src/russian/SentenceRus.gf
@@ -37,16 +37,29 @@ concrete SentenceRus of Sentence = CatRus ** open Prelude, ResRus in {
(sc.s ++ ne ++ vizhu ++ tebya)
(sc.s ++ vizhu ++ ne ++ tebya)
} ;
-{-
- SlashV2 ivan lubit = { s=\\b,clf => ivan.s ! PF Nom No NonPoss ++
- lubit.s! (getActVerbForm clf (pgen2gen ivan.g) ivan.n ivan.p) ;
- s2=lubit.s2; c=lubit.c };
-
- SlashVVV2 ivan khotet lubit =
- { s=\\b,clf => ivan.s ! PF Nom No NonPoss ++ khotet.s! (getActVerbForm clf (pgen2gen ivan.g) ivan.n ivan.p) ++ lubit.s! VFORM Act VINF ;
- s2=lubit.s2;
- c=lubit.c };
--}
+
+
+ ---- AR 17/12/2008
+ SlashVP Ya tebyaNeVizhu = {
+ s = \\b,clf =>
+ let {
+ ya = Ya.s ! (case clf of {
+ ClInfinit => (mkPronForm Acc No NonPoss);
+ _ => (mkPronForm Nom No NonPoss)
+ });
+ ne = case b of {Pos=>""; Neg=>"не"};
+ vizhu = tebyaNeVizhu.s ! clf ! (pgNum Ya.a.g Ya.a.n)! Ya.a.p;
+ khorosho = tebyaNeVizhu.s2 ;
+ tebya = tebyaNeVizhu.s3 ! (pgen2gen Ya.a.g) ! Ya.a.n
+ }
+ in
+ if_then_else Str tebyaNeVizhu.negBefore
+ (ya ++ ne ++ vizhu ++ tebya ++ khorosho)
+ (ya ++ vizhu ++ ne ++ tebya ++ khorosho) ;
+ s2=tebyaNeVizhu.s2 ;
+ c=tebyaNeVizhu.c
+ } ;
+
AdvSlash slash adv = {
s = \\b,clf => slash.s ! b ! clf ++ adv.s ;
c = slash.c;
@@ -110,6 +123,8 @@ concrete SentenceRus of Sentence = CatRus ** open Prelude, ResRus in {
AdvS a s = {s = a.s ++ "," ++ s.s} ; ---- AR 19/6/2007
+ ---- AR 17/12/2008
+ RelS s r = {s = s.s ++ "," ++ r.s ! gennum Neut Sg ! Nom ! Inanimate} ; ---- ?
}