summaryrefslogtreecommitdiff
path: root/examples/phrasebook/WordsFin.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2010-04-09 14:37:25 +0000
committeraarne <aarne@chalmers.se>2010-04-09 14:37:25 +0000
commitd505fa5b6737b6b78fb65161cea3c2ac175494ab (patch)
tree316a778a7869c6d264e2cb4850f032a39cdbe16b /examples/phrasebook/WordsFin.gf
parent1903fe8bf99cf6f567669a803f4b725478309ad3 (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.gf22
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 ;
}