class Pegparse::BorrowedAreas

Public Class Methods

new() click to toggle source
# File lib/pegparse/borrowed_areas.rb, line 12
def initialize
  @areas = []
end

Public Instance Methods

add_area(area) click to toggle source
# File lib/pegparse/borrowed_areas.rb, line 16
def add_area(area)
  @areas << area
end
backtracked(pos) click to toggle source
# File lib/pegparse/borrowed_areas.rb, line 24
def backtracked(pos)
  @areas.reject!{|area| area.marker_pos > pos }
end
borrowed_area_end_pos() click to toggle source
# File lib/pegparse/borrowed_areas.rb, line 32
def borrowed_area_end_pos
  @areas.last ? @areas.last.end_pos : nil
end
borrowed_area_start_pos() click to toggle source
# File lib/pegparse/borrowed_areas.rb, line 28
def borrowed_area_start_pos
  @areas.first ? @areas.first.start_pos : nil
end
conflicted_area(pos) click to toggle source
# File lib/pegparse/borrowed_areas.rb, line 20
def conflicted_area(pos)
  conflicted = @areas.find{|area| area.start_pos <= pos && pos < area.end_pos }
end