Class: Pegparse::BorrowedAreas

Inherits:
Object
  • Object
show all
Defined in:
lib/pegparse/borrowed_areas.rb

Instance Method Summary collapse

Constructor Details

#initializeBorrowedAreas

Returns a new instance of BorrowedAreas.



12
13
14
# File 'lib/pegparse/borrowed_areas.rb', line 12

def initialize
  @areas = []
end

Instance Method Details

#add_area(area) ⇒ Object



16
17
18
# File 'lib/pegparse/borrowed_areas.rb', line 16

def add_area(area)
  @areas << area
end

#backtracked(pos) ⇒ Object



24
25
26
# File 'lib/pegparse/borrowed_areas.rb', line 24

def backtracked(pos)
  @areas.reject!{|area| area.marker_pos > pos }
end

#borrowed_area_end_posObject



32
33
34
# File 'lib/pegparse/borrowed_areas.rb', line 32

def borrowed_area_end_pos
  @areas.last ? @areas.last.end_pos : nil
end

#borrowed_area_start_posObject



28
29
30
# File 'lib/pegparse/borrowed_areas.rb', line 28

def borrowed_area_start_pos
  @areas.first ? @areas.first.start_pos : nil
end

#conflicted_area(pos) ⇒ Object



20
21
22
# 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