Class: Sequitur::SequiturGrammar
- Inherits:
-
DynamicGrammar
- Object
- DynamicGrammar
- Sequitur::SequiturGrammar
- Defined in:
- lib/sequitur/sequitur_grammar.rb
Overview
Specialization of the DynamicGrammar class. A Sequitur grammar is a context-free grammar that is entirely built from a sequence of input tokens through the Sequitur algorithm.
Defined Under Namespace
Classes: CollisionDiagnosis
Instance Attribute Summary
Attributes inherited from DynamicGrammar
Instance Method Summary collapse
-
#initialize(anEnum) ⇒ SequiturGrammar
constructor
Build the grammar from an enumerator of tokens.
Methods inherited from DynamicGrammar
#accept, #add_production, #add_token, #remove_production, #to_string, #visitor
Constructor Details
#initialize(anEnum) ⇒ SequiturGrammar
Build the grammar from an enumerator of tokens.
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/sequitur/sequitur_grammar.rb', line 14 def initialize(anEnum) super() # Make start production compliant with utility rule 2.times { start.incr_refcount } # Read the input sequence and apply the Sequitur algorithm anEnum.each do |a_token| add_token(a_token) enforce_rules end end |