mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 00:52:51 -06:00
fixed prepositions and distance questions in the French Phrasebook
This commit is contained in:
@@ -10,6 +10,7 @@ concrete WordsFre of Words = SentencesFre ** open
|
|||||||
(P = ParadigmsFre),
|
(P = ParadigmsFre),
|
||||||
Prelude in {
|
Prelude in {
|
||||||
|
|
||||||
|
|
||||||
lin
|
lin
|
||||||
|
|
||||||
-- kinds
|
-- kinds
|
||||||
@@ -45,33 +46,33 @@ lin
|
|||||||
-- places
|
-- places
|
||||||
|
|
||||||
Airport = mkPlace (mkN "aéroport") dative ;
|
Airport = mkPlace (mkN "aéroport") dative ;
|
||||||
AmusementPark = mkPlace (compN (mkN "parc") ["d'attractions"]) in_Prep ;
|
AmusementPark = mkPlace (compN (mkN "parc") ["d'attractions"]) dative ;
|
||||||
Bank = mkPlace (mkN "banque") in_Prep ;
|
Bank = mkPlace (mkN "banque") dative ;
|
||||||
Bar = mkPlace (mkN "bar") in_Prep ;
|
Bar = mkPlace (mkN "bar") dative ;
|
||||||
Cafeteria = mkPlace (mkN "cafétéria") in_Prep ;
|
Cafeteria = mkPlace (mkN "cafétéria") dative ;
|
||||||
Center = mkPlace (mkN "centre") in_Prep ;
|
Center = mkPlace (mkN "centre" "centres" ParadigmsFre.masculine) dative ;
|
||||||
Church = mkPlace (mkN "église") in_Prep ;
|
Church = mkPlace (mkN "église") dative ;
|
||||||
Cinema = mkPlace (mkN "cinéma" masculine) in_Prep ;
|
Cinema = mkPlace (mkN "cinéma" masculine) dative ;
|
||||||
Disco = mkPlace (mkN "discothèque" feminine) dative ;
|
Disco = mkPlace (mkN "discothèque" feminine) dative ;
|
||||||
Hospital = mkPlace (mkN "hôpital") dative ;
|
Hospital = mkPlace (mkN "hôpital") dative ;
|
||||||
Hotel = mkPlace (mkN "hôtel") dative ;
|
Hotel = mkPlace (mkN "hôtel") dative ;
|
||||||
Museum = mkPlace (mkN "musée" masculine) in_Prep ;
|
Museum = mkPlace (mkN "musée" masculine) dative ;
|
||||||
Park = mkPlace (mkN "parc") in_Prep ;
|
Park = mkPlace (mkN "parc") dative ;
|
||||||
Parking = mkPlace (mkN "parking" masculine) in_Prep ;
|
Parking = mkPlace (mkN "parking" masculine) dative ;
|
||||||
Pharmacy = mkPlace (mkN "pharmacie" feminine) in_Prep ;
|
Pharmacy = mkPlace (mkN "pharmacie" feminine) dative ;
|
||||||
PostOffice = mkPlace (mkN "poste" feminine) dative ;
|
PostOffice = mkPlace (mkN "poste" feminine) dative ;
|
||||||
Pub = mkPlace (mkN "pub" masculine) dative ;
|
Pub = mkPlace (mkN "pub" masculine) dative ;
|
||||||
Restaurant = mkPlace (mkN "restaurant") in_Prep ;
|
Restaurant = mkPlace (mkN "restaurant") dative ;
|
||||||
School = mkPlace (mkN "école") dative ;
|
School = mkPlace (mkN "école") dative ;
|
||||||
Shop = mkPlace (mkN "magasin") in_Prep ;
|
Shop = mkPlace (mkN "magasin") dative ;
|
||||||
Station = mkPlace (mkN "gare") dative ;
|
Station = mkPlace (mkN "gare") dative ;
|
||||||
Supermarket = mkPlace (mkN "supermarché" masculine) in_Prep ;
|
Supermarket = mkPlace (mkN "supermarché" masculine) dative ;
|
||||||
Theatre = mkPlace (mkN "théâtre" masculine) in_Prep ;
|
Theatre = mkPlace (mkN "théâtre" masculine) dative ;
|
||||||
Toilet = mkPlace (mkN "toilette") in_Prep ;
|
Toilet = mkPlace (mkN "toilette") dative ;
|
||||||
University = mkPlace (mkN "université" feminine) dative ;
|
University = mkPlace (mkN "université" feminine) dative ;
|
||||||
Zoo = mkPlace (mkN "zoo" masculine) dative ;
|
Zoo = mkPlace (mkN "zoo" masculine) dative ;
|
||||||
|
|
||||||
CitRestaurant cit = mkCNPlace (mkCN cit (mkN "restaurant")) in_Prep to_Prep ;
|
CitRestaurant cit = mkCNPlace (mkCN cit (mkN "restaurant")) dative to_Prep ;
|
||||||
|
|
||||||
-- currencies
|
-- currencies
|
||||||
|
|
||||||
@@ -112,7 +113,7 @@ lin
|
|||||||
Bike = mkTransport en_Prep L.bike_N ;
|
Bike = mkTransport en_Prep L.bike_N ;
|
||||||
Bus = mkTransport par_Prep (mkN "bus") ;
|
Bus = mkTransport par_Prep (mkN "bus") ;
|
||||||
Car = mkTransport en_Prep L.car_N ;
|
Car = mkTransport en_Prep L.car_N ;
|
||||||
Ferry = mkTransport en_Prep (mkN "ferry-boat") ;
|
Ferry = mkTransport en_Prep (mkN "ferry") ;
|
||||||
Plane = mkTransport par_Prep L.airplane_N ;
|
Plane = mkTransport par_Prep L.airplane_N ;
|
||||||
Subway = mkTransport par_Prep (mkN "métro") ;
|
Subway = mkTransport par_Prep (mkN "métro") ;
|
||||||
Taxi = mkTransport en_Prep (mkN "taxi") ;
|
Taxi = mkTransport en_Prep (mkN "taxi") ;
|
||||||
@@ -124,7 +125,7 @@ lin
|
|||||||
|
|
||||||
-- actions
|
-- actions
|
||||||
|
|
||||||
AHasAge p num = mkCl p.name (mkNP num L.year_N) ;
|
AHasAge p num = mkCl p.name have_V2 (mkNP num L.year_N) ;
|
||||||
AHasChildren p num = mkCl p.name have_V2 (mkNP num L.child_N) ;
|
AHasChildren p num = mkCl p.name have_V2 (mkNP num L.child_N) ;
|
||||||
AHasRoom p num = mkCl p.name have_V2
|
AHasRoom p num = mkCl p.name have_V2
|
||||||
(mkNP (mkNP a_Det (mkN "chambre"))
|
(mkNP (mkNP a_Det (mkN "chambre"))
|
||||||
@@ -198,12 +199,11 @@ lin
|
|||||||
Tomorrow = ParadigmsFre.mkAdv "demain" ;
|
Tomorrow = ParadigmsFre.mkAdv "demain" ;
|
||||||
|
|
||||||
-- modifiers of places
|
-- modifiers of places
|
||||||
|
|
||||||
TheBest = mkSuperl True L.good_A ;
|
TheBest = mkSuperl True L.good_A ;
|
||||||
TheClosest = mkSuperl False L.near_A ;
|
TheClosest = mkSuperl False L.near_A ;
|
||||||
TheCheapest = mkSuperl False
|
TheCheapest = mkSuperl False
|
||||||
(compADeg {s = \\_ => (M.mkAdj "bon marché" "bon marché" "bon marché" "bon marché").s ;
|
(compADeg {s = \\_ => (M.mkAdj "bon marché" "bon marché" "bon marché" "bon marché").s ;
|
||||||
isPre = False ; lock_A = <>}) ; ----
|
isPre = False ; lock_A = <>}) ;
|
||||||
TheMostExpensive = mkSuperl False (mkA "cher") ;
|
TheMostExpensive = mkSuperl False (mkA "cher") ;
|
||||||
TheMostPopular = mkSuperl False (mkA "populaire") ;
|
TheMostPopular = mkSuperl False (mkA "populaire") ;
|
||||||
TheWorst = mkSuperl True L.bad_A ;
|
TheWorst = mkSuperl True L.bad_A ;
|
||||||
@@ -223,7 +223,7 @@ lin
|
|||||||
|
|
||||||
-- transports
|
-- transports
|
||||||
|
|
||||||
HowFar place = mkQS (mkQCl (E.CompIQuant which_IQuant) (mkNP distance_NP place.to)) ;
|
HowFar place = mkQS (mkQCl what_distance_IAdv place.name) ;
|
||||||
HowFarFrom place x =
|
HowFarFrom place x =
|
||||||
mkQS (mkQCl (E.CompIQuant which_IQuant)
|
mkQS (mkQCl (E.CompIQuant which_IQuant)
|
||||||
(mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) place.to)) ;
|
(mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) place.to)) ;
|
||||||
@@ -231,7 +231,7 @@ lin
|
|||||||
mkQS (mkQCl (E.CompIQuant which_IQuant)
|
mkQS (mkQCl (E.CompIQuant which_IQuant)
|
||||||
(mkNP (mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) place.to) t)) ;
|
(mkNP (mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) place.to) t)) ;
|
||||||
HowFarBy place t =
|
HowFarBy place t =
|
||||||
mkQS (mkQCl (E.CompIQuant which_IQuant) (mkNP (mkNP distance_NP place.to) t)) ;
|
mkQS (mkQCl what_distance_IAdv (mkNP place.name t)) ;
|
||||||
|
|
||||||
WhichTranspPlace trans place =
|
WhichTranspPlace trans place =
|
||||||
mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ;
|
mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ;
|
||||||
@@ -264,10 +264,11 @@ lin
|
|||||||
en_Prep = mkPrep "en" ;
|
en_Prep = mkPrep "en" ;
|
||||||
par_Prep = mkPrep "par" ;
|
par_Prep = mkPrep "par" ;
|
||||||
|
|
||||||
mkSuperl : Bool -> A -> {s : Ord ; isPre : Bool} = \b,a ->
|
mkSuperl : Bool -> A -> {s : Ord ; isPre : Bool} = \b,a ->
|
||||||
{s = SyntaxFre.mkOrd a ; isPre = b} ;
|
{s = SyntaxFre.mkOrd a ; isPre = b} ;
|
||||||
|
|
||||||
far_IAdv = ss "loin" ;
|
|
||||||
|
what_distance_IAdv = ss "à quelle distance"**{lock_IAdv=<>};
|
||||||
|
|
||||||
distance_NP : NP = mkNP the_Det (mkN "distance" feminine) ;
|
distance_NP : NP = mkNP the_Det (mkN "distance" feminine) ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user