1
0
forked from GitHub/gf-core

the from preposition in various Phrasebooks

This commit is contained in:
aarne
2011-08-22 14:40:57 +00:00
parent 8bfb809a69
commit 6ae6d665d7
4 changed files with 23 additions and 8 deletions

View File

@@ -1,6 +1,7 @@
concrete SentencesFin of Sentences = NumeralFin ** SentencesI -
[Is, IsMass, NameNN, ObjMass,
IFemale, YouFamFemale, YouPolFemale, IMale, YouFamMale, YouPolMale,
NPPlace, CNPlace, placeNP, mkCNPlace, mkCNPlacePl,
GObjectPlease
] with
(Syntax = SyntaxFin),
@@ -10,6 +11,18 @@ concrete SentencesFin of Sentences = NumeralFin ** SentencesI -
flags optimize = noexpand ;
oper
NPPlace = {name : NP ; at : Adv ; to : Adv ; from : Adv} ;
CNPlace = {name : CN ; at : Prep ; to : Prep ; from : Prep ; isPl : Bool} ;
placeNP : Det -> CNPlace -> NPPlace = \det,kind ->
let name : NP = mkNP det kind.name in {
name = name ;
at = mkAdv kind.at name ;
to = mkAdv kind.to name ;
from = mkAdv kind.from name
} ;
lin
Is item prop = mkCl item (V.UseComp (CompPartAP prop)) ; -- tämä pizza on herkullista
IsMass mass prop = mkCl (mkNP a_Det mass) (V.UseComp (CompPartAP prop)) ; -- pizza on herkullista

View File

@@ -221,10 +221,10 @@ ik ga te voet/ ik ga lopend
-- transports
HowFar place = mkQS (mkQCl far_IAdv place.name) ; -- hoe ver is de dierentuin
HowFarFrom x y = mkQS (mkQCl far_IAdv (mkNP y.name (SyntaxDut.mkAdv from_Prep x.name))) ;
HowFarFrom x y = mkQS (mkQCl far_IAdv (mkNP y.name (SyntaxDut.mkAdv van_Prep x.name))) ;
-- how far is the center from the hotel ? hoever is het centrum van het hotel
HowFarFromBy x y t =
mkQS (mkQCl far_IAdv (mkNP (mkNP y.name (SyntaxDut.mkAdv from_Prep x.name)) t)) ;
mkQS (mkQCl far_IAdv (mkNP (mkNP y.name (SyntaxDut.mkAdv van_Prep x.name)) t)) ;
--hoelang duurt het om van het vliegveld naar het hotel te gaan per taxi
HowFarBy y t = mkQS (mkQCl far_IAdv (mkNP y.name t)) ; --hoe ver is het museum per bus
@@ -265,6 +265,7 @@ ik ga te voet/ ik ga lopend
mkSuperl : A -> Det = \a -> SyntaxDut.mkDet the_Art (SyntaxDut.mkOrd a) ;
van_Prep = P.mkPrep "van" ;
{-
HowFarFrom : how far is the center from the hotel ? hoe ver is het centrum van het hotel

View File

@@ -60,7 +60,7 @@ concrete WordsFin of Words = SentencesFin **
School = mkPlace (mkN "koulu") lla ;
CitRestaurant cit = {
name = mkCN cit (mkN "ravintola") ; at = casePrep inessive ; to = casePrep illative; isPl = False
name = mkCN cit (mkN "ravintola") ; at = casePrep inessive ; to = casePrep illative; from = casePrep elative ; isPl = False
} ;
Parking = mkPlace (mkN "pysäköinti" (mkN "alue")) lla ;
Supermarket = mkPlace (mkN "supermarket") ssa ;
@@ -198,10 +198,10 @@ concrete WordsFin of Words = SentencesFin **
HowFar place = mkQS (mkQCl far_IAdv place.name) ;
HowFarFrom x y =
mkQS (mkQCl far_IAdv (mkCl y.name (SyntaxFin.mkAdv from_Prep x.name))) ;
mkQS (mkQCl far_IAdv (mkCl y.name x.from)) ;
HowFarFromBy x y t =
mkQS (mkQCl far_IAdv (mkCl y.name
(mkVP (mkVP (SyntaxFin.mkAdv from_Prep x.name)) t))) ;
(mkVP (mkVP x.from) t))) ;
HowFarBy place t =
mkQS (mkQCl far_IAdv (mkCl place.name t)) ;
-- mkQS (mkQCl (mkIAdv far_IAdv t) y.name) ;
@@ -242,10 +242,11 @@ concrete WordsFin of Words = SentencesFin **
habitual = ParadigmsFin.mkAdv s
} ;
mkPlace : N -> Bool -> {name : CN ; at : Prep ; to : Prep; isPl : Bool} = \p,e -> {
mkPlace : N -> Bool -> {name : CN ; at : Prep ; to : Prep; from : Prep ; isPl : Bool} = \p,e -> {
name = mkCN p ;
at = casePrep (if_then_else Case e adessive inessive) ; -- True: external
to = casePrep (if_then_else Case e allative illative) ;
from = casePrep (if_then_else Case e ablative elative) ;
isPl = False
} ;
ssa = False ;

View File

@@ -208,9 +208,9 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter)
HowFar place = mkQS (mkQCl far_IAdv place.name) ;
HowFarFrom x y = mkQS (mkQCl far_IAdv (mkNP (mkNP y.name (SyntaxGer.mkAdv from_Prep x.name)) (ParadigmsGer.mkAdv "entfernt"))) ;
HowFarFrom x y = mkQS (mkQCl far_IAdv (mkNP (mkNP y.name (SyntaxGer.mkAdv von_Prep x.name)) (ParadigmsGer.mkAdv "entfernt"))) ;
HowFarFromBy x y t =
mkQS (mkQCl far_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP (mkNP y.name (SyntaxGer.mkAdv from_Prep x.name)) t))))) ;
mkQS (mkQCl far_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP (mkNP y.name (SyntaxGer.mkAdv von_Prep x.name)) t))))) ;
HowFarBy y t = mkQS (mkQCl far_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP y.name t))))) ;
WhichTranspPlace trans place =