From d1748049aaa5cb193cff11707e767308bca231e8 Mon Sep 17 00:00:00 2001 From: "ramona.enache" Date: Sat, 15 May 2010 13:35:50 +0000 Subject: [PATCH] q --- examples/phrasebook/SentencesRon.gf | 16 +++++++++++++--- examples/phrasebook/WordsRon.gf | 20 ++++++++++---------- 2 files changed, 23 insertions(+), 13 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 of + { => True ; + => False ; + _ => True + }; } diff --git a/examples/phrasebook/WordsRon.gf b/examples/phrasebook/WordsRon.gf index 5dc64d47c..0d3fafc33 100644 --- a/examples/phrasebook/WordsRon.gf +++ b/examples/phrasebook/WordsRon.gf @@ -47,18 +47,18 @@ concrete WordsRon of Words = SentencesRon ** open -- places Airport = mkPlace (P.mkNR "aeroport") at_Prep ; - AmusementPark = mkPlace (P.compN (P.mkNR "parc") ["de distracții"]) in_Prep ; - Bank = mkPlace (P.mkN "bancă" "bănci") in_Prep ; + AmusementPark = mkCNPlace (mkCN (mkCN (P.mkNR "parc")) (mkAdv by8means_Prep (mkNP (P.mkPN "distracții")))) in_Prep to_Prep; + Bank = mkPlace (P.mkN "bancă" "bănci") at_Prep ; Bar = mkPlace (P.mkNR "bar") at_Prep ; Cafeteria = mkPlace (P.mkN "cantină" "cantine") in_Prep ; - Center = mkPlace (P.mkN "centru" "centre" ) in_Prep ; + Center = mkCNPlace (mkCN (P.mkN "centru" "centre" )) in_Prep in_Prep; Church = mkPlace (P.mkN "biserică" "biserici") at_Prep ; Cinema = mkPlace (P.mkNR "cinematograf") at_Prep ; Disco = mkPlace (P.mkN "discotecă" "discoteci" ) at_Prep ; Hospital = mkPlace (P.mkN "spital") at_Prep ; Hotel = mkPlace (P.mkNR "hotel") at_Prep ; Museum = mkPlace (P.mkN "muzeu" "muzee") at_Prep ; - Park = mkPlace (P.mkNR "parc") at_Prep ; + Park = mkPlace (P.mkNR "parc") in_Prep ; Parking = mkPlace (P.mkN "parcare" "parcări") in_Prep ; Pharmacy = mkPlace (P.mkN "farmacie" "farmacii" P.feminine) at_Prep; PostOffice = mkPlace (P.mkN "poștă" "poște") at_Prep ; @@ -194,8 +194,8 @@ concrete WordsRon of Words = SentencesRon ** open Wife = xOf sing (P.mkN "soţie") ; Husband = xOf sing (P.mkN "soţ" "soţi") ; Son = xOf sing (P.mkN "fiu" "fii") ; - Daughter = xOf sing (P.mkN "fiică" "fiice") ; - Children = xOf plur L.child_N ; + Daughter = xOf sing (P.mkN "fiică" "fiice") ; + Children = xOf plur L.child_N ; -- week days @@ -232,16 +232,16 @@ open_A : A = P.mkA "deschis" ; -- auxiliaries mkSimpSimpNat : Str -> Str -> NPNationalityRon = \nat, co -> - mkSimpNat nat co nat (nat + "ă") (nat + "i") (nat+"e"); + mkSimpNat nat co nat (nat + "a") (nat + "i") (nat+"e"); mkSimpNat : Str -> Str -> Str -> Str -> Str -> Str -> NPNationalityRon = \nat,co, citMS, citFS, citMP, citFP -> let adj = P.mkA nat in - mkNPNationalityRon (mkNP (P.mkPN (nat+"ă"))) (mkNP (P.mkPN co)) adj citMS citFS citMP citFP ; + mkNPNationalityRon (mkNP (P.mkPN (nat+"a"))) (mkNP (P.mkPN co)) adj citMS citFS citMP citFP ; mkNat : Str -> Str -> Str -> Str -> Str -> Str -> NPNationalityRon = \nat,co, citMS, citFS, citMP, citFP -> let adj = P.mkA (nat+"esc") in - mkNPNationalityRon (mkNP (P.mkPN (nat+"ă"))) (mkNP (P.mkPN co)) adj citMS citFS citMP citFP ; + mkNPNationalityRon (mkNP (P.mkPN (nat+"a"))) (mkNP (P.mkPN co)) adj citMS citFS citMP citFP ; mkCompNat : Str -> Str -> Str -> Str -> Str -> Str -> Str -> NPNationalityRon = \nat,co, adj, citMS, citFS, citMP, citFP -> let a = P.mkA adj in - mkNPNationalityRon (mkNP (P.mkPN (nat+"ă"))) (mkNP (P.mkPN co)) a citMS citFS citMP citFP ; + mkNPNationalityRon (mkNP (P.mkPN (nat+"a"))) (mkNP (P.mkPN co)) a citMS citFS citMP citFP ;