Next: adjunction, Previous: SCRPW, Up: Grammars
This grammar showcases the new Tree Adjoining Grammar (TAG) encoding developed by Denys Duchier and Marco Kuhlmann, and was written by Marco Kuhlmann.
%% %% Sample grammar for TAG adjunction %% Marco Kuhlmann <kuhlmann@ps.uni-sb.de> %% %% This grammar encodes TAG-like trees into lexical entries in %% XDG. Note that I say TAG-like, because the trees that you %% get when you decode these lexical entries are probably not %% the trees that you would usually draw when modelling problems %% like the ones in this sample grammar in TAG. usedim ds usedim lex defdim ds { defentrytype "ds.entry" deflabeltype "ds.label" deftype "ds.label" {s1 s11 s11b a12l s121 s122 a12r s13} deftype "ds.entry" { in : iset("ds.label") out : valency("ds.label") anchor : iset("ds.label") dominates : vec("ds.label" set("ds.label")) foot : set("ds.label") leaves : set("ds.label") } useprinciple "principle.graph" { dims {D: ds}} useprinciple "principle.tree" { dims {D: ds}} useprinciple "principle.in" { dims {D: ds}} useprinciple "principle.out" { dims {D: ds}} useprinciple "principle.tag" { dims {D: ds} args {Order: [s1 s11 s11b a12l s121 s122 a12r s13]}} output "output.dag" output "output.pretty" useoutput "output.dag" useoutput "output.pretty" } defdim lex { defentrytype {word: string} } %% alpha with head in A defentry { dim ds { in : {s1 s11 s121 s122 s13} out : {s121 s13 a12l? a12r?} anchor : {s11} dominates : {a12l: {s121} a12r: {s121}} leaves : {s11 s121 s13} } dim lex { word : "alpha_A" } } %% alpha with head in C defentry { dim ds { in : {s1 s11 s121 s122 s13} out : {s11 s13 a12l? a12r?} anchor : {s121} dominates : {a12l: {s121} a12r: {s121}} leaves : {s11 s121 s13} } dim lex { word : "alpha_C" } } %% alpha with head in E defentry { dim ds { in : {s1 s11 s121 s122 s13} out : {s11 s121 a12l? a12r?} anchor : {s13} dominates : {a12l: {s121} a12r: {s121}} leaves : {s11 s121 s13} } dim lex { word : "alpha_E" } } %% beta with head in B defentry { dim ds { in : {a12l} out : {s122 a12l? a12r?} anchor : {s11} dominates : {a12l: {s121 s122} a12r: {s121 s122}} foot : {s121} leaves : {s11 s121 s122} } dim lex { word : "beta_B" } } %% beta with head in D defentry { dim ds { in : {a12r} out : {s11 a12l? a12r?} anchor : {s122} dominates : {a12l: {s121 s122} a12r: {s121 s122}} foot : {s121} leaves : {s11 s121 s122} } dim lex { word : "beta_D" } } %% dummy entry for substitution sites defentry { dim ds { in : {s1 s11 s121 s122 s13} anchor : {s11} leaves : {s1} } dim lex { word : "x" } } %% -------------------------------------------------------------- %% Hippo sentences %% -------------------------------------------------------------- defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} anchor : {s1} leaves : {s1} } dim lex { word : "ik" } } defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} anchor : {s1} leaves : {s1} } dim lex { word : "Henk" } } defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} anchor : {s1} leaves : {s1} } dim lex { word : "Cecilia" } } defentry { dim ds { in : {s1 s11 s121 s122 s13} anchor : {s1} leaves : {s1} } dim lex { word : "de" } } defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} anchor : {s13} out : {s11} leaves : {s11 s13} } dim lex { word : "nijlpaarden" } } % Dutch "zag" defentry { dim ds { in : {} anchor : {s122} out : {s11 a12l? a12r?} dominates : {a12l: {s122} a12r: {s122}} leaves : {s11 s122} } dim lex { word : "zag" } } % German "zag" defentry { dim ds { in : {} anchor : {s122} out : {s11 s121} leaves : {s11 s121 s122} } dim lex { word : "zag" } } % Dutch "helpen" defentry { dim ds { in : {a12r} anchor : {s122} out : {s11 a12l? a12r?} foot : {s121} dominates : {a12l: {s121 s122} a12r: {s121 s122}} leaves : {s11 s121 s122} } dim lex { word : "helpen" } } % German "helpen" defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} anchor : {s122} out : {s11 s121} leaves : {s11 s121 s122} } dim lex { word : "helpen" } } % Dutch "voeren" defentry { dim ds { in : {a12r} anchor : {s122} out : {s11 s11b a12l? a12r?} foot : {s121} dominates : {a12l: {s121 s122} a12r: {s121 s122}} leaves : {s11 s11b s121 s122} } dim lex { word : "voeren" } } % German "voeren" defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} anchor : {s122} out : {s11 s11b} leaves : {s11 s11b s122} } dim lex { word : "voeren" } }