Yes, Context Free means that each rule has no idea what has happened before it was called. The only state that is maintained across calls is the transformations, so if you call a rule with a rotation of 15 degrees, everything after that will be rotated 15 degrees, though there's no way for the script to know that.

There's also no way to know how many times a rule has called itself, so you can't (as far as I can tell) do exactly 10 calls to a rule and have them run one at the end of the previous, unless you can predefine in one transformation statement where each is going to end.

10 * { x 1 } rule Line {}

will draw 10 'Line's at 1 unit horisontal distance.

if the rules for Line are like this, though, you've lost (at least if you're hoping for a 10 step walk with random 15 degree turns).

rule Line 0.5 {
SQUARE { x 0.5 s 1 0.1 }
}

rule Line {
SQUARE { x 0.5 s 1 0.1 r 15 }
}

rule Line {
SQUARE { x 0.5 s 1 0.1 r -15 }
}

You can, of course, do something like copying the rules and doing line1 -> line2 -> line3 ... -> line10, but it gets quite tiresome.