18.02.2013 Views

GF Russian Resource Library

GF Russian Resource Library

GF Russian Resource Library

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

DConjAP : DConj -> [AP] -> AP ; -- "both even and prime"<br />

”i q�tny�, i prosto�”<br />

DConjNP : DConj -> [NP] -> NP ; -- "either John or Mary"<br />

”libo Ivan, libo Maxa”<br />

DConjAdv : DConj -> [Adv] -> Adv; -- "both badly and slowly"<br />

7.1.2 Categories<br />

These categories are only used in this module.<br />

cat<br />

[S]{2} ;<br />

[Adv]{2} ;<br />

[NP]{2} ;<br />

[AP]{2} ;<br />

7.1.3 List constructors<br />

”i ploho, i medlenno”<br />

The list constructors are derived from the list notation and therefore not given<br />

explicitly. But here are their type signatures:<br />

}<br />

-- BaseC : C -> C -> [C] ; -- for C = S, AP, NP, Adv<br />

-- ConsC : C -> [C] -> [C] ;<br />

7.2 <strong>Russian</strong> Implementation<br />

Most of the functions have generic implementations that use dependent types and,<br />

therefore, the same for all languages and all categories.<br />

concrete ConjunctionRus of Conjunction =<br />

CatRus ** open ResRus, Coordination, Prelude in {<br />

flags optimize=all_subs ; coding=utf8 ;<br />

lin<br />

ConjS = conjunctSS ;<br />

DConjS = conjunctDistrSS ;<br />

ConjAdv = conjunctSS ;<br />

DConjAdv = conjunctDistrSS ;<br />

ConjNP c xs =<br />

conjunctTable PronForm c xs ** {n = conjNumber c.n xs.n ;<br />

anim = xs.anim ;<br />

p = xs.p; g = xs.g ; pron = xs.pron} ;<br />

DConjNP c xs =<br />

conjunctDistrTable PronForm c xs ** {n = conjNumber c.n xs.n ;<br />

p = xs.p ; pron = xs.pron ; anim = xs.anim ;<br />

27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!