Class: OrigenAppGenerators::SubBlockParser
- Inherits:
-
Object
- Object
- OrigenAppGenerators::SubBlockParser
- Defined in:
- lib/origen_app_generators/sub_block_parser.rb
Overview
Responsible for parsing something like this:
"ram, osc, pll, atd(2), comms[ram(2), osc](3)"
into this:
{
"RAM"=>{}, "Osc"=>{}, "PLL"=>{}, "ATD"=> {:instances=>2},
"Comms"=>{:instances=>3, :children=>{"RAM"=>{:instances=>2}, "Osc"=>{}}}
}
Instance Method Summary collapse
Instance Method Details
#parse(str) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/origen_app_generators/sub_block_parser.rb', line 15 def parse(str) r = {} split(str).each do |tag| tag, i = extract_instances(tag) name, children = extract_children(tag) name = camelize(name) r[name] = {} r[name][:instances] = i if i r[name][:children] = children if children end r end |