generators.ET0LTreeGrammar:
(
  { S, U, D, L, R },
  { start:4, up:3, down:3, left:1, right:1, patch:0 },
  {
    {
      S -> start[U, D, L, R],
      U -> up[U, L, R],
      D -> down[D, L, R],
      L -> left[L],
      R -> right[R]
    },
    {
      S -> patch,
      U -> patch,
      D -> patch,
      L -> patch,
      R -> patch
    }
  },
  S
)
