diff options
| author | ramona.enache <ramona.enache@chalmers.se> | 2010-05-15 13:35:50 +0000 |
|---|---|---|
| committer | ramona.enache <ramona.enache@chalmers.se> | 2010-05-15 13:35:50 +0000 |
| commit | d1748049aaa5cb193cff11707e767308bca231e8 (patch) | |
| tree | ed2aecfe053f12aba033478b3d03e306dfeed22f /examples/phrasebook/SentencesRon.gf | |
| parent | 77fb23fdbc0a453e2d1913c95c3386ae416e72d0 (diff) | |
q
Diffstat (limited to 'examples/phrasebook/SentencesRon.gf')
| -rw-r--r-- | examples/phrasebook/SentencesRon.gf | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/examples/phrasebook/SentencesRon.gf b/examples/phrasebook/SentencesRon.gf index 7f8437f36..f604de218 100644 --- a/examples/phrasebook/SentencesRon.gf +++ b/examples/phrasebook/SentencesRon.gf @@ -45,14 +45,24 @@ lin IMale = {name = mkNP i_Pron ; isPron = True ; poss = mkQuant i_Pron} ; YouFamMale = {name = mkNP youSg_Pron ; isPron = True ; poss = mkQuant youSg_Pron} ; YouPolMale = {name = mkNP youPol_Pron ; isPron = True ; poss = mkQuant youPol_Pron} ; - ThePlace kind = let name : NP = mkNP the_Quant kind.name in { + ThePlace kind = let name : NP = mkNP the_Quant kind.name ; + condAt : Bool = needIndefPlace kind.name kind.at ; + condTo : Bool = needIndefPlace kind.name kind.to in { name = name ; - at = if_then_else Adv kind.at.needIndef (mkAdv kind.at name) (mkAdv kind.at (mkNP kind.name)); - to = if_then_else Adv kind.at.needIndef (mkAdv kind.to name) (mkAdv kind.at (mkNP kind.name)) + at = if_then_else Adv condAt (mkAdv kind.at (mkNP the_Art kind.name)) (mkAdv kind.at name); + to = if_then_else Adv condTo (mkAdv kind.at (mkNP the_Art kind.name)) (mkAdv kind.to name) } ; CitiNat n = {pers = n.propPers; prop = n.propObj} ; 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 ; + + +oper needIndefPlace : CN -> Prep -> Bool = \cn,prep -> + case <cn.isComp,prep.needIndef> of + {<True,_> => True ; + <False,True> => False ; + _ => True + }; } |
