// File: /workspace/github_cpp_makefile_star2_O3/ps-george[P]ansi_c_compiler/src/lexer/lexer_main.cpp
// Function: classname[abi:cxx11](yytokentype)
std::string classname(yytokentype t){
  switch((int)t){
  /* KEYWORDS */
    case AUTO:
    case BREAK:
    case DOUBLE:
    case ELSE:
    case ENUM:
    case EXTERN:
    case FLOAT:
    case FOR:
    case GOTO:
    case IF:
    case CASE:
    case CHAR:
    case CONST:
    case CONTINUE:
    case DEFAULT:
    case DO:
    case INT:
    case LONG:
    case STRUCT:
    case SWITCH:
    case REGISTER:
    case TYPEDEF:
    case UNION:
    case UNSIGNED:
    case VOID:
    case VOLATILE:
    case WHILE:
    case RETURN:
    case SHORT:
    case SIGNED:
    case SIZEOF:
    case STATIC: return "Keyword";
    /* Identifiers */
    case ID: return "Identifier";
     /* Operators */
    case '=':
    case '?':
    case '!':
    case '~':
    case '|':
    case '&':
    case '^':
    case '+':
    case '-':
    case '*':
    case '/':
    case '%':
    case LE:
    case GE:
    case EQ:
    case NE:
    case GT:
    case LT:
    case LOR:
    case LAND:
    case ';':
    case ':':
    case ',':
    case '.':
    case ARROW:
    case LL:
    case RR:
    case ELLIP:
    case INCR:
    case DECR:
    case RRASS:
    case LLASS:
    case ADDASS:
    case SUBASS:
    case MULASS:
    case DIVASS:
    case MODASS:
    case ANDASS:
    case XORASS:
    case ORASS:
    case '[':
    case ']':
    case '(':
    case ')':
    case '{':
    case '}': return "Operator";
    /* Constants */
    case I_CONSTANT:
    case C_CONSTANT: 
    case F_CONSTANT: 
      return "Constant";
    /* StringLiterals */
    case STRING: return "StringLiteral";
    //  Unncessary
    // case NEWLINE: return "Newline";
    case Invalid: return "Invalid";
    default: fprintf(stderr, "Invalid: %s, StreamLine: %s, ColNum: %s\n", yylval.raw->c_str(), quote(yylineno).c_str(), quote(yylcolno).c_str() ); return "Invalid";
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leal -0x102(%rsi), %eax
cmpl $0x3d, %eax
ja 0x2830
leaq 0x4808(%rip), %rcx      # 0x7018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x48eb(%rip), %rsi      # 0x7112
leaq 0x48eb(%rip), %rdx      # 0x7119
jmp 0x285d
leal -0x21(%rsi), %eax
cmpl $0x3d, %eax
ja 0x2876
movabsq $0x3400000056007fb1, %rcx # imm = 0x3400000056007FB1
btq %rax, %rcx
jae 0x2876
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x48cf(%rip), %rsi      # 0x7125
leaq 0x48d0(%rip), %rdx      # 0x712d
movq %rbx, %rdi
callq 0x317a
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
addl $-0x7b, %esi
cmpl $0x4, %esi
jb 0x2848
movq 0x8753(%rip), %rax      # 0xafd8
movq (%rax), %r14
movq 0x88d9(%rip), %rax      # 0xb168
movq (%rax), %r15
leaq 0x88b7(%rip), %rax      # 0xb150
movl (%rax), %esi
movq %rsp, %r12
movq %r12, %rdi
callq 0x244c
movq (%r12), %r12
movl 0x8890(%rip), %esi      # 0xb140
leaq 0x20(%rsp), %rdi
callq 0x244c
leaq 0x30(%rsp), %r13
movq -0x10(%r13), %r8
leaq 0x4883(%rip), %rsi      # 0x714d
movq %r14, %rdi
movq %r15, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2180
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x28f0
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x20f0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x290b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x20f0
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x482c(%rip), %rsi      # 0x7145
leaq 0x482c(%rip), %rdx      # 0x714c
jmp 0x285d
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x47fb(%rip), %rsi      # 0x712e
leaq 0x47fc(%rip), %rdx      # 0x7136
jmp 0x285d
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x47cd(%rip), %rsi      # 0x711a
leaq 0x47d0(%rip), %rdx      # 0x7124
jmp 0x285d
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x47d0(%rip), %rsi      # 0x7137
leaq 0x47d6(%rip), %rdx      # 0x7144
jmp 0x285d
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2991
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x20f0
movq %rbx, %rdi
callq 0x2200