def compile(address, builder, parent_expression)
super
repeated_expression = parent_expression.atomic
begin_comment(parent_expression)
use_vars :result, :accumulator, :start_index
builder.loop do
obtain_new_subexpression_address
repeated_expression.compile(subexpression_address, builder)
builder.if__ subexpression_success? do
accumulate_subexpression_result
end
builder.else_ do
builder.break
end
if max && !max.empty?
builder.if_ "#{accumulator_var}.size == #{max.text_value}" do
builder.break
end
end
end
end