generators.ET0LTreeGrammar:
(
  { S, A, B },
  { F:0, conc:5, conc:2, enc+:1, enc-:1, enc+:2, enc-:2,
    +:3, -:3, empty:0 },
  {
    {
      S -> conc[S, enc+[A], S, enc-[B], enc+[S]],
      A -> conc[S, enc+[S, +[F, A, A]]],
      B -> conc[S, enc-[S, -[F, B, B]]]
    },
    {
      S -> F,
      A -> empty,
      B -> empty
    }
  },
  S
)
