Files
gf-rgl/src/latvian/ConjunctionLav.gf
normundsg 70a7bdbdeb Latvian: an optimized NP linearization type => fixed the double negation support in VPS
The flag indicating whether a NP has a negated determiner is now encapsulated in the algebraic parameter Agr, removing the extra field in the NP linearization type.
2013-05-02 13:17:53 +00:00

51 lines
1.2 KiB
Plaintext

--# -path=.:../abstract:../common:../prelude
concrete ConjunctionLav of Conjunction = CatLav ** open
Coordination,
ResLav,
Prelude
in {
flags
optimize = all_subs ;
coding = utf8 ;
lin
ConjS = conjunctDistrSS ;
ConjAdv = conjunctDistrSS ;
ConjNP conj ss = conjunctDistrTable Case conj ss ** {
a = toAgr (fromAgr ss.a).pers (conjNumber (fromAgr ss.a).num conj.n) (fromAgr ss.a).gend Pos
} ;
ConjAP conj ss = conjunctDistrTable4 Definite Gender Number Case conj ss ;
ConjRS conj ss = conjunctDistrTable Agr conj ss ;
-- These fun's are generated from the list cat's:
BaseS = twoSS ;
ConsS = consrSS comma ;
BaseAdv = twoSS ;
ConsAdv = consrSS comma ;
BaseNP x y = twoTable Case x y ** { a = conjAgr x.a y.a } ;
ConsNP xs x = consrTable Case comma xs x ** { a = conjAgr xs.a x.a } ;
BaseAP x y = twoTable4 Definite Gender Number Case x y ;
ConsAP xs x = consrTable4 Definite Gender Number Case comma xs x ;
BaseRS x y = twoTable Agr x y ;
ConsRS xs x = consrTable Agr comma xs x ;
lincat
[S] = { s1, s2 : Str } ;
[Adv] = { s1, s2 : Str } ;
[NP] = { s1, s2 : Case => Str ; a : Agr } ;
[AP] = { s1, s2 : Definite => Gender => Number => Case => Str } ;
[RS] = { s1, s2 : Agr => Str } ;
}