Class: Panini::DerivationStrategy::RoundRobinProductionChoiceProxy
- Inherits:
-
Object
- Object
- Panini::DerivationStrategy::RoundRobinProductionChoiceProxy
- Defined in:
- lib/derivation_strategy/leftmost.rb
Instance Method Summary collapse
-
#initialize(nonterminal) ⇒ RoundRobinProductionChoiceProxy
constructor
A new instance of RoundRobinProductionChoiceProxy.
- #production ⇒ Object
Constructor Details
#initialize(nonterminal) ⇒ RoundRobinProductionChoiceProxy
Returns a new instance of RoundRobinProductionChoiceProxy.
6 7 8 9 10 |
# File 'lib/derivation_strategy/leftmost.rb', line 6 def initialize(nonterminal) @nonterminal = nonterminal @round_robin_count = 0 @production_count = @nonterminal.productions.count end |
Instance Method Details
#production ⇒ Object
12 13 14 15 16 |
# File 'lib/derivation_strategy/leftmost.rb', line 12 def production i = @round_robin_count % @production_count @round_robin_count += 1 @nonterminal.productions[i] end |