diff options
| author | ramona.enache <ramona.enache@chalmers.se> | 2010-05-02 11:14:27 +0000 |
|---|---|---|
| committer | ramona.enache <ramona.enache@chalmers.se> | 2010-05-02 11:14:27 +0000 |
| commit | 608b3264fe3d037dc209c0872c6962d2bc7116ac (patch) | |
| tree | b0356ed04706bdff444280f142c4d0bedd8e1a3a /examples/phrasebook/SentencesRon.gf | |
| parent | 4e85f8ada33b2b7fb5f06750ef5f1d9ac81130b2 (diff) | |
fixed English, Dutch, French and Romanian phrasebooks
Diffstat (limited to 'examples/phrasebook/SentencesRon.gf')
| -rw-r--r-- | examples/phrasebook/SentencesRon.gf | 24 |
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 ; } |
