Class: Lrama::Warnings::Conflicts

Inherits:
Object
  • Object
show all
Defined in:
lib/lrama/warnings/conflicts.rb

Instance Method Summary collapse

Constructor Details

#initialize(logger, warnings) ⇒ Conflicts

Returns a new instance of Conflicts.



8
9
10
11
# File 'lib/lrama/warnings/conflicts.rb', line 8

def initialize(logger, warnings)
  @logger = logger
  @warnings = warnings
end

Instance Method Details

#warn(states) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/lrama/warnings/conflicts.rb', line 14

def warn(states)
  return unless @warnings

  if states.sr_conflicts_count != 0
    @logger.warn("shift/reduce conflicts: #{states.sr_conflicts_count} found")
  end

  if states.rr_conflicts_count != 0
    @logger.warn("reduce/reduce conflicts: #{states.rr_conflicts_count} found")
  end
end