Class: Pegparse::BorrowedAreas
- Inherits:
-
Object
- Object
- Pegparse::BorrowedAreas
- Defined in:
- lib/pegparse/borrowed_areas.rb
Instance Method Summary collapse
- #add_area(area) ⇒ Object
- #backtracked(pos) ⇒ Object
- #borrowed_area_end_pos ⇒ Object
- #borrowed_area_start_pos ⇒ Object
- #conflicted_area(pos) ⇒ Object
-
#initialize ⇒ BorrowedAreas
constructor
A new instance of BorrowedAreas.
Constructor Details
#initialize ⇒ BorrowedAreas
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_pos ⇒ Object
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_pos ⇒ Object
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 |