def render(self):
        translate(width / 2, height / 2)
        pushes = 0
        repeats = 1
        self.steps += 12
        if self.steps > len(self.production):
            self.steps = len(self.production)

        for i in range(self.steps):
            step = self.production[i]
            if step == 'F':
                stroke(255, 60)
                for j in range(repeats):
                    line(0, 0, 0, -self.drawLength)
                    noFill()
                    translate(0, -self.drawLength)
                repeats = 1
            elif step == '+':
                for j in range(repeats):
                    rotate(self.theta)
                repeats = 1
            elif step == '-':
                for j in range(repeats):
                    rotate(-self.theta)
                repeats = 1
            elif step == '[':
                pushes += 1
                pushMatrix()
            elif step == ']':
                popMatrix()
                pushes -= 1
            # Use ord to get ASCII value of letter
            elif (ord(step) >= 48) and (ord(step) <= 57):
                repeats = ord(step) - 48
        while pushes > 0:
            popMatrix()
            pushes -= 1
dataset/ETHPy150Open jdf/processing.py/mode/examples/Topics/Fractals and L-Systems/PenroseTile/penrose_l_system.py/PenroseLSystem.render/original