From d505fa5b6737b6b78fb65161cea3c2ac175494ab Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 9 Apr 2010 14:37:25 +0000 Subject: generalized the Person category in Phrasebook to plurals, added some new Words --- examples/phrasebook/WordsFin.gf | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'examples/phrasebook/WordsFin.gf') diff --git a/examples/phrasebook/WordsFin.gf b/examples/phrasebook/WordsFin.gf index f8a8415dd..bf09544f3 100644 --- a/examples/phrasebook/WordsFin.gf +++ b/examples/phrasebook/WordsFin.gf @@ -143,11 +143,21 @@ concrete WordsFin of Words = SentencesFin ** open_Adv = ParadigmsFin.mkAdv "avoinna" ; closed_Adv = ParadigmsFin.mkAdv "kiinni" ; - nameOf : {name : NP ; isPron : Bool ; poss : Det} -> NP = \p -> - let nimi = L.name_N in - case p.isPron of { - True => mkNP p.poss nimi ; - _ => mkNP (E.GenNP p.name) nimi - } ; + NPPerson : Type = {name : NP ; isPron : Bool ; poss : Quant} ; + + xOf : Bool -> N -> NPPerson -> NPPerson = \n,x,p -> + let num = if_then_else Num n plNum sgNum in { + name = case p.isPron of { + True => mkNP p.poss num x ; + _ => mkNP (E.GenNP p.name) num x + } ; + isPron = False ; + poss = SyntaxFin.mkQuant he_Pron -- not used because not pron + } ; + + + nameOf : NPPerson -> NP = \p -> (xOf sing L.name_N p).name ; + + sing = False ; plur = True ; } -- cgit v1.2.3