# File kwartz.rb, line 3460
        def parse_stmt_while
            Kwartz::assert() unless token() == :while
            scan()
            _syntaxerr("':while' requires '('.") unless token() == '('
            scan()
            cond_expr = parse_assignment()
            _syntaxerr("':while(' is not closed.") unless token() == ')'
            scan()
            nodelist = parse_stmt_list()
            _syntaxerr("':while' is not closed by ':end'.") unless token() == :end
            scan()
            return WhileStmtNode.new(:while, nodelist, nil, cond_expr)
        end