diff options
| author | aarne <aarne@chalmers.se> | 2010-04-09 14:37:25 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2010-04-09 14:37:25 +0000 |
| commit | d505fa5b6737b6b78fb65161cea3c2ac175494ab (patch) | |
| tree | 316a778a7869c6d264e2cb4850f032a39cdbe16b /examples/phrasebook/WordsFin.gf | |
| parent | 1903fe8bf99cf6f567669a803f4b725478309ad3 (diff) | |
generalized the Person category in Phrasebook to plurals, added some new Words
Diffstat (limited to 'examples/phrasebook/WordsFin.gf')
| -rw-r--r-- | examples/phrasebook/WordsFin.gf | 22 |
1 files changed, 16 insertions, 6 deletions
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 ; } |
