// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::process_lexer_errors()
void process_lexer_errors()
      {
         for (std::size_t i = 0; i < lexer().size(); ++i)
         {
            if (lexer()[i].is_error())
            {
               std::string diagnostic = "ERR004 - ";

               switch (lexer()[i].type)
               {
                  case lexer::token::e_error      : diagnostic += "General token error";
                                                    break;

                  case lexer::token::e_err_symbol : diagnostic += "Symbol error";
                                                    break;

                  case lexer::token::e_err_number : diagnostic += "Invalid numeric token";
                                                    break;

                  case lexer::token::e_err_string : diagnostic += "Invalid string token";
                                                    break;

                  case lexer::token::e_err_sfunc  : diagnostic += "Invalid special function token";
                                                    break;

                  default                         : diagnostic += "Unknown compiler error";
               }

               set_error(make_error(
                  parser_error::e_lexer,
                  lexer()[i],
                  diagnostic + ": " + lexer()[i].value,
                  exprtk_error_location));
            }
         }
      }

// Assembly:
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdi, 0x1b0(%rsp)
movq 0x1b0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq $0x0, 0x1a8(%rsp)
movq 0x40(%rsp), %rdi
movq 0x1a8(%rsp), %rax
movq %rax, 0x38(%rsp)
callq 0x3723b0
movq %rax, %rdi
callq 0x3783f0
movq %rax, %rcx
movq 0x38(%rsp), %rax
cmpq %rcx, %rax
jae 0x372393
movq 0x40(%rsp), %rdi
callq 0x3723b0
movq %rax, %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x2575e0
movq %rax, %rdi
callq 0x375ce0
testb $0x1, %al
jne 0x372033
jmp 0x372378
leaq 0x187(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x11b6f0
movq 0x30(%rsp), %rdx
leaq 0x234f71(%rip), %rsi    # 0x5a6fc2
leaq 0x188(%rsp), %rdi
callq 0x134520
jmp 0x372060
leaq 0x187(%rsp), %rdi
callq 0x11b820
movq 0x40(%rsp), %rdi
callq 0x3723b0
movq %rax, 0x28(%rsp)
jmp 0x37207e
movq 0x28(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x2575e0
movl (%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x20(%rsp)
subl $0x4, %eax
ja 0x372170
movq 0x20(%rsp), %rax
leaq 0x229a68(%rip), %rcx    # 0x59bb18
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
leaq 0x187(%rsp), %rdi
callq 0x11b820
jmp 0x37239b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x372369
leaq 0x234ecd(%rip), %rsi    # 0x5a6fcc
leaq 0x188(%rsp), %rdi
callq 0x11b150
jmp 0x37210e
jmp 0x372188
leaq 0x234ec9(%rip), %rsi    # 0x5a6fe0
leaq 0x188(%rsp), %rdi
callq 0x11b150
jmp 0x372126
jmp 0x372188
leaq 0x234ebe(%rip), %rsi    # 0x5a6fed
leaq 0x188(%rsp), %rdi
callq 0x11b150
jmp 0x37213e
jmp 0x372188
leaq 0x234ebc(%rip), %rsi    # 0x5a7003
leaq 0x188(%rsp), %rdi
callq 0x11b150
jmp 0x372156
jmp 0x372188
leaq 0x234eb9(%rip), %rsi    # 0x5a7018
leaq 0x188(%rsp), %rdi
callq 0x11b150
jmp 0x37216e
jmp 0x372188
leaq 0x234ec0(%rip), %rsi    # 0x5a7037
leaq 0x188(%rsp), %rdi
callq 0x11b150
jmp 0x372186
jmp 0x372188
movq 0x40(%rsp), %rdi
callq 0x3723b0
movq %rax, 0x18(%rsp)
jmp 0x372199
movq 0x18(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x2575e0
movq %rax, 0x10(%rsp)
leaq 0x238269(%rip), %rdx    # 0x5aa420
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0x378450
jmp 0x3721ce
movq 0x40(%rsp), %rdi
callq 0x3723b0
movq %rax, 0x8(%rsp)
jmp 0x3721df
movq 0x8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x2575e0
movq %rax, %rdx
addq $0x8, %rdx
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x378400
jmp 0x37220f
leaq 0x48(%rsp), %rdi
movl $0x60b0, %esi           # imm = 0x60B0
callq 0x371f20
jmp 0x372220
leaq 0x234cec(%rip), %rsi    # 0x5a6f13
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x29dd70
jmp 0x372238
movq 0x10(%rsp), %rdx
leaq 0xc8(%rsp), %rdi
movl $0x6, %esi
leaq 0xa8(%rsp), %rcx
leaq 0x68(%rsp), %r8
callq 0x3741e0
jmp 0x37225e
movq 0x40(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x371e40
jmp 0x372272
leaq 0xc8(%rsp), %rdi
callq 0x371330
leaq 0x68(%rsp), %rdi
callq 0x11b838
leaq 0x48(%rsp), %rdi
callq 0x11b838
leaq 0xa8(%rsp), %rdi
callq 0x11b838
leaq 0x88(%rsp), %rdi
callq 0x11b838
leaq 0x188(%rsp), %rdi
callq 0x11b838
jmp 0x372378
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x37235c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x37234f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x372345
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x37233b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0x371330
leaq 0x68(%rsp), %rdi
callq 0x11b838
leaq 0x48(%rsp), %rdi
callq 0x11b838
leaq 0xa8(%rsp), %rdi
callq 0x11b838
leaq 0x88(%rsp), %rdi
callq 0x11b838
leaq 0x188(%rsp), %rdi
callq 0x11b838
jmp 0x37239b
jmp 0x37237a
movq 0x1a8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1a8(%rsp)
jmp 0x371fd8
addq $0x1b8, %rsp            # imm = 0x1B8
retq
movq 0x178(%rsp), %rdi
callq 0x11b4e0
nopl (%rax,%rax)