A tree can be seen as a formal language. Look into L-systems.
If you generalize what a symbol is (the rgb value of a pixel) you can write a grammar that ends producing a list of pixels. You can then place it in a 2d matrix and you have an image.
I guess a better approach would be wave function colapse, but seems to me like it could be formally described as a grammar (CS or CF, dunno, would have to look into it)