class ClassHDL::BlockFOR

Attributes

flag[RW]
start[RW]
step[RW]
stop[RW]
var[RW]
var_type[RW]

Public Instance Methods

instance(as_type= :cond) click to toggle source
# File lib/tdl/class_hdl/hdl_foreach.rb, line 27
def instance(as_type= :cond)
    
    unless var
        head_str = "for(#{var_type} #{flag}=#{start};#{flag}<#{stop};#{flag}=#{flag}+#{step})begin"
    else
        head_str = "for(#{var}=#{start};#{flag}<#{stop};#{flag}=#{flag}+#{step})begin"
    end

    sub_str = []
    opertor_chains.each do |oc|
        unless oc.is_a? BlockIF
            unless oc.slaver
                sub_str.push "    #{oc.instance(as_type,belong_to_module)};"
            end
        else 
            sub_str.push( oc.instance(as_type).gsub(/^./){ |m| "    #{m}"} )
        end
    end

    return "#{head_str}\n#{sub_str.join("\n")}\nend"

end