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