cond (RubyParser)

    # File lib/ruby_parser_extras.rb, line 244
      def cond node
        return nil if node.nil?
        node = value_expr node

        case node.first
        when :lit then
          if Regexp === node.last then
            return s(:match, node)
          else
            return node
          end
        when :and then
          return s(:and, cond(node[1]), cond(node[2]))
        when :or then
          return s(:or,  cond(node[1]), cond(node[2]))
        when :dot2 then
          label = "flip#{node.hash}"
          env[label] = :lvar
          return s(:flip2, node[1], node[2])
        when :dot3 then
          label = "flip#{node.hash}"
          env[label] = :lvar
          return s(:flip3, node[1], node[2])
        else
          return node
        end
      end