# File lib/treetop/compiler/node_classes/sequence.rb, line 4 4: def compile(address, builder, parent_expression = nil) 5: super 6: begin_comment(self) 7: use_vars :result, :start_index, :accumulator 8: compile_sequence_elements(sequence_elements) 9: builder.if__ "#{accumulator_var}.last" do 10: assign_result "instantiate_node(#{node_class_name},input, #{start_index_var}...index, #{accumulator_var})" 11: extend_result sequence_element_accessor_module_name if sequence_element_accessor_module_name 12: extend_result_with_inline_module 13: end 14: builder.else_ do 15: reset_index 16: assign_failure start_index_var 17: end 18: end_comment(self) 19: end
# File lib/treetop/compiler/node_classes/sequence.rb, line 25 25: def compile_sequence_elements(elements) 26: obtain_new_subexpression_address 27: elements.first.compile(subexpression_address, builder) 28: accumulate_subexpression_result 29: if elements.size > 1 30: builder.if_ subexpression_success? do 31: compile_sequence_elements(elements[1..1]) 32: end 33: end 34: end
# File lib/treetop/compiler/node_classes/sequence.rb, line 21 21: def node_class_name 22: node_class_declarations.node_class_name || 'SyntaxNode' 23: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.