GenI-0.22: examples/promettre/trees
%% 02 april 2004
%% 1. Jean promet un cadeau a Marie
%% 2. Jean promet a Marie de partir
%% 6. la personne qui promet un cadeau a Marie
%% 7. le cadeau que Jean promet a Marie
%% 8. la personne a qui Jean promet un cadeau
%% 9. promettre un cadeau a Marie
%% 10. promettant un cadeau a Marie
%% 11. donner un livre a marie
% FIXME: eric the non-linguist set all cat:p nodes with unspecified mode to FIXME
Det(?I) auxiliary
n1[cat:n idx:?I det:plus qu:minus]![cat:n idx:?I qu:minus]
{
n2 type:anchor [cat:det]![]
n4 type:foot [cat:n idx:?I]![cat:n idx:?I det:minus]
}
clitic:cl(?H ?X ! idx:?X ) initial
n1 type:anchor [cat:cl idx:?X]![cat:cl idx:?X] {}
pronoun:pn(?H ?X ! idx:?X num:?Num gen:?Gen pers:?Pers) initial
n1 [cat:n idx:?X num:?Num gen:?Gen pers:?Pers]![cat:n idx:?X]
{
n2 type:anchor [cat:pn num:?Num gen:?Gen pers:?Pers]![]
}
% Common Nouns: voyage
nC(?I!num:?Num gen:?Gen) initial
n1 [cat:n num:?Num gen:?Gen idx:?I]![cat:n num:?Num gen:?Gen idx:?I det:minus qu:minus]
{
n2 type:anchor [cat:n num:?Num gen:?Gen]![]
}
% Proper Nouns: Jean
nP(?I!pers:?Pers num:?Num gen:?Gen) initial
n1 type:anchor [cat:n num:?Num pers:?Pers gen:?Gen idx:?I det:plus qu:minus]![cat:n idx:?I det:plus qu:minus] {}
% jean se aimer -- note: we rely on top/bottom unification
% for this to work
vArity2:n0v(?E ?X ?Y) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?Y]
n5 [cat:se idx:?X det:plus qu:minus]![cat:se idx:?Y]
n3 type:anchor [cat:v idx:?E]![]
}
vArity2:n0cl1v(?E ?X ?Y) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X]
n5 type:subst [cat:cl idx:?Y det:plus qu:minus]![cat:cl idx:?Y]
n3 type:anchor [cat:v idx:?E]![]
}
vArity2:n0vn1(?E ?X ?Y) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X]
n3 type:anchor [cat:v idx:?E]![]
n5 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y]
}
% aimer N (jean espere [aimer Marie])
vArity2:vinfn1(?E ?X ?Y) initial
n1[cat:p idx:?E mode:inf sujidx:?X]![cat:p]
{
n2 type:anchor [cat:v idx:?E]![]
n4 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y]
}
% le aimer (jean espere [le aimer])
cl0vinf(?E ?X ?Y) initial
n1[cat:p idx:?E mode:inf sujidx:?X]![cat:p]
{
n5 type:subst [cat:cl idx:?Y det:plus qu:minus]![cat:cl idx:?Y]
n2 type:anchor [cat:v idx:?E]![]
}
% infinitive: le donner un livre (je promets de le donner un livre)
vArity3:cl2vinfn0(?E ?X ?Y ?Z) initial
n1[cat:p idx:?E mode:inf sujidx:?X]![cat:p]
{
n5 type:subst [cat:cl idx:?Z det:plus qu:minus]![cat:cl idx:?Z]
n2 type:anchor [cat:v idx:?E]![]
n4 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y]
}
%1 declarative gn promet gn sp_a
vArity3:n0vn1sp2(?E ?X ?Y ?Z) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n pers:?Pers num:?Num idx:?X det:plus qu:minus]![cat:n idx:?X]
n3[cat:v idx:?E]![]
{
n4 type:anchor [cat:v pers:?Pers num:?Num]![]
}
n5 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y]
n6[cat:sp idx:?Z det:plus]![]
{ n8[cat:prep]![]
{
n9 type:lex "a"
}
n10 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
}
}
%2 infinitive ?V GN SP_a
vArity3:vinfn1sp2(?E ?X ?Y ?Z) initial
n1[cat:p idx:?E mode:inf sujidx:?X]![cat:p]
{
n2 type:anchor [cat:v idx:?E]![]
n4 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y]
n5[cat:sp idx:?Z det:plus]![]
{ n6[cat:prep]![]
{
n7 type:lex "a"
}
n8 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
}
}
vArity3:n0vn1inf2(?E ?X ?Y ?Z) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n idx:?X pers:?Pers num:?Num det:plus qu:minus]![cat:n idx:?X]
n3[cat:v idx:?E]![]
{
n4 type:anchor [cat:v pers:?Pers num:?Num]![]
}
n5[cat:sp idx:?Z det:plus]![]
{ n6[cat:p]![]
{
n7 type:lex "a"
}
n8 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z
]
}
n9 type:subst [cat:p idx:?Y mode:inf]![cat:p idx:?Y]
}
%8 relative objet indirect
vArity3:rel2n0vn1(?E ?X ?Y ?Z) auxiliary
n0[cat:n idx:?Z det:plus]![cat:n idx:?Z]
{
n1 type:foot [cat:n idx:?Z]![cat:n idx:?Z]
n2[cat:p]![]
{
n3[cat:sp idx:?Z det:plus]![]
{ n4[cat:prep]![]
{
n5 type:lex "a"
}
n6 type:subst [cat:n idx:?Z det:plus qu:plus]![cat:n idx:?Z qu:plus]
}
n7[cat:p idx:?E]![]
{
n8 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X qu:minus]
n9 type:anchor [cat:v idx:?E]![cat:p idx:?E]
n11 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y]
}
}
}
%9 declarative GN V GN_a Pinf_de
vArity3control:n0vsp2pinf1(?E ?X ?Y ?Z) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n pers:?Pers num:?Num idx:?X det:plus qu:minus]![cat:n idx:?X]
n3[cat:v idx:?E]![]
{
n4 type:anchor [cat:v pers:?Pers num:?Num]![]
}
n5[cat:sp idx:?Z det:plus]![]
{ n6[cat:prep]![]
{
n7 type:lex "a"
}
n8 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
}
n9[cat:p]![]
{n10[cat:prep]![]
{
n11 type:lex "de"
}
n12 type:subst [cat:p idx:?Y mode:inf sujidx:?X]![cat:p idx:?Y]
}
}
%10 infinitive V SP_a Inf_de
vArity3control:vinfsp2pinf1(?E ?X ?Y ?Z) initial
n1[cat:p idx:?E mode:inf sujidx:?X]![cat:p]
{
n2 type:anchor [cat:v idx:?E]![]
n4[cat:sp idx:?Y det:plus]![]
{ n5[cat:prep]![]
{
n6 type:lex "a"
}
n7 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y
]
}
n8[cat:p]![]
{n9[cat:prep]![]
{
n10 type:lex "de"
}
n11 type:subst [cat:p idx:?Y mode:inf sujidx:?X]![cat:p idx:?Y]
}
}
% kowey: promettre a marie de faire...
vArity3control:vinfn2pinf1(?E ?X ?Y ?Z) initial
n1[cat:p idx:?E mode:inf sujidx:?X]![cat:p]
{
n2 type:anchor [cat:v idx:?E]![]
n5[cat:sp idx:?Z det:plus]![]
{ n6[cat:prep]![]
{
n7 type:lex "a"
}
n8 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
}
n10[cat:p]![]
{n11[cat:prep]![]
{
n12 type:lex "de"
}
n13 type:subst [cat:p idx:?Y mode:inf sujidx:?X]![cat:p idx:?Y]
}
}
%13 relative sujet qui V sp_a pinf_de
vArity3control:rel0vsp2pinf1(?E ?X ?Y ?Z) auxiliary
n0[cat:n idx:?X det:plus]![cat:n idx:?X]
{
n1 type:foot [cat:n idx:?X]![cat:n idx:?X]
n2[cat:p]![]
{
n3 type:subst [cat:cl idx:?X det:plus qu:minus]![cat:cl idx:?X]
n4 type:anchor [cat:v idx:?E]![]
n6[cat:sp idx:?Y]![]
{ n7[cat:prep]![]
{
n8 type:lex "a"
}
n9 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n
]
}
n10[cat:p]![]
{n11[cat:prep]![]
{
n12 type:lex "de"
}
n13 type:subst [cat:p idx:?Y mode:inf sujidx:?X]![cat:p idx:?Y]
}}}
%14 relative objet indirect a qui GN v Pinf_de
vArity3control:rel2n0vpinf1(?E ?X ?Y ?Z) auxiliary
n0[cat:n idx:?Y det:plus]![cat:n idx:?Y]
{
n1 type:foot [cat:n idx:?Y]![cat:n idx:?Y]
n2[cat:p]![]
{
n3[cat:sp idx:?Y det:plus]![]
{ n4[cat:prep]![]
{
n5 type:lex "a"
}
n6 type:subst [cat:n idx:?Y det:plus qu:plus]![cat:n idx:?Y qu:plus]
}
n7[cat:p idx:?E]![]
{
n8 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X qu:minus]
n9 type:anchor [cat:v idx:?E]![cat:p idx:?E]
}
n9[cat:p]![]
{n10[cat:prep]![]
{
n11 type:lex "de"
}
n12 type:subst [cat:p idx:?Z mode:inf sujidx:?X]![cat:p idx:?Z]
}
}}
vArity3control:rel0vn2pinf1(?E ?X ?Y ?Z) auxiliary
n0[cat:n idx:?X det:plus]![cat:n idx:?X]
{
n1 type:foot [cat:n idx:?X]![cat:n idx:?X]
n2[cat:p]![]
{
n3 type:subst [cat:cl idx:?X det:plus qu:minus]![cat:n idx:?X]
n4 type:anchor [cat:v idx:?E]![]
n6 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n
]
n7[cat:p]![]
{n8[cat:prep]![]
{
n9 type:lex "de"
}
n10 type:subst [cat:p idx:?Z mode:inf sujidx:?X]![cat:p idx:?Z]
}}}
% relative sujet
vArity3control:rel0vn1sp2(?E ?X ?Y ?Z) auxiliary
n0[cat:n idx:?X det:plus]![cat:n idx:?X]
{
n1 type:foot [cat:n idx:?X]![cat:n idx:?X]
n2[cat:p]![]
{
n3 type:subst [cat:cl idx:?X det:plus qu:minus]![cat:n idx:?X]
n4 type:anchor [cat:v idx:?E]![]
n6 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
n7[cat:sp idx:?Y]![]
{ n8[cat:p]![]
{
n9 type:lex "a"
}
n10 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n]
}
}
}
% relative objet
vArity3control:rel1vn0sp2(?E ?X ?Y ?Z) auxiliary
n0[cat:n idx:?X det:plus]![cat:n idx:?X]
{
n1 type:foot [cat:n idx:?X]![cat:n idx:?X]
n2[cat:p]![]
{
n3 type:subst [cat:cl idx:?X det:plus qu:minus]![cat:cl idx:?X]
n4 type:anchor [cat:v idx:?E]![]
n6 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
n7[cat:sp idx:?Y]![]
{ n8[cat:p]![]
{
n9 type:lex "a"
}
n10 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n]
}
}
}
% relative objet indirect
rel2vn0n1(?E ?X ?Y ?Z) auxiliary
n0[cat:n idx:?Y det:plus]![cat:n idx:?Y]
{
n1 type:foot [cat:n idx:?Y]![cat:n idx:?Y]
n2[cat:p]![]
{
n3[cat:sp idx:?Y det:plus]![]
{ n4[cat:p]![]
{
n5 type:lex "a"
}
n6 type:subst [cat:n idx:?Y det:plus qu:plus]![cat:n idx:?Y qu:plus]
}
n7[cat:p idx:?E]![]
{
n8 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X qu:minus]
n9 type:anchor [cat:v idx:?E]![cat:p idx:?E]
n11 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
}
}
}
% kowey: for persuader instead of promettre
% (sujidx is set differently)
vArity3controlObj:n0vsp2pinf1b(?E ?X ?Y ?Z) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X]
n3 type:anchor [cat:v idx:?E]![]
n5[cat:sp idx:?Z det:plus]![]
{ n6[cat:prep]![]
{
n7 type:lex "a"
}
n8 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
}
n9[cat:p]![]
{n10[cat:prep]![]
{
n11 type:lex "de"
}
n12 type:subst [cat:p idx:?Y mode:inf sujidx:?Z]![cat:p idx:?Y]
}
}
%15 declarative gn0 persuade gn2 pinf_de1 n0vn2pinf1
vArity3controlObj:n0vn2pinf1b(?E ?X ?Y ?Z) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X]
n3 type:anchor [cat:v idx:?E]![]
n5 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
n6[cat:p]![]
{n7[cat:prep]![]
{
n8 type:lex "de"
}
n9 type:subst [cat:p idx:?Y mode:inf sujidx:?Z]![cat:p idx:?Y]
}
}
%15 infinitive persuader gn pinf_de vinfn2pinf1
vArity3controlObj:vinfn2pinf1b(?E ?X ?Y ?Z) initial
n1[cat:p idx:?E mode:inf sujidx:?X]![cat:p]
{
n2 type:anchor [cat:v idx:?E]![]
n4 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z]
n5[cat:p]![]
{n6[cat:prep]![]
{
n7 type:lex "de"
}
n8 type:subst [cat:p idx:?Y mode:inf sujidx:?Z]![cat:p idx:?Y]
}
}
%18 rel-sjt n qui persuade gn pinf_de rel0vn2pinf1
vArity3controlObj:n0vn1sp2(?E ?X ?Y ?Z) initial
n1[cat:p mode:FIXME]![]
{
n2 type:subst [cat:n idx:?X det:plus qu:minus]![cat:n idx:?X]
n3 type:anchor [cat:v idx:?E]![]
n5 type:subst [cat:n idx:?Y det:plus qu:minus]![cat:n idx:?Y]
n6[cat:sp idx:?Z det:plus]![]
{ n8[cat:p]![]
{
n9 type:lex "a"
}
n10 type:subst [cat:n idx:?Z det:plus qu:minus]![cat:n idx:?Z
]
}
}
% vi: set cinoptions=0,p0: