# File kwartz.rb, line 1956
        def condop_to_ifstmt(stmt_node)
            ## conditional operator node
            left = stmt_node.left
            ifstmt_node = nil
            if left && left.is_a?(ExprNode)
                condop_expr, parent_expr = left.find_with_parent do |expr_node|
                    expr_node.token == '?'
                end
                if condop_expr
                    ## expression node when true/false
                    cond_expr  = condop_expr.condition
                    true_expr  = condop_expr.left
                    false_expr = condop_expr.right

                    ## statement node when true/false
                    parent_node = parent_expr || stmt_node
                    l_or_r = parent_node.left == condop_expr ? 'left' : 'right'
                    eval "parent_node.#{l_or_r} = true_expr"
                    true_stmt  = stmt_node.deepcopy
                    eval "parent_node.#{l_or_r} = false_expr"
                    false_stmt = stmt_node.deepcopy

                    ## create if-statement node
                    true_nodelist  = NodeList.new([true_stmt])
                    false_nodelist = NodeList.new([false_stmt])
                    ifstmt_node = IfStmtNode.new(:if, true_nodelist, false_nodelist, cond_expr)
                end
            end
            return ifstmt_node
        end