A Lindenmayer System (l-system) is a way of representing growth processes, most commonly associated with plant development and fractals.
An L-system works off of the principal of recursive application of some production rules to a given axiom.
For example, given some axiom:
ω = "ABCDEFG"
And the production rules:
P = {p(1),p(2),p(3)}
p(1) : "A" -> "CA"
p(2) : "B" -> "BH"
p(3) : "F" -> "XYF"
Applying the production rules to the axiom for 3 iterations would give the following output:
i = 1 : ω = "CABHCDEXYFG"
i = 2 : ω = "CCABHHCDEXYXYFG"
i = 3 : ω = "CCCABHHHCDEXYXYXYFG"
After generating the L-system output, the string is sent to a geometry generator, Turtle geometry being one of the most commonly used. The turtle geometry parses the string and according to each individual symbol in the string will perform some maneuvers in the Cartesian coordinate space it occupies.
For example, the turtle may turn left/right, pitch up/down, roll left/right, and move forward or backwards. The turtle often incorporates symbols to save it's current state to a stack in order to return to its previous positions.
The Wikipedia article describes the systems for 1-D Algae population growth, Pythagoras Tree, Cantor Dust, Koch Curve, Sierpinski Triangle, Dragon Curve, and a simple Fractal Plant.
The classic text, The Algorithmic Beauty of Plants by Lindenmayer and Prusinkiewicz is available here along with many, many related papers all of which are copiously and beautifully illustrated.