module HDLRuby::Low::Low2HDR
Provides tools for converting HDLRuby::Low
objects to hdr text.
Public Class Methods
hdr_call_name(name,args)
click to toggle source
Convert a HDLRuby::Low
name
for instantiation to hdr text with args as argument.
# File lib/HDLRuby/hruby_low2hdr.rb, line 46 def self.hdr_call_name(name,args) if hdr_name?(name) then # Compatible name return it as is. return "#{name} #{[*args].join(",")}" else # Incompatible, use the ruby "send" operator. return "send(:\"#{name}\",#{[*args].join(",")})" end end
hdr_decl_name(name)
click to toggle source
Converts a HDLRuby::Low
name
for declaration to hdr tex.
# File lib/HDLRuby/hruby_low2hdr.rb, line 22 def self.hdr_decl_name(name) if hdr_name?(name) then # Compatible name return it as is. return name.to_s else # Incompatible, use quotes. return "\"#{name}\"" end end
hdr_name?(name)
click to toggle source
Tells if an HDLRuby::Low
name
syntax is compatible for hdr text.
# File lib/HDLRuby/hruby_low2hdr.rb, line 17 def self.hdr_name?(name) return name =~ /^[a-zA-Z_][a-zA-Z_0-9]*$/ end
hdr_use_name(name)
click to toggle source
Converts a HDLRuby::Low
name
for usage to hdr text.
# File lib/HDLRuby/hruby_low2hdr.rb, line 33 def self.hdr_use_name(name) if hdr_name?(name) then # Compatible name return it as is. return name.to_s else # Incompatible, use the hdr "send" operator. # return "(+:\"#{name}\")" return "send(:\"#{name}\")" end end