% Tree transformation that hides lines
% the grammar draws twice

generators.tdTransducer("each line only once"):
(
  { l:0, r:0, u:0, d:0, conc:2, conc:4, conc:8 },
  { l:0, r:0, u:0, d:0, conc:2, conc:4, conc:8, hide:1 },
  { q },
  {
    q[conc[x1,x2]]
      -> conc[q[x1],q[x2]],
    q[conc[x1,x2,x3,x4]]
      -> conc[q[x1],q[x2],q[x3],q[x4]],
    q[conc[x1,x2,x3,x4,x5,x6,x7,x8]]
      -> conc[q[x1],q[x2],q[x3],q[x4],q[x5],q[x6],q[x7],q[x8]],
    q[l] -> hide[l],
    q[r] -> r,
    q[u] -> hide[u],
    q[d] -> d
  },
  q
)