generators.ET0LTreeGrammar("EDT0L version"):
  ( { S, L, R },
    { F:2, F1:1, F2:1, G:2, G1:1, G2:1, p:0, pl:0, pr:0, move:1 },
    { { S -> F[S,R], L -> G1[L], R -> F1[R] },
      { S -> G[L,S], L -> G2[L], R -> F2[R] },
      { S -> p, L -> pl, R -> pr }
    },
    move[S] )
% Note: Move only translates the picture downwards, so that its postion
% fits nicer with the display.