def delimited(nodes, &block)
      return if nodes.empty?

      block ||= method(:visit)
      head, *tail = nodes
      block.call(head)
      tail.each do |node|
        write(DEFAULT_DELIMITER)
        block.call(node)
      end
    end
def delimited(nodes, &block)
      return if nodes.empty?

      block ||= method(:visit)
      head, *tail = nodes
      block.call(head)
      tail.each do |node|
        write(DEFAULT_DELIMITER)
        block.call(node)
      end
    end
Emit delimited body

 @param [Enumerable<Parser::AST::Node>] nodes
 @param [String] delimiter

 @return [undefined]

 @api private