class Reggae::Visitor
Public Class Methods
new(options={})
click to toggle source
# File lib/reggae/visitor.rb, line 7 def initialize options={} @indent=-2 end
Public Instance Methods
dec()
click to toggle source
# File lib/reggae/visitor.rb, line 16 def dec @indent-=2 end
inc(str=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 11 def inc str=nil say(str) if str @indent+=2 end
say(str)
click to toggle source
# File lib/reggae/visitor.rb, line 20 def say str puts " "*@indent+str.to_s if @verbose end
visit(mm)
click to toggle source
# File lib/reggae/visitor.rb, line 24 def visit mm inc mm.accept(self,nil) dec end
visitBit(bit,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 88 def visitBit bit,args=nil inc "Bit" say bit.position say bit.name say bit.purpose say bit.toggle dec end
visitBitfield(bitfield,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 97 def visitBitfield bitfield,args=nil inc "Bitfield" say bitfield.position say bitfield.name say bitfield.purpose say bitfield.toggle dec end
visitBus(bus,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 45 def visitBus bus,args=nil inc "Bus" say bus.frequency say bus.address_size say bus.data_size dec end
visitMemoryMap(mm,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 30 def visitMemoryMap mm,args=nil inc "MemoryMap" say mm.name mm.parameters.accept(self,nil) mm.zones.each{|zone| zone.accept(self,nil)} dec end
visitParameters(params,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 38 def visitParameters params,args=nil inc "Parameters" params.bus.accept(self,nil) params.range.accept(self,nil) dec end
visitRange(range,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 53 def visitRange range,args=nil inc "Range" say range.from say range.to dec end
visitRegister(reg,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 77 def visitRegister reg,args=nil inc "Register" say reg.name say reg.address say reg.init reg.bits.each{|bit| bit.accept(self)} reg.bitfields.each{|bitfield| bitfield.accept(self)} dec end
visitSubzone(zone,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 69 def visitSubzone zone,args=nil inc "Subzone" say zone.name zone.range.accept(self) zone.registers.each{|reg| reg.accept(self)} dec end
visitZone(zone,args=nil)
click to toggle source
# File lib/reggae/visitor.rb, line 60 def visitZone zone,args=nil inc "Zone" say zone.name zone.range.accept(self) zone.registers.each{|reg| reg.accept(self)} zone.subzones.each{|subzone| subzone.accept(self)} dec end