Sha256: 00f661e668df580170768dc198ec246e6dd55c79fdacb972c486a17b8f6802ef

Contents?: true

Size: 640 Bytes

Versions: 148

Compression:

Stored size: 640 Bytes

Contents

module Treetop
  module Compiler    
    class Terminal < AtomicExpression
      def compile(address, builder, parent_expression = nil)
        super
        string_length = eval(text_value).length
        
        builder.if__ "has_terminal?(#{text_value}, false, index)" do
          assign_result "instantiate_node(#{node_class_name},input, index...(index + #{string_length}))"
          extend_result_with_inline_module
          builder << "@index += #{string_length}"
        end
        builder.else_ do
          builder << "terminal_parse_failure(#{text_value})"
          assign_result 'nil'
        end
      end
    end
 end
end

Version data entries

148 entries across 118 versions & 9 rubygems

Version Path
cloudhead-less-1.0.1 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.10 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.13 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.16 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.2 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.3 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.4 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.5 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.6 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.8 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.0.9 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.0 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.1 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.10 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.11 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.12 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.13 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.2 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.3 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb
cloudhead-less-1.1.4 lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb