def grip str
      return str unless self.class.const_defined?(:GRIP_TAGS)
      result = str.bowl
      self.class::GRIP_TAGS.each { |tag, value|
        result.gsub!(/(?:#{tag})(.*?)(?:#{tag})/m) {
          next if (args = $1).vacant?
          tag = value[:marker] if Hash === value && value[:marker]
          "⌦ #{tag} #{args}#{tag}∎⌫"
        }
      }
      result.unbowl
    end
def grip str
      return str unless self.class.const_defined?(:GRIP_TAGS)
      result = str.bowl
      self.class::GRIP_TAGS.each { |tag, value|
        result.gsub!(/(?:#{tag})(.*?)(?:#{tag})/m) {
          next if (args = $1).vacant?
          tag = value[:marker] if Hash === value && value[:marker]
          "⌦ #{tag} #{args}#{tag}∎⌫"
        }
      }
      result.unbowl
    end
Prepares grips in the input for the execution
 FIX<E There is a problem: we append a trailing space, need to remove it later!!