This grammar showcases the old Tree Adjoining Grammar (TAG) encoding developed by Marco Kuhlmann, and was also written by him.
%% %% 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 s121 s122 s13 a12l a12r} deftype "ds.entry" { in : iset("ds.label") on : iset("ds.label") out : valency("ds.label") cut : vec("ds.label" set("ds.label")) paste : 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.orderWithCuts" { 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} on : {s11} out : {s121 s13 a12l? a12r?} cut : {a12l: {s121} a12r: {s121}} } dim lex { word : "alpha_A" } } %% alpha with head in C defentry { dim ds { in : {s1 s11 s121 s122 s13} on : {s121} out : {s11 s13 a12l? a12r?} cut : {a12l: {s121} a12r: {s121}} } dim lex { word : "alpha_C" } } %% alpha with head in E defentry { dim ds { in : {s1 s11 s121 s122 s13} on : {s13} out : {s11 s121 a12l? a12r?} cut : {a12l: {s121} a12r: {s121}} } dim lex { word : "alpha_E" } } %% beta with head in B defentry { dim ds { in : {a12l} on : {s11} out : {s122 a12l? a12r?} cut : {a12l: {s121 s122} a12r: {s121 s122}} paste : {s121} } dim lex { word : "beta_B" } } defentry { dim ds { in : {a12r} on : {s13} out : {s121 a12l? a12r?} cut : {a12l: {s121 s122} a12r: {s121 s122}} paste : {s122} } dim lex { word : "beta_D" } } %% dummy entry for substitution sites defentry { dim ds { in : {s1 s11 s121 s122 s13} on : {s1} } dim lex { word : "x" } } %% -------------------------------------------------------------- %% Hippo sentences %% -------------------------------------------------------------- defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} on : {s1} } dim lex { word : "ik" } } defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} on : {s1} } dim lex { word : "Henk" } } defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} on : {s1} } dim lex { word : "Cecilia" } } defentry { dim ds { in : {s1 s11 s121 s122 s13} on : {s1} } dim lex { word : "de" } } defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} on : {s13} out : {s11} } dim lex { word : "nijlpaarden" } } defentry { dim ds { in : {s1 s11 s11b s121 s122 s13} on : {s122} out : {s11 a12l? a12r?} cut : {a12l: {s122} a12r: {s122}} } dim lex { word : "zag" } } defentry { dim ds { in : {a12l a12r} on : {s122} out : {s11 a12l? a12r?} paste : {s121} cut : {a12l: {s121 s122} a12r: {s121 s122}} } dim lex { word : "helpen" } } defentry { dim ds { in : {a12l a12r} on : {s122} out : {s11 a12l? a12r?} paste : {s121} cut : {a12l: {s121 s122} a12r: {s121 s122}} } dim lex { word : "zwemmen" } } defentry { dim ds { in : {a12l a12r} on : {s122} out : {s11 s11b a12l? a12r?} paste : {s121} cut : {a12l: {s121 s122} a12r: {s121 s122}} } dim lex { word : "voeren" } }