mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
set of predication test examples; support for N-complement verbs such as "we were promoted to professors"
This commit is contained in:
@@ -44,9 +44,11 @@ fun
|
||||
ComplVV : (a : Arg) -> VP aV -> VP a -> VP a ;
|
||||
ComplVQ : (a : Arg) -> VP aQ -> QCl a -> VP a ;
|
||||
ComplVA : (a : Arg) -> VP aA -> AP a -> VP a ;
|
||||
ComplVN : (a : Arg) -> VP aN -> CN a -> VP a ;
|
||||
SlashV2S : (a : Arg) -> VP (aNP aS) -> Cl a -> VP (aNP a) ; -- a:Arg gives slash propagation, SlashVS
|
||||
SlashV2V : (a : Arg) -> VP (aNP aV) -> VP a -> VP (aNP a) ;
|
||||
SlashV2A : (a : Arg) -> VP (aNP aA) -> AP a -> VP (aNP a) ;
|
||||
SlashV2N : (a : Arg) -> VP (aNP aN) -> CN a -> VP (aNP a) ;
|
||||
SlashV2Q : (a : Arg) -> VP (aNP aA) -> QCl a -> VP (aNP a) ;
|
||||
|
||||
UseAP : Temp -> Pol -> (a : Arg) -> AP a -> VP a ;
|
||||
@@ -83,27 +85,35 @@ fun
|
||||
ContClC : (a : Arg) -> Cl a -> ClC a -> ClC a ;
|
||||
UseClC : (a : Arg) -> ClC a -> Cl a ;
|
||||
|
||||
--------------- from now on, to be inherited from standard RGL; here just for test purposes
|
||||
|
||||
PrepNP : Prep -> NP -> Adv ;
|
||||
|
||||
-- lexicon
|
||||
|
||||
sleep_V : V aNone ;
|
||||
walk_V : V aNone ;
|
||||
love_V2 : V (aNP aNone) ;
|
||||
look_V2 : V (aNP aNone) ;
|
||||
believe_VS : V aS ;
|
||||
tell_V2S : V (aNP aS) ;
|
||||
prefer_V3 : V (aNP (aNP aNone)) ;
|
||||
want_VV : V aV ;
|
||||
force_V2V : V (aNP aV) ;
|
||||
promise_V2V : V (aNP aV) ;
|
||||
wonder_VQ : V aQ ;
|
||||
become_VA : V aA ;
|
||||
make_V2A : V (aNP aA) ;
|
||||
ask_V2Q : V (aNP aQ) ;
|
||||
sleep_V : V aNone ;
|
||||
walk_V : V aNone ;
|
||||
love_V2 : V (aNP aNone) ;
|
||||
look_V2 : V (aNP aNone) ;
|
||||
believe_VS : V aS ;
|
||||
tell_V2S : V (aNP aS) ;
|
||||
prefer_V3 : V (aNP (aNP aNone)) ;
|
||||
want_VV : V aV ;
|
||||
force_V2V : V (aNP aV) ;
|
||||
promise_V2V : V (aNP aV) ;
|
||||
wonder_VQ : V aQ ;
|
||||
become_VA : V aA ;
|
||||
become_VN : V aN ;
|
||||
make_V2A : V (aNP aA) ;
|
||||
ask_V2Q : V (aNP aQ) ;
|
||||
promote_V2N : V (aNP aN) ;
|
||||
|
||||
old_A : AP aNone ;
|
||||
married_A2 : AP (aNP aNone) ; -- married to her
|
||||
eager_AV : AP aV ; -- eager to sleep
|
||||
easy_A2V : AP (aNP aV) ; -- easy for him to sleep
|
||||
old_A : AP aNone ;
|
||||
married_A2 : AP (aNP aNone) ; -- married to her
|
||||
eager_AV : AP aV ; -- eager to sleep
|
||||
easy_A2V : AP (aNP aV) ; -- easy for him to sleep
|
||||
professor_N : CN aNone ;
|
||||
manager_N2 : CN (aNP aNone) ; -- manager of X
|
||||
|
||||
she_NP : NP ;
|
||||
we_NP : NP ;
|
||||
@@ -112,12 +122,8 @@ fun
|
||||
always_AdV : AdV ;
|
||||
who_IP : IP ;
|
||||
|
||||
PrepNP : Prep -> NP -> Adv ;
|
||||
|
||||
with_Prep : Prep ;
|
||||
|
||||
and_Conj : Conj ;
|
||||
|
||||
why_IAdv : IAdv ;
|
||||
|
||||
}
|
||||
@@ -78,13 +78,14 @@ lincat
|
||||
S = {s : Str} ;
|
||||
Utt = {s : Str} ;
|
||||
AP = {s : Agr => Str ; c1 : Str ; c2 : Str ; obj1 : Agr => Str} ;
|
||||
CN = {s : Agr => Str ; c1 : Str ; c2 : Str ; obj1 : Agr => Str} ;
|
||||
IP = {s : Str ; a : Agr} ;
|
||||
Prep = {s : Str} ;
|
||||
Conj = {s : Str} ;
|
||||
IAdv = {s : Str} ;
|
||||
|
||||
lin
|
||||
aNone, aS, aV, aA, aQ = {s = []} ;
|
||||
aNone, aS, aV, aA, aQ, aN = {s = []} ;
|
||||
aNP a = a ;
|
||||
|
||||
TTAnt t a = {s = t.s ++ a.s ; t = t.t ; a = a.a} ;
|
||||
@@ -202,6 +203,19 @@ lin
|
||||
ext = vp.ext ;
|
||||
} ;
|
||||
|
||||
ComplVN x vp ap = {
|
||||
v = vp.v ;
|
||||
inf = vp.inf ;
|
||||
c1 = vp.c1 ;
|
||||
c2 = vp.c2 ;
|
||||
adj = vp.adj ;
|
||||
obj1 = vp.obj1 ;
|
||||
obj2 = <\\a => ap.s ! a,vp.obj2.p2> ;
|
||||
adV = vp.adV ;
|
||||
adv = vp.adv ;
|
||||
ext = vp.ext ;
|
||||
} ;
|
||||
|
||||
SlashV2S x vp cl = {
|
||||
v = vp.v ;
|
||||
inf = vp.inf ;
|
||||
@@ -254,6 +268,19 @@ lin
|
||||
ext = vp.ext ;
|
||||
} ;
|
||||
|
||||
SlashV2N x vp ap = {
|
||||
v = vp.v ;
|
||||
inf = vp.inf ;
|
||||
c1 = vp.c1 ;
|
||||
c2 = vp.c2 ;
|
||||
adj = vp.adj ;
|
||||
obj1 = vp.obj1 ;
|
||||
obj2 = <\\a => vp.c2 ++ ap.s ! a, vp.obj2.p2> ;
|
||||
adV = vp.adV ;
|
||||
adv = vp.adv ;
|
||||
ext = vp.ext ;
|
||||
} ;
|
||||
|
||||
AdvVP adv _ vp = {
|
||||
v = vp.v ;
|
||||
inf = vp.inf ;
|
||||
@@ -446,14 +473,19 @@ lin
|
||||
promise_V2V = mkV "lova" "lovar" "lovade" "lovat" [] "att" ;
|
||||
wonder_VQ = mkV "undra" "undrar" "undrade" "undrat" ;
|
||||
become_VA = mkV "bli" "blir" "blev" "blivit" ;
|
||||
become_VN = mkV "bli" "blir" "blev" "blivit" ;
|
||||
make_V2A = {v = table {Inf => "göra" ; VPres => "gör" ; VPret => "gjorde" ; VSup => "gjort"} ;
|
||||
c1 = [] ; c2 = [] ; isSubjectControl = False} ;
|
||||
promote_V2N = {v = table {Inf => "befordra" ; VPres => "befordrar" ; VPret => "befordrade" ; VSup => "befordrat"} ;
|
||||
c1 = [] ; c2 = "till" ; isSubjectControl = False} ; ---- ? de befordrade dem till chefer för sig/dem
|
||||
ask_V2Q = mkV "fråga" "frågar" "frågade" "frågat" ;
|
||||
|
||||
old_A = {s = table {Sg => "gammal" ; Pl => "gamla"} ; c1 = [] ; c2 = [] ; obj1 = \\_ => []} ;
|
||||
married_A2 = {s = table {Sg => "gift" ; Pl => "gifta"} ; c1 = "med" ; c2 = [] ; obj1 = \\_ => []} ;
|
||||
eager_AV = {s = table {Sg => "ivrig" ; Pl => "ivriga"} ; c1 = [] ; c2 = "att" ; obj1 = \\_ => []} ;
|
||||
easy_A2V = {s = table {Sg => "lätt" ; Pl => "lätta"} ; c1 = "för" ; c2 = "att" ; obj1 = \\_ => []} ;
|
||||
professor_N = {s = table {Sg => "professor" ; Pl => "professorer"} ; c1 = [] ; c2 = [] ; obj1 = \\_ => []} ;
|
||||
manager_N2 = {s = table {Sg => "chef" ; Pl => "chefer"} ; c1 = "för" ; c2 = [] ; obj1 = \\_ => []} ;
|
||||
|
||||
she_NP = {s = table {Nom => "hon" ; Acc => "henne"} ; a = Sg} ;
|
||||
we_NP = {s = table {Nom => "vi" ; Acc => "oss"} ; a = Pl} ;
|
||||
|
||||
67
lib/src/experimental/exx.gfs
Normal file
67
lib/src/experimental/exx.gfs
Normal file
@@ -0,0 +1,67 @@
|
||||
hon sover
|
||||
hon sover inte
|
||||
sover hon
|
||||
sover hon inte
|
||||
hon sover idag
|
||||
hon har sovit
|
||||
hon hade sovit
|
||||
hon hade inte sovit
|
||||
|
||||
hon älskar oss
|
||||
hon älskar sig
|
||||
älskar hon oss
|
||||
hon tittar på oss
|
||||
hon tittar inte på sig
|
||||
|
||||
hon föredrar oss framför henne
|
||||
|
||||
hon vill sova
|
||||
hon vill inte sova
|
||||
vill hon sova
|
||||
|
||||
hon tvingar oss att sova
|
||||
hon tvingar oss att älska henne
|
||||
|
||||
vi lovar henne att bli gamla
|
||||
vi tvingar henne att bli gammal
|
||||
|
||||
hon är gammal
|
||||
är hon gammal
|
||||
|
||||
hon gör oss gamla
|
||||
|
||||
vem sover
|
||||
vem älskar henne
|
||||
vem älskar hon inte
|
||||
varför vill hon sova
|
||||
sover hon
|
||||
vill hon inte sova
|
||||
|
||||
vi undrar varför hon vill sova
|
||||
vi undrar vem hon älskar
|
||||
vi undrar vem som älskar henne
|
||||
vi undrar vem som sover
|
||||
vi undrar varför hon inte vill sova
|
||||
vi undrar vem hon inte älskar
|
||||
vi undrar om hon sover
|
||||
vi undrar om hon inte alltid sover
|
||||
|
||||
vi tror att hon inte vill sova
|
||||
vi tror hon inte vill sova
|
||||
|
||||
vi tror att hon har sovit
|
||||
vi tror att hon hade sovit
|
||||
vi tror att hon sovit
|
||||
vi undrar om hon sovit
|
||||
vi tror att hon skulle sovit
|
||||
|
||||
hon vill ha sovit
|
||||
hon vill sovit
|
||||
|
||||
hon blev professor
|
||||
vi blev professorer
|
||||
vi befordrade henne till professor
|
||||
hon befordrade oss till professorer
|
||||
vi vill bli professorer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user