forked from GitHub/gf-core
the from preposition in various Phrasebooks
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
concrete SentencesFin of Sentences = NumeralFin ** SentencesI -
|
concrete SentencesFin of Sentences = NumeralFin ** SentencesI -
|
||||||
[Is, IsMass, NameNN, ObjMass,
|
[Is, IsMass, NameNN, ObjMass,
|
||||||
IFemale, YouFamFemale, YouPolFemale, IMale, YouFamMale, YouPolMale,
|
IFemale, YouFamFemale, YouPolFemale, IMale, YouFamMale, YouPolMale,
|
||||||
|
NPPlace, CNPlace, placeNP, mkCNPlace, mkCNPlacePl,
|
||||||
GObjectPlease
|
GObjectPlease
|
||||||
] with
|
] with
|
||||||
(Syntax = SyntaxFin),
|
(Syntax = SyntaxFin),
|
||||||
@@ -10,6 +11,18 @@ concrete SentencesFin of Sentences = NumeralFin ** SentencesI -
|
|||||||
|
|
||||||
flags optimize = noexpand ;
|
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
|
lin
|
||||||
Is item prop = mkCl item (V.UseComp (CompPartAP prop)) ; -- tämä pizza on herkullista
|
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
|
IsMass mass prop = mkCl (mkNP a_Det mass) (V.UseComp (CompPartAP prop)) ; -- pizza on herkullista
|
||||||
|
|||||||
@@ -221,10 +221,10 @@ ik ga te voet/ ik ga lopend
|
|||||||
-- transports
|
-- transports
|
||||||
|
|
||||||
HowFar place = mkQS (mkQCl far_IAdv place.name) ; -- hoe ver is de dierentuin
|
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
|
-- how far is the center from the hotel ? hoever is het centrum van het hotel
|
||||||
HowFarFromBy x y t =
|
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
|
--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
|
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) ;
|
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
|
HowFarFrom : how far is the center from the hotel ? hoe ver is het centrum van het hotel
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ concrete WordsFin of Words = SentencesFin **
|
|||||||
School = mkPlace (mkN "koulu") lla ;
|
School = mkPlace (mkN "koulu") lla ;
|
||||||
|
|
||||||
CitRestaurant cit = {
|
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 ;
|
Parking = mkPlace (mkN "pysäköinti" (mkN "alue")) lla ;
|
||||||
Supermarket = mkPlace (mkN "supermarket") ssa ;
|
Supermarket = mkPlace (mkN "supermarket") ssa ;
|
||||||
@@ -198,10 +198,10 @@ concrete WordsFin of Words = SentencesFin **
|
|||||||
|
|
||||||
HowFar place = mkQS (mkQCl far_IAdv place.name) ;
|
HowFar place = mkQS (mkQCl far_IAdv place.name) ;
|
||||||
HowFarFrom x y =
|
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 =
|
HowFarFromBy x y t =
|
||||||
mkQS (mkQCl far_IAdv (mkCl y.name
|
mkQS (mkQCl far_IAdv (mkCl y.name
|
||||||
(mkVP (mkVP (SyntaxFin.mkAdv from_Prep x.name)) t))) ;
|
(mkVP (mkVP x.from) t))) ;
|
||||||
HowFarBy place t =
|
HowFarBy place t =
|
||||||
mkQS (mkQCl far_IAdv (mkCl place.name t)) ;
|
mkQS (mkQCl far_IAdv (mkCl place.name t)) ;
|
||||||
-- mkQS (mkQCl (mkIAdv far_IAdv t) y.name) ;
|
-- mkQS (mkQCl (mkIAdv far_IAdv t) y.name) ;
|
||||||
@@ -242,10 +242,11 @@ concrete WordsFin of Words = SentencesFin **
|
|||||||
habitual = ParadigmsFin.mkAdv s
|
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 ;
|
name = mkCN p ;
|
||||||
at = casePrep (if_then_else Case e adessive inessive) ; -- True: external
|
at = casePrep (if_then_else Case e adessive inessive) ; -- True: external
|
||||||
to = casePrep (if_then_else Case e allative illative) ;
|
to = casePrep (if_then_else Case e allative illative) ;
|
||||||
|
from = casePrep (if_then_else Case e ablative elative) ;
|
||||||
isPl = False
|
isPl = False
|
||||||
} ;
|
} ;
|
||||||
ssa = False ;
|
ssa = False ;
|
||||||
|
|||||||
@@ -208,9 +208,9 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter)
|
|||||||
|
|
||||||
|
|
||||||
HowFar place = mkQS (mkQCl far_IAdv place.name) ;
|
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 =
|
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))))) ;
|
HowFarBy y t = mkQS (mkQCl far_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP y.name t))))) ;
|
||||||
|
|
||||||
WhichTranspPlace trans place =
|
WhichTranspPlace trans place =
|
||||||
|
|||||||
Reference in New Issue
Block a user