// File: ArashPartow[P]exprtk-extras/exprtk_repl.cpp
// Function: expression_processor<double>::perform_symbol_dump(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, exprtk::parser<double>::symbol_type>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, exprtk::parser<double>::symbol_type>>> const&) const
void perform_symbol_dump(const symbol_list_t& variable_list) const
   {
      for (std::size_t i = 0; i < variable_list.size(); ++i)
      {
         const symbol_t& symbol = variable_list[i];

         switch (symbol.second)
         {
            case parser_t::e_st_variable : printf("[%02d] Variable  %s\n",
                                                  static_cast<int>(i),symbol.first.c_str());
                                           break;

            case parser_t::e_st_vector   : printf("[%02d] Vector    %s\n",
                                                  static_cast<int>(i),symbol.first.c_str());
                                           break;

            case parser_t::e_st_string   : printf("[%02d] String    %s\n",
                                                  static_cast<int>(i),symbol.first.c_str());
                                           break;

            case parser_t::e_st_function : printf("[%02d] Function  %s\n",
                                                  static_cast<int>(i),symbol.first.c_str());
                                           break;

            case parser_t::e_st_local_variable
                                         : printf("[%02d] LocalVar  %s\n",
                                                  static_cast<int>(i),symbol.first.c_str());
                                           break;

            case parser_t::e_st_local_vector
                                         : printf("[%02d] LocalVec  %s\n",
                                                  static_cast<int>(i),symbol.first.c_str());
                                           break;

            case parser_t::e_st_local_string
                                         : printf("[%02d] LocalStr  %s\n",
                                                  static_cast<int>(i),symbol.first.c_str());
                                           break;

            default                      : break;
         }
      }
   }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq $0x0, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x48(%rsp), %rdi
callq 0x2be010
movq %rax, %rcx
movq 0x30(%rsp), %rax
cmpq %rcx, %rax
jae 0x482cf8
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x4862d0
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movl 0x20(%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x28(%rsp)
subl $0x7, %eax
ja 0x482ce1
movq 0x28(%rsp), %rax
leaq 0x9856(%rip), %rcx      # 0x48c3fc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x40(%rsp), %rax
movl %eax, 0x24(%rsp)
movq 0x38(%rsp), %rdi
callq 0x119120
movl 0x24(%rsp), %esi
movq %rax, %rdx
leaq 0xecf2(%rip), %rdi      # 0x4918c2
movb $0x0, %al
callq 0x1190b0
jmp 0x482ce3
movq 0x40(%rsp), %rax
movl %eax, 0x20(%rsp)
movq 0x38(%rsp), %rdi
callq 0x119120
movl 0x20(%rsp), %esi
movq %rax, %rdx
leaq 0xecda(%rip), %rdi      # 0x4918d7
movb $0x0, %al
callq 0x1190b0
jmp 0x482ce3
movq 0x40(%rsp), %rax
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
callq 0x119120
movl 0x1c(%rsp), %esi
movq %rax, %rdx
leaq 0xecc2(%rip), %rdi      # 0x4918ec
movb $0x0, %al
callq 0x1190b0
jmp 0x482ce3
movq 0x40(%rsp), %rax
movl %eax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
callq 0x119120
movl 0x18(%rsp), %esi
movq %rax, %rdx
leaq 0xecaa(%rip), %rdi      # 0x491901
movb $0x0, %al
callq 0x1190b0
jmp 0x482ce3
movq 0x40(%rsp), %rax
movl %eax, 0x14(%rsp)
movq 0x38(%rsp), %rdi
callq 0x119120
movl 0x14(%rsp), %esi
movq %rax, %rdx
leaq 0xec92(%rip), %rdi      # 0x491916
movb $0x0, %al
callq 0x1190b0
jmp 0x482ce3
movq 0x40(%rsp), %rax
movl %eax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
callq 0x119120
movl 0x10(%rsp), %esi
movq %rax, %rdx
leaq 0xec7d(%rip), %rdi      # 0x49192b
movb $0x0, %al
callq 0x1190b0
jmp 0x482ce3
movq 0x40(%rsp), %rax
movl %eax, 0xc(%rsp)
movq 0x38(%rsp), %rdi
callq 0x119120
movl 0xc(%rsp), %esi
movq %rax, %rdx
leaq 0xec68(%rip), %rdi      # 0x491940
movb $0x0, %al
callq 0x1190b0
jmp 0x482ce3
jmp 0x482ce3
jmp 0x482ce5
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0x482b47
addq $0x58, %rsp
retq
nopl (%rax)