class Reggae::PrettyPrinter

Public Class Methods

new() click to toggle source
# File lib/reggae/pretty_printer.rb, line 7
def initialize
  @indent=-2
end

Public Instance Methods

dec() click to toggle source
# File lib/reggae/pretty_printer.rb, line 16
def dec
  @indent-=2
end
inc(str=nil) click to toggle source
# File lib/reggae/pretty_printer.rb, line 11
def inc str=nil
  say(str) if str
  @indent+=2
end
say(str) click to toggle source
# File lib/reggae/pretty_printer.rb, line 20
def say str
  puts " "*@indent+str.to_s
end
visit(mm) click to toggle source
# File lib/reggae/pretty_printer.rb, line 24
def visit mm
  inc
  mm.accept(self,nil)
  dec
end
visitBit(bit,args=nil) click to toggle source
# File lib/reggae/pretty_printer.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/pretty_printer.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/pretty_printer.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/pretty_printer.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/pretty_printer.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/pretty_printer.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/pretty_printer.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/pretty_printer.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/pretty_printer.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