Sha256: 8c69b91febd05c54c63d5b5997120ec202a35c182ba9b8009e6c2a74f6f8500f
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
module Treetop class Sequence < NodeInstantiatingParsingExpression attr_reader :elements, :node_class def initialize(elements) super() @elements = elements end def node_superclass SequenceSyntaxNode end def to_s parenthesize((@elements.collect {|elt| elt.to_s}).join(" ")) end def parse_at(input, start_index, parser) results = [] next_index = start_index for elt in elements result = elt.parse_at(input, next_index, parser) results << result return failure_at(start_index, results) if result.failure? next_index = result.interval.end end success(input, start_index...next_index, results, results) end protected def success(input, interval, results, encountered_child_results) return node_class.new(input, interval, results, collect_nested_failures(encountered_child_results)) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
treetop-0.1.0 | lib/treetop/grammar/parsing_expressions/sequence.rb |