summaryrefslogtreecommitdiff
path: root/examples/phrasebook/SentencesRon.gf
diff options
context:
space:
mode:
authorramona.enache <ramona.enache@chalmers.se>2010-05-02 11:14:27 +0000
committerramona.enache <ramona.enache@chalmers.se>2010-05-02 11:14:27 +0000
commit608b3264fe3d037dc209c0872c6962d2bc7116ac (patch)
treeb0356ed04706bdff444280f142c4d0bedd8e1a3a /examples/phrasebook/SentencesRon.gf
parent4e85f8ada33b2b7fb5f06750ef5f1d9ac81130b2 (diff)
fixed English, Dutch, French and Romanian phrasebooks
Diffstat (limited to 'examples/phrasebook/SentencesRon.gf')
-rw-r--r--examples/phrasebook/SentencesRon.gf24
1 files changed, 17 insertions, 7 deletions
diff --git a/examples/phrasebook/SentencesRon.gf b/examples/phrasebook/SentencesRon.gf
index a60cd9e1a..1b7f54af1 100644
--- a/examples/phrasebook/SentencesRon.gf
+++ b/examples/phrasebook/SentencesRon.gf
@@ -7,21 +7,31 @@ concrete SentencesRon of Sentences = NumeralRon ** SentencesI - [
(Syntax = SyntaxRon),
(Symbolic = SymbolicRon),
(Lexicon = LexiconRon) **
- open SyntaxRon, ExtraRon in {
+ open SyntaxRon, ExtraRon, (R = ResRon), (P = ParamX), (PR = ParadigmsRon) in {
oper
- NPNationalityRon : Type = {lang : NP ; country : NP ; propObj : A; propPers : A};
- CitizenshipRon : Type = {pers : A; prop : A};
+ NPNationalityRon : Type = {lang : NP ;
+ country : NP ;
+ propObj : A;
+ propPers : R.Gender => P.Number => Str};
+ CitizenshipRon : Type = {pers : R.Gender => P.Number => Str;
+ prop : A};
- mkNPNationalityRon : NP -> NP -> A -> A -> NPNationalityRon = \la,co,pro, prp ->
+ mkNPNationalityRon : NP -> NP -> A -> Str -> Str -> Str -> Str -> NPNationalityRon = \la,co,pro, s1,s2,s3,s4 ->
{lang = la ;
country = co ;
propObj = pro ;
- propPers = prp
+ propPers = mkCitiPers s1 s2 s3 s4
} ;
- mkCitizenshipRon : A -> A -> CitizenshipRon = \aobj, apers -> {pers = apers; prop = aobj};
+ mkCitizenshipRon : A -> Str -> Str -> Str -> Str -> CitizenshipRon = \aobj, ap1, ap2, ap3, ap4 -> {pers = mkCitiPers ap1 ap2 ap3 ap4; prop = aobj};
+
+ mkCitiPers : Str -> Str -> Str -> Str -> (R.Gender => P.Number => Str) = \francez, franceza, francezi, franceze ->
+table {R.Masc => table {P.Sg => francez;
+ P.Pl => francezi};
+ R.Fem => table {P.Sg => franceza;
+ P.Pl => franceze}};
lincat
@@ -41,7 +51,7 @@ lin
to = if_then_else Adv kind.at.needIndef (mkAdv kind.to name) (mkAdv kind.at (mkNP kind.name))
} ;
CitiNat n = {pers = n.propPers; prop = n.propObj} ;
-ACitizen p n = mkCl p.name n.pers ;
+ACitizen p n = mkCl p.name (PR.mkAdv (n.pers ! (p.name.a.g) ! (p.name.a.n))) ;
PCitizenship x = mkPhrase (mkUtt (mkAP x.prop)) ;
PropCit p = p.prop ;
}