Class: CFGHelper::ChomskyNF
- Inherits:
-
Object
- Object
- CFGHelper::ChomskyNF
- Defined in:
- lib/cfg_helper/chomsky_nf.rb
Overview
convert to Chomsky Normal Form
Instance Method Summary collapse
Instance Method Details
#run(rules, alphabet) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/cfg_helper/chomsky_nf.rb', line 8 def run(rules, alphabet) new_rules = {} @rules = rules @alphabet = alphabet # add cases like (A, a), (B, b) _add_single_vars new_rules # change rules like (X, aX) to (X, AX) _handle_simple_rule new_rules _handle_all_rule new_rules end |
#simplify(rules) ⇒ Object
22 23 24 25 26 |
# File 'lib/cfg_helper/chomsky_nf.rb', line 22 def simplify(rules) simplifier = CFGHelper::ChomskyNFSimplifier.new simplifier.run rules, @alphabet end |