def set_pin_width!(node, width)

      #Get the components of the given bus' name.
      _, left, right = parse_pin_name(get_pin_name(node))

      #If the pin wasn't initially a bus, make it one.
      left  ||= 0
      right ||= 0

      #If our right bound is greater than our left one, adjust it.
      if right > left
        right = left + width - 1
      #Otherwise, adjust the left width.
      else
        left = right + width - 1
      end

      #Set the pin's bounds.
      set_pin_bounds!(node, left, right)

    end
def set_pin_width!(node, width)

      #Get the components of the given bus' name.
      _, left, right = parse_pin_name(get_pin_name(node))

      #If the pin wasn't initially a bus, make it one.
      left  ||= 0
      right ||= 0

      #If our right bound is greater than our left one, adjust it.
      if right > left
        right = left + width - 1
      #Otherwise, adjust the left width.
      else
        left = right + width - 1
      end

      #Set the pin's bounds.
      set_pin_bounds!(node, left, right)

    end
Adjusts the "bounds" of the given bus so the bus is of the provided width
 by modifying the bus's upper bound. If the node is not a bus, it will be
 made into a bus whose right bound is 0.

 node: The node to be modified.
 width: The width to apply.