# File kwartz.rb, line 2652
        def exec_expr(expr_node, arg1=nil, arg2=nil)
            case tkn = expr_node.token
            when :variable
                varname = expr_node.left
                if _debut?(varname) then
                    _regist(varname)
                elsif _scope(varname) == :local && ! _initialized?(varname) then
                    msg = "#{varname}: uninitialized local var is used, or tryng to assign into global var."
                    @warnings << msg
                end

            when '[]', '{}'
                exec_expr(expr_node.right)
                exec_expr(expr_node.left)
                
            when '[:]', '.'
                exec_expr(expr_node.left)
                
            when :string, :number, :true, :false, :null
                # do nothing
                
            when :function
                exec_expr(expr_node.right) if expr_node.right
                
            when '+', '-'
                exec_expr(expr_node.left, arg1, arg2)
                exec_expr(expr_node.right, arg1, arg2) if expr_node.right
                
            when '*', '/', '%'   #, '^'
                exec_expr(expr_node.left, arg1, arg2)
                exec_expr(expr_node.right, arg1, arg2)
                
            when '!'
                exec_expr(expr_node.left)

            when '==', '!=', '<', '<=', '>', '>=', '&&', '||'
                exec_expr(expr_node.left)
                exec_expr(expr_node.right)

            when '.+', ','
                exec_expr(expr_node.left)
                exec_expr(expr_node.right)

            when '.==', '.!=', '.<', '.<=', '.>', '.>='
                exec_expr(expr_node.left)
                exec_expr(expr_node.right)

            when :empty, :notempty
                exec_expr(expr_node.left)

            when '?'
                exec_expr(expr_node.condition)
                exec_expr(expr_node.left)
                exec_expr(expr_node.right)

            else
                Kwartz::assert("tknn=#{tkn.inspect}")
            end
        end