class BlifUtils::AST::LogicGate

Attributes

inputs[R]
output[R]
single_output_cover_list[R]

Public Class Methods

new(identifier_list, single_output_cover_list) click to toggle source
# File lib/blifutils/ast.rb, line 104
def initialize (identifier_list, single_output_cover_list)
        @inputs = identifier_list[0 ... -1]
        @output = identifier_list[-1]
        @single_output_cover_list = single_output_cover_list
end

Public Instance Methods

pretty_print(indent) click to toggle source
# File lib/blifutils/ast.rb, line 110
def pretty_print (indent)
        str  = '    '*indent + "Logic gate:\n"
        str += '    '*(indent+1) + "Inputs: #{@inputs.collect{|idf| "\"#{idf}\""}.join(', ')}\n"
        str += '    '*(indent+1) + "Output: \"#{@output}\"\n"
        str += '    '*(indent+1) + "Cover list:\n"
        @single_output_cover_list.each do |inputs_output|
                str += '    '*(indent+2) + "#{inputs_output[0].collect{|strbit| case strbit when 0 then '0' when 1 then '1' else '-' end}.join} | #{inputs_output[1]}\n"
        end
        return str
end