Sha256: f40884293afe4aceab8086d152bb7464daee2179875480a1caf6f1a50bb46982

Contents?: true

Size: 644 Bytes

Versions: 2

Compression:

Stored size: 644 Bytes

Contents

module Treetop
  module Compiler    
    class AnythingSymbol < AtomicExpression
      def compile(address, builder, parent_expression = nil)
        super
        builder.if__ "index < input_length" do
          if address == 0 || decorated?
	    assign_result "instantiate_node(#{node_class_name},input, index...(index + 1))"
	    extend_result_with_inline_module
          else
            assign_lazily_instantiated_node
          end
          builder << "@index += 1"
        end
        builder.else_ do
          builder << 'terminal_parse_failure("any character")'
          assign_result 'nil'
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
treetop-1.5.3 lib/treetop/compiler/node_classes/anything_symbol.rb
treetop-1.5.1 lib/treetop/compiler/node_classes/anything_symbol.rb