summaryrefslogtreecommitdiff
path: root/next-lib/src/russian/ConjunctionRus.gf
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-01-08 08:28:43 +0000
committerkrasimir <krasimir@chalmers.se>2009-01-08 08:28:43 +0000
commitc1d8e8af55ecad48ff5e5bc4adf1739bd9411dc6 (patch)
treee5d018f2a5ddba2bee8964ea2d240ad8fc71d0ba /next-lib/src/russian/ConjunctionRus.gf
parentf7dfc6f1d7298ca5fd5aa63dddcdcb196ead251f (diff)
revert all changes related to the common Slavic grammar
Diffstat (limited to 'next-lib/src/russian/ConjunctionRus.gf')
-rw-r--r--next-lib/src/russian/ConjunctionRus.gf45
1 files changed, 23 insertions, 22 deletions
diff --git a/next-lib/src/russian/ConjunctionRus.gf b/next-lib/src/russian/ConjunctionRus.gf
index 9810b5d22..783399ad0 100644
--- a/next-lib/src/russian/ConjunctionRus.gf
+++ b/next-lib/src/russian/ConjunctionRus.gf
@@ -11,13 +11,11 @@ concrete ConjunctionRus of Conjunction =
ConjAdv = conjunctDistrSS ;
- ConjNP c xs = conjunctDistrTable PronForm c xs ** {
- a = {n = conjNumber c.n xs.a.n;
- p = xs.a.p;
- g = xs.a.g
- };
- anim = xs.anim
- } ;
+ ConjNP c xs =
+ conjunctDistrTable PronForm c xs ** {n = conjNumber c.n xs.n ;
+ p = xs.p ; pron = xs.pron ; anim = xs.anim ;
+ g = xs.g } ;
+
ConjAP c xs = conjunctDistrTable AdjForm c xs ** {p = xs.p} ;
@@ -32,26 +30,20 @@ concrete ConjunctionRus of Conjunction =
ConsAdv = consrSS comma ;
- ConsNP x xs = consTable PronForm comma xs x ** {
- a = {n = conjNumber xs.a.n x.a.n;
- g = conjPGender x.a.g xs.a.g;
- p = conjPerson xs.a.p x.a.p
- };
- anim = conjAnim x.anim xs.anim
- } ;
+ ConsNP x xs =
+ consTable PronForm comma xs x **
+ {n = conjNumber xs.n x.n ; g = conjPGender x.g xs.g ;
+ anim = conjAnim x.anim xs.anim ;
+ p = conjPerson xs.p x.p; pron = conjPron xs.pron x.pron} ;
ConsAP x xs = consTable AdjForm comma xs x ** {p = andB xs.p x.p} ;
BaseAP x y = twoTable AdjForm x y ** {p = andB x.p y.p} ;
- BaseNP x y = twoTable PronForm x y ** {
- a = {n = conjNumber x.a.n y.a.n;
- g = conjPGender x.a.g y.a.g;
- p = conjPerson x.a.p y.a.p
- };
- anim = conjAnim x.anim y.anim
- } ;
+ BaseNP x y = twoTable PronForm x y ** {n = conjNumber x.n y.n ;
+ g = conjPGender x.g y.g ; p = conjPerson x.p y.p ;
+ pron = conjPron x.pron y.pron ; anim = conjAnim x.anim y.anim } ;
---- AR 17/12/2008
BaseRS x y = twoTable3 GenNum Case Animacy x y ** {c = y.c} ;
@@ -64,7 +56,8 @@ concrete ConjunctionRus of Conjunction =
[Adv] = {s1,s2 : Str} ;
-- The structure is the same as for sentences. The result is either always plural
-- or plural if any of the components is, depending on the conjunction.
- [NP] = {s1,s2 : PronForm => Str; a : Agr; anim : Animacy} ;
+ [NP] = { s1,s2 : PronForm => Str ; g: PronGen ;
+ anim : Animacy ; n : Number ; p : Person ; pron : Bool } ;
-- The structure is the same as for sentences. The result is a prefix adjective
-- if and only if all elements are prefix.
[AP] = {s1,s2 : AdjForm => Str ; p : Bool} ;
@@ -90,6 +83,14 @@ oper
-- conjPerson : Person -> Person -> Person = \_,p ->
-- p ;
+-- For pron, we let the latter argument win - "Маша или моя мама" (Nominative case)
+-- but - "моей или Машина мама" (Genetive case) both corresponds to
+-- "Masha's or my mother"), which is actually not exactly correct, since
+-- different cases should be used - "Машина или моя мама".
+
+ conjPron : Bool -> Bool -> Bool = \_,p ->
+ p ;
+
-- For gender in a similar manner as for person:
-- Needed for adjective predicates like:
-- "Маша или Оля - красивая", "Антон или Олег - красивый",