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.

param PronForm = PF Case AfterPrep Possessive;<br />

oper Pronoun = { s : PronForm => Str ; n : Number ; p : Person ;<br />

g: PronGen ; pron: Bool} ;<br />

Gender is not morphologically determined for first and second person pronouns.<br />

param PronGen = PGen Gender | PNoGen ;<br />

The following coercion is useful:<br />

oper<br />

pgen2gen : PronGen -> Gender = \p -> case p of {<br />

PGen g => g ;<br />

PNoGen => variants {Masc ; Fem}<br />

} ;<br />

oper<br />

extCase: PronForm -> Case = \pf -> case pf of<br />

{ PF Nom _ _ => Nom ;<br />

PF Gen _ _ => Gen ;<br />

PF Dat _ _ => Dat ;<br />

PF Inst _ _ => Inst ;<br />

PF Acc _ _ => Acc ;<br />

PF Prepos _ _ => Prepos<br />

} ;<br />

mkPronForm: Case -> AfterPrep -> Possessive -> PronForm =<br />

\c,n,p -> PF c n p ;<br />

CommNounPhrase: Type = {s : Number => Case => Str;<br />

g : Gender; anim : Animacy} ;<br />

NounPhrase : Type = { s : PronForm => Str ; n : Number ;<br />

p : Person ; g: PronGen ; anim : Animacy ; pron: Bool} ;<br />

mkNP : Number -> CommNounPhrase -> NounPhrase = \n,chelovek -><br />

{s = \\cas => chelovek.s ! n ! (extCase cas) ;<br />

n = n ; g = PGen chelovek.g ; p = P3 ; pron =False ;<br />

anim = chelovek.anim<br />

} ;<br />

det2NounPhrase : Adjective -> NounPhrase = \eto -><br />

{s = \\pf => eto.s ! (AF (extCase pf) Inanimate (ASg Neut));<br />

n = Sg ; g = PGen Neut ; pron = False ; p = P3 ;<br />

anim = Inanimate } ;<br />

pron2NounPhraseNum : Pronoun -> Animacy -> Number -> NounPhrase =<br />

\ona, anim, num -><br />

{s = ona.s ; n = num ; g = ona.g ;<br />

pron = ona.pron; p = ona.p ; anim = anim } ;<br />

Agreement of NP is a record. We’ll add Gender later.<br />

oper Agr = {n : Number ; p : Person} ;<br />

11

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

Saved successfully!

Ooh no, something went wrong!