From 78df7dae66e34355eb803c91a57acc33c2441a26 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 29 Apr 2010 12:21:35 +0000 Subject: [PATCH] better implementation of "how far" in Swedish; harmonized the type of HowFarBy --- examples/phrasebook/Implementation.html | 1 - examples/phrasebook/Ontology.html | 2 -- examples/phrasebook/Words.gf | 2 +- examples/phrasebook/WordsSwe.gf | 19 ++++++++++++------- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/examples/phrasebook/Implementation.html b/examples/phrasebook/Implementation.html index 328ff07de..7c737f99c 100644 --- a/examples/phrasebook/Implementation.html +++ b/examples/phrasebook/Implementation.html @@ -114,7 +114,6 @@ gfdoc - a rudimentary GF document generator. {name = n ; isPron = False ; poss = mkQuant he_Pron} ; -- poss not used --- NameString s = symb s ; --%
       NameNN = symb "NN" ;
   
diff --git a/examples/phrasebook/Ontology.html b/examples/phrasebook/Ontology.html
index 28b72fe63..f318ed68a 100644
--- a/examples/phrasebook/Ontology.html
+++ b/examples/phrasebook/Ontology.html
@@ -128,7 +128,6 @@ Determiners.
       NameNN     : Name ;                       -- the name "NN"
 
--- NameString : String -> Name ; ---- creates ambiguities with all words --%
       NNumeral   : Numeral -> Number ;          -- numeral in words, e.g. "twenty"
 
@@ -144,7 +143,6 @@ structurally. However, these ones are mostly functorial.

Words and idiomatic phrases of the Phrasebook

-(c) 2009 Aarne Ranta under LGPL --%
   abstract Words = Sentences ** {
   
diff --git a/examples/phrasebook/Words.gf b/examples/phrasebook/Words.gf
index dfa35bc59..4a85bf57d 100644
--- a/examples/phrasebook/Words.gf
+++ b/examples/phrasebook/Words.gf
@@ -177,7 +177,7 @@ abstract Words = Sentences ** {
     HowFarFrom : Place -> Place -> Question ;     -- how far is the center from the hotel ?
     HowFarFromBy : Place -> Place -> ByTransport -> Question ; 
                                             -- how far is the airport from the hotel by taxi ? 
-    HowFarBy : Place -> Transport -> Question ;   -- how far is the museum by bus ?
+    HowFarBy : Place -> ByTransport -> Question ;   -- how far is the museum by bus ?
                           
     WhichTranspPlace : Transport -> Place -> Question ;   -- which bus goes to the hotel
     IsTranspPlace    : Transport -> Place -> Question ;   -- is there a metro to the airport ?
diff --git a/examples/phrasebook/WordsSwe.gf b/examples/phrasebook/WordsSwe.gf
index 9d765fae0..1d2805d6b 100644
--- a/examples/phrasebook/WordsSwe.gf
+++ b/examples/phrasebook/WordsSwe.gf
@@ -64,7 +64,8 @@ concrete WordsSwe of Words = SentencesSwe **
     University = mkPlace (mkN "universitet" "universitet") "på" ;
     Zoo = mkPlace (mkN "djurpark" "djurparker") "i" ;
 
-    CitRestaurant cit =  mkCNPlace (mkCN cit (mkN "restaurang" "restauranger")) on_Prep to_Prep ;
+    CitRestaurant cit = 
+      mkCNPlace (mkCN cit (mkN "restaurang" "restauranger")) on_Prep to_Prep ;
 
 -- currencies
 
@@ -187,13 +188,15 @@ concrete WordsSwe of Words = SentencesSwe **
 -- transports
 
     HowFar place = mkQS (mkQCl far_IAdv place.name) ;
-    HowFarFrom x y = mkQS (mkQCl (mkIAdv far_IAdv (SyntaxSwe.mkAdv from_Prep x.name)) y.name) ;
-    HowFarFromBy x y t = 
-      mkQS (mkQCl (mkIAdv (mkIAdv far_IAdv (SyntaxSwe.mkAdv from_Prep x.name)) t) y.name) ;
-    HowFarBy y t = mkQS (mkQCl (mkIAdv far_IAdv t.by) y.name) ; 
+    HowFarFrom place x = 
+      mkQS (mkQCl far_IAdv (mkCl place.name (SyntaxSwe.mkAdv from_Prep x.name))) ;
+    HowFarFromBy place x t = 
+      mkQS (mkQCl far_IAdv (mkCl place.name 
+        (mkVP (mkVP (SyntaxSwe.mkAdv from_Prep x.name)) t))) ;
+    HowFarBy place t = 
+      mkQS (mkQCl far_IAdv (mkCl place.name t)) ;
+      -- mkQS (mkQCl (mkIAdv far_IAdv t) y.name) ; 
 
-oper far_IAdv = ExtraSwe.IAdvAdv L.far_Adv ;
-lin
     WhichTranspPlace trans place = 
       mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ;
 
@@ -235,4 +238,6 @@ lin
       } ;
 
     mkSuperl : A -> Det = \a -> mkDet the_Art (mkOrd a) ;
+
+    far_IAdv = ExtraSwe.IAdvAdv L.far_Adv ;
 }