class Panini::DerivationStrategy::RoundRobinProductionChoiceProxy

Public Class Methods

new(nonterminal) click to toggle source
# File lib/derivation_strategy/leftmost.rb, line 6
def initialize(nonterminal)
  @nonterminal = nonterminal
  @round_robin_count = 0
  @production_count = @nonterminal.productions.count
end

Public Instance Methods

production() click to toggle source
# File lib/derivation_strategy/leftmost.rb, line 12
def production
  i = @round_robin_count % @production_count
  @round_robin_count += 1
  @nonterminal.productions[i]
end