generators.ET0LTreeGrammar("without delay"):
  ( { C, C0 },
    { F:7, G:7, C:0, C0:0, inv:1, background:0, .:2,
      col1a:1, col2a:1, col3a:1, col4a:1, col5a:1, col6a:1, col7a:1,
      col1b:1, col2b:1, col3b:1, col4b:1, col5b:1, col6b:1, col7b:1,
      colb1a:1, colb2a:1, colb3a:1, colb4a:1, colb5a:1, colb6a:1, colb7a:1,
      colb1b:1, colb2b:1, colb3b:1, colb4b:1, colb5b:1, colb6b:1, colb7b:1
    },
    { 
      {
        C -> F[colb1a[C0],colb2a[C0],inv[colb3a[C0]],colb4a[C0],inv[colb5a[C]],inv[colb6a[C0]],inv[colb7a[C0]]],
        C -> G[inv[colb1b[C0]],inv[colb2b[C0]],colb3b[C0],inv[colb4b[C0]],colb5b[C],colb6b[C0],colb7b[C0]],
        C0 -> C
      },
      {
        C -> F[col1a[C0],col2a[C0],col3a[C0],col4a[C0],col5a[C],col6a[C0],col7a[C0]],
        C -> G[col1b[C0],col2b[C0],col3b[C0],col4b[C0],col5b[C],col6b[C0],col7b[C0]],
        C0 -> C
      }
    },
    (background . C),
    1* 2* )
