generators.ET0LTreeGrammar:
( { AB, AC, BA, BC, CA, CB },
  { r:0, l:0, u:0, d:0, conc:2, conc:3, conc:4, conc:5 },
  {
    {
      AB -> conc[AC,AB,CB],
      AC -> conc[AB,AC,BC],
      BA -> conc[BC,BA,CA],
      BC -> conc[BA,BC,AC],
      CA -> conc[CB,CA,BA],
      CB -> conc[CA,CB,AB]
    },
    {
      AB -> conc[r,r,r,r],
      AC -> conc[r,r,u,u,u],
      BA -> conc[l,l,l,l],
      BC -> conc[l,l,u,u,u],
      CA -> conc[d,d,d,l,l],
      CB -> conc[d,d,d,r,r]
    }
  },
  AB
)
