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