Class Index [+]

Quicksearch

Treetop::Compiler::Repetition

Public Instance Methods

assign_and_extend_result() click to toggle source
    # File lib/treetop/compiler/node_classes/repetition.rb, line 31
31:       def assign_and_extend_result
32:         assign_result "instantiate_node(#{node_class_name},input, #{start_index_var}...index, #{accumulator_var})"
33:         extend_result_with_inline_module
34:       end
compile(address, builder, parent_expression) click to toggle source
    # File lib/treetop/compiler/node_classes/repetition.rb, line 4
 4:       def compile(address, builder, parent_expression)
 5:         super
 6:         repeated_expression = parent_expression.atomic
 7:         begin_comment(parent_expression)
 8:         use_vars :result, :accumulator, :start_index
 9: 
10:         builder.loop do
11:           obtain_new_subexpression_address
12:           repeated_expression.compile(subexpression_address, builder)
13:           builder.if__ subexpression_success? do
14:             accumulate_subexpression_result
15:           end
16:           builder.else_ do
17:             builder.break
18:           end
19:           if max && !max.empty?
20:             builder.if_ "#{accumulator_var}.size == #{max.text_value}" do
21:               builder.break
22:             end
23:           end
24:         end
25:       end
inline_module_name() click to toggle source
    # File lib/treetop/compiler/node_classes/repetition.rb, line 27
27:       def inline_module_name
28:         parent_expression.inline_module_name
29:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.