# File kwartz.rb, line 3652
        def parse_stmt_value
            Kwartz::assert() unless token() == :value
            scan()
            _syntaxerr("':value' requires '('.") unless token() == '('
            scan()
            assign_expr = parse_assignment()
            _syntaxerr("':value(' is not closed.") unless token() == ')'
            scan()
            _syntaxerr("':value' requires assignment.") unless assign_expr.token == '='
            name_expr = assign_expr.left
            _syntaxerr("':value' requires a name.") unless name_expr.token == :variable
            name = name_expr.left
            expr = assign_expr.right
            print_stmt = PrintStmtNode.new(:print, expr, nil)
            nodelist = NodeList.new([print_stmt])
            return  MacroStmtNode.new(:macro, 'cont_' + name, nodelist)
        end