How it works
There is a string, and there are rules that say what each character becomes. Apply the rules to every character at once, then do it again. The plant here starts as the single character X and, after six passes of two rules a line each, is some tens of thousands of characters long. All of the structure in it came from those two lines; nothing was designed.
Then a turtle reads the string. F walks forward drawing a line, + and − turn by the grammar’s angle, and [ and ] push and pop the turtle’s position and heading on a stack. Branching is entirely the doing of those two brackets — the turtle goes off down a limb, and then it is put back exactly where it left. Nothing in the grammar knows about a tree, and the same machinery with different rules gives the dragon curve, a Koch island and a Hilbert curve, which are not trees at all.
Two liberties are taken with the classical form, and both are controls. The turn angle can be jittered, because an exact Lindenmayer system draws a diagram rather than a plant. And the step can shrink with bracket depth, so the twigs come out finer than the trunk. One thing is not a liberty: the finished path is measured and then fitted to the sheet, so a grammar that triples in size per pass still lands on the paper at every setting.