// File: /workspace/github_cpp_makefile_star2_O2/AgathokakologicalBit[P]wit/src/parsing/token.cpp
// Function: akbit::system::parsing::get_sub_type_name[abi:cxx11](akbit::system::parsing::TokenSubType)
std::string get_sub_type_name(TokenSubType type)
  {
    using tst = TokenSubType;

    switch (type)
    {
      case tst::t_inline_commentary: return "comment/inline";
      case tst::t_multiline_commentary: return "comment/multiline";

      case tst::t_identifier: return "identifier";
      case tst::t_integer: return "number/integer";
      case tst::t_decimal: return "number/decimal";
      case tst::t_string: return "string";
      case tst::t_character: return "character";

      case tst::t_at_sign: return "op/at_sign";

      case tst::t_brace_round_left: return "op/brace_round_left";
      case tst::t_brace_round_right: return "op/brace_round_right";
      case tst::t_brace_square_left: return "op/brace_square_left";
      case tst::t_brace_square_right: return "op/brace_square_right";
      case tst::t_brace_triangular_left: return "op/brace_triangular_left";
      case tst::t_brace_triangular_right: return "op/brace_triangular_right";
      case tst::t_brace_curly_left: return "op/brace_curly_left";
      case tst::t_brace_curly_right: return "op/brace_curly_right";

      case tst::t_plus: return "op/plus";
      case tst::t_dash: return "op/dash";
      case tst::t_tilde: return "op/tilde";
      case tst::t_dot: return "op/dot";
      case tst::t_comma: return "op/comma";

      case tst::t_star: return "op/star";
      case tst::t_slash: return "op/slash";
      case tst::t_backslash: return "op/backslash";
      case tst::t_percent: return "op/percent";

      case tst::t_vertical_bar: return "op/vertical_bar";
      case tst::t_ampersand: return "op/ampersand";
      case tst::t_caret: return "op/caret";

      case tst::t_equal: return "op/equal_sign";
      case tst::t_exclamation_mark: return "op/exclamation_mark";
      case tst::t_question_mark: return "op/question_mark";

      case tst::t_colon: return "op/colon";
      case tst::t_semicolon: return "op/semicolon";

      case tst::t_eof: return "end_of_file";

      case tst::t_unknown: return "#???";
    }

    return "#fail";
  }

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
cmpl $0x22, %esi
ja 0x766f
movl %esi, %eax
leaq 0x9e98(%rip), %rcx      # 0x11384
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x9c0a(%rip), %rsi      # 0x11106
jmp 0x7676
leaq 0xa092(%rip), %rsi      # 0x1159a
jmp 0x7676
leaq 0xa0e5(%rip), %rsi      # 0x115f9
jmp 0x7676
leaq 0xa003(%rip), %rsi      # 0x11523
jmp 0x7676
leaq 0x9fc9(%rip), %rsi      # 0x114f5
jmp 0x7676
leaq 0xa0b4(%rip), %rsi      # 0x115ec
jmp 0x7676
leaq 0x9f6d(%rip), %rsi      # 0x114b1
jmp 0x7676
leaq 0x9f0f(%rip), %rsi      # 0x1145f
jmp 0x7676
leaq 0x9f6a(%rip), %rsi      # 0x114c6
jmp 0x7676
leaq 0x9f20(%rip), %rsi      # 0x11488
jmp 0x7676
leaq 0x9fe4(%rip), %rsi      # 0x11558
jmp 0x7676
leaq 0x9fd1(%rip), %rsi      # 0x11551
jmp 0x7676
leaq 0x9ec1(%rip), %rsi      # 0x1144d
jmp 0x7676
leaq 0x9f77(%rip), %rsi      # 0x1150f
jmp 0x7676
leaq 0x9e77(%rip), %rsi      # 0x1141b
jmp 0x7676
leaq 0x9bd5(%rip), %rsi      # 0x11185
jmp 0x7676
leaq 0x9e82(%rip), %rsi      # 0x1143e
jmp 0x7676
leaq 0xa00a(%rip), %rsi      # 0x115d2
jmp 0x7676
leaq 0x9f64(%rip), %rsi      # 0x11538
jmp 0x7676
leaq 0x9f81(%rip), %rsi      # 0x11561
jmp 0x7676
leaq 0x9e82(%rip), %rsi      # 0x1146e
jmp 0x7676
leaq 0x9f71(%rip), %rsi      # 0x11569
jmp 0x7676
leaq 0x9edb(%rip), %rsi      # 0x114dc
jmp 0x7676
leaq 0x9b74(%rip), %rsi      # 0x1117e
jmp 0x7676
leaq 0x9f2d(%rip), %rsi      # 0x11540
jmp 0x7676
leaq 0x9e80(%rip), %rsi      # 0x1149c
jmp 0x7676
leaq 0x9e58(%rip), %rsi      # 0x1147d
jmp 0x7676
leaq 0x9f90(%rip), %rsi      # 0x115be
jmp 0x7676
leaq 0x9fac(%rip), %rsi      # 0x115e3
jmp 0x7676
leaq 0x9f32(%rip), %rsi      # 0x11572
jmp 0x7676
leaq 0x9eff(%rip), %rsi      # 0x11548
jmp 0x7676
leaq 0x9f2d(%rip), %rsi      # 0x1157f
jmp 0x7676
leaq 0x9f4c(%rip), %rsi      # 0x115a7
jmp 0x7676
leaq 0x9f4c(%rip), %rsi      # 0x115b0
jmp 0x7676
leaq 0x9f1d(%rip), %rsi      # 0x1158a
jmp 0x7676
leaq 0x9f8f(%rip), %rsi      # 0x11605
leaq 0xf(%rsp), %rdx
movq %rbx, %rdi
callq 0x6728
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
retq