summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorramona.enache <ramona.enache@chalmers.se>2010-05-15 13:35:50 +0000
committerramona.enache <ramona.enache@chalmers.se>2010-05-15 13:35:50 +0000
commitd1748049aaa5cb193cff11707e767308bca231e8 (patch)
treeed2aecfe053f12aba033478b3d03e306dfeed22f
parent77fb23fdbc0a453e2d1913c95c3386ae416e72d0 (diff)
q
-rw-r--r--examples/phrasebook/SentencesRon.gf16
-rw-r--r--examples/phrasebook/WordsRon.gf20
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 <cn.isComp,prep.needIndef> of
+ {<True,_> => True ;
+ <False,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 ;