/usr/lib/ruby/vendor_ruby/treetop/compiler/node_classes/terminal.rb is in ruby-treetop 1.4.10-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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
|