diff --git a/lib/src/abstract/Construction.gf b/lib/src/abstract/Construction.gf index c1484a25e..a72e12b4f 100644 --- a/lib/src/abstract/Construction.gf +++ b/lib/src/abstract/Construction.gf @@ -39,6 +39,20 @@ fun cup_of_CN : NP -> CN ; -- cup of tea / kupillinen teetä (Fin) glass_of_CN : NP -> CN ; +-- spatial deixis and motion verbs +-- verbs like `walk' or `run' can take both: there or to there + + where_go_QCl : NP -> QCl ; -- where did X go / vart gick X (Swe) + where_come_from_QCl : NP -> QCl ; -- where did X come from / mistä X tuli (Fin) + + go_here_VP : VP ; -- X went here / X gick hit (Swe) + come_here_VP : VP ; -- X came here / X tuli tänne (Fin) + come_from_here_VP : VP ; -- X came from here / X tuli täältä (Fin) + + go_there_VP : VP ; -- X went here / X gick dit (Swe) + come_there_VP : VP ; -- X came there / X tuli sinne (Fin) + come_from_there_VP : VP ; -- X came from there / X tuli sieltä (Fin) + -- time expressions cat diff --git a/lib/src/english/ConstructionEng.gf b/lib/src/english/ConstructionEng.gf index ba02800c2..d749b5627 100644 --- a/lib/src/english/ConstructionEng.gf +++ b/lib/src/english/ConstructionEng.gf @@ -1,7 +1,7 @@ --# -path=.:../abstract concrete ConstructionEng of Construction = CatEng ** - open SyntaxEng, SymbolicEng, ParadigmsEng, (L = LexiconEng), (E = ExtraEng), (G = GrammarEng), (R = ResEng), Prelude in { + open SyntaxEng, SymbolicEng, ParadigmsEng, (L = LexiconEng), (E = ExtraEng), (G = GrammarEng), (R = ResEng), (S = StructuralEng), Prelude in { lin @@ -28,6 +28,22 @@ lin cup_of_CN np = mkCN (lin N2 (mkN2 "cup")) (lin NP np) ; glass_of_CN np = mkCN (lin N2 (mkN2 "glass")) (lin NP np) ; +-- spatial deixis and motion verbs + + where_go_QCl np = mkQCl where_IAdv (mkCl np (mkVP L.go_V)) ; + where_come_from_QCl np = mkQCl from_where_IAdv (mkCl np (mkVP L.go_V)) ; + + go_here_VP = mkVP (mkVP L.go_V) S.here_Adv ; + come_here_VP = mkVP (mkVP L.come_V) S.here_Adv ; + come_from_here_VP = mkVP (mkVP L.come_V) (mkAdv "from here") ; + + go_there_VP = mkVP (mkVP L.go_V) S.there_Adv ; + come_there_VP = mkVP (mkVP L.come_V) S.there_Adv ; + come_from_there_VP = mkVP (mkVP L.come_V) (mkAdv "from there") ; + +--TODO "where did X come from" instead of "from where did X come" +oper from_where_IAdv : IAdv = lin IAdv (ss "from where") ; + lincat Weekday = N ; Monthday = NP ; diff --git a/lib/src/finnish/ConstructionFin.gf b/lib/src/finnish/ConstructionFin.gf index e95b9cd5d..8a807246e 100644 --- a/lib/src/finnish/ConstructionFin.gf +++ b/lib/src/finnish/ConstructionFin.gf @@ -23,10 +23,20 @@ lin n_units_AP card cn a = mkAP (lin AdA (mkUtt (lin NP (mkNP (lin CN cn))))) (lin A a) ; - bottle_of_CN np = variants {} ; -- mkCN (lin N2 (mkN2 (mkN "pullo" | mkN "pullollinen") (mkPrep partitive)) (lin NP np) ; - cup_of_CN np = variants {} ; -- mkCN (lin N2 (mkN2 (mkN "kuppi" | mkN "kupillinen") (mkPrep partitive)) (lin NP np) ; - glass_of_CN np = variants {} ; -- mkCN (lin N2 (mkN2 (mkN "lasi" | mkN "lasillinen") (mkPrep partitive)) (lin NP np) ; + bottle_of_CN np = mkCN (lin N2 (mkN2 (mkN "pullo") (mkPrep partitive))) (lin NP np) | mkCN (lin N2 (mkN2 (mkN "pullollinen") (mkPrep partitive))) (lin NP np); + cup_of_CN np = mkCN (lin N2 (mkN2 (mkN "kuppi") (mkPrep partitive))) (lin NP np) | mkCN (lin N2 (mkN2 (mkN "kupillinen") (mkPrep partitive))) (lin NP np) ; + glass_of_CN np = mkCN (lin N2 (mkN2 (mkN "lasi") (mkPrep partitive))) (lin NP np) | mkCN (lin N2 (mkN2 (mkN "lasillinen") (mkPrep partitive))) (lin NP np) ; + where_go_QCl np = mkQCl (lin IAdv (ss "minne")) (mkCl np (mkVP L.go_V)) ; + where_come_from_QCl np = mkQCl (lin IAdv (ss "mistä")) (mkCl np (mkVP L.come_V)) ; + + go_here_VP = mkVP (mkVP L.go_V) (mkAdv "tänne") ; + come_here_VP = mkVP (mkVP L.come_V) (mkAdv "tänne") ; + come_from_here_VP = mkVP (mkVP L.come_V) (mkAdv "täältä") ; + + go_there_VP = mkVP (mkVP L.go_V) (mkAdv "sinne") ; + come_there_VP = mkVP (mkVP L.come_V) (mkAdv "sinne") ; + come_from_there_VP = mkVP (mkVP L.come_V) (mkAdv "sieltä") ; lincat Weekday = {noun : N ; habitual : SyntaxFin.Adv} ; diff --git a/lib/src/french/ConstructionFre.gf b/lib/src/french/ConstructionFre.gf index c45eb542b..44e491502 100644 --- a/lib/src/french/ConstructionFre.gf +++ b/lib/src/french/ConstructionFre.gf @@ -26,9 +26,23 @@ lin n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; - bottle_of_CN np = mkCN (lin N2 (mkN2 (mkN "bouteille" feminine) part_Prep)) (lin NP np) ; - -- cup_of_CN np = mkCN (lin N2 (mkN2 "cup")) (lin NP np) ; - -- glass_of_CN np = mkCN (lin N2 (mkN2 "glass")) (lin NP np) ; + bottle_of_CN np = mkCN (lin N2 (mkN2 (mkN "bouteille" feminine) part_Prep)) np ; + cup_of_CN np = mkCN (lin N2 (mkN2 (mkN "tasse") part_Prep)) np ; + glass_of_CN np = mkCN (lin N2 (mkN2 (mkN "verre") part_Prep)) np ; + + +-- spatial deixis and motion verbs + + where_go_QCl np = mkQCl where_IAdv (mkCl np (mkVP L.go_V)) ; + where_come_from_QCl np = mkQCl (lin IAdv (ss "d'où")) (mkCl np (mkVP L.go_V)) ; + + go_here_VP = mkVP (mkVP L.go_V) here_Adv ; + come_here_VP = mkVP (mkVP L.come_V) here_Adv ; + come_from_here_VP = mkVP (mkVP L.come_V) (mkAdv "d'ici") ; + + go_there_VP = mkVP (mkVP L.go_V) there_Adv ; + come_there_VP = mkVP (mkVP L.come_V) there_Adv ; + come_from_there_VP = mkVP (mkVP L.come_V) (mkAdv "de là") ; lincat Weekday = N ; diff --git a/lib/src/german/ConstructionGer.gf b/lib/src/german/ConstructionGer.gf index c3ab84798..ba4afde35 100644 --- a/lib/src/german/ConstructionGer.gf +++ b/lib/src/german/ConstructionGer.gf @@ -27,9 +27,21 @@ lin n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; - bottle_of_CN np = N.ApposCN (mkCN (mkN "Flasche")) (lin NP np) ; - cup_of_CN np = N.ApposCN (mkCN (mkN "Tasse")) (lin NP np) ; - glass_of_CN np = N.ApposCN (mkCN (mkN "Glas")) (lin NP np) ; + bottle_of_CN np = N.ApposCN (mkCN (mkN "Flasche")) np ; + cup_of_CN np = N.ApposCN (mkCN (mkN "Tasse")) np ; + glass_of_CN np = N.ApposCN (mkCN (mkN "Glas")) np ; + +-- spatial deixis and motion verbs + where_go_QCl np = mkQCl (lin IAdv (ss "wohin")) (mkCl np (mkVP L.go_V)) ; + where_come_from_QCl np = mkQCl (lin IAdv (ss "woher")) (mkCl np (mkVP L.come_V)) ; + + go_here_VP = mkVP (mkVP L.go_V) (mkAdv "her") ; + come_here_VP = mkVP (mkVP L.come_V) (mkAdv "her") ; + come_from_here_VP = mkVP (mkVP L.come_V) (mkAdv "von hier") ; + + go_there_VP = mkVP (mkVP L.go_V) (mkAdv "hin") ; + come_there_VP = mkVP (mkVP L.come_V) (mkAdv "hin") ; + come_from_there_VP = mkVP (mkVP L.come_V) (mkAdv "von dort") ; lincat Weekday = N ; diff --git a/lib/src/swedish/ConstructionSwe.gf b/lib/src/swedish/ConstructionSwe.gf index 587497b7d..51b29e681 100644 --- a/lib/src/swedish/ConstructionSwe.gf +++ b/lib/src/swedish/ConstructionSwe.gf @@ -24,11 +24,24 @@ lin n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; - bottle_of_CN np = mkCN (lin N2 (mkN2 (mkN "flaska") noPrep)) (lin NP np) ; cup_of_CN np = mkCN (lin N2 (mkN2 (mkN "kopp") noPrep)) (lin NP np) ; glass_of_CN np = mkCN (lin N2 (mkN2 (mkN "glas" "glas") noPrep)) (lin NP np) ; +-- spatial deixis and motion verbs + + where_go_QCl np = mkQCl (lin IAdv (ss "vart")) (mkCl np (mkVP L.go_V)) ; + where_come_from_QCl np = mkQCl (lin IAdv (ss "varifrån")) (mkCl np (mkVP L.come_V)) ; + + go_here_VP = mkVP (mkVP L.go_V) (mkAdv "hit") ; + come_here_VP = mkVP (mkVP L.come_V) (mkAdv "hit") ; + come_from_here_VP = mkVP (mkVP L.come_V) (mkAdv "härifrån") ; + + go_there_VP = mkVP (mkVP L.go_V) (mkAdv "dit") ; + come_there_VP = mkVP (mkVP L.come_V) (mkAdv "dit") ; + come_from_there_VP = mkVP (mkVP L.come_V) (mkAdv "därifrån") ; + + lincat Weekday = N ; Monthday = NP ;