// File: /workspace/github_c_makefile_star2_O2/g3ida[P]g3idaCompiler/lexical.c
// Function: printSymbole
void printSymbole( Symbole token, const char* lexeme )
{
    switch (token)
  { case IF: printf("keyword: if");break;
    case THEN: printf("keyword: then");break;
    case ELSE: printf("keyword: else");break;
    case END: printf("keyword: end");break;
    case DO: printf("keyword: do");break;
    case WHILE: printf("keyword: while");break;
    case PROGRAM: printf("keyword: program");break;
    case READ: printf("keyword: read");break;
    case READLN: printf("keyword: readln");break;
    case WRITE: printf("keyword: write");break;
    case WRITELN: printf("keyword: writeln");break;
    case INTEGER: printf("keyword: integer");break;
    case CHAR: printf("keyword: char");break;
    case VAR: printf("keyword: var");break;
    case BEGIN: printf("keyword: begin");break;
    case ASSIGN: printf(":="); break;
    case LT: printf("<"); break;
    case LTE: printf("<="); break;
    case GT: printf(">"); break;
    case GTE: printf(">="); break;
    case NEQ: printf("<>"); break;
    case AND: printf("&&"); break;
    case OR: printf("||"); break;
    case EQ: printf("=="); break;
    case LPAREN: printf("("); break;
    case RPAREN: printf(")"); break;
    case SEMI: printf(";"); break;
    case PLUS: printf("+"); break;
    case MINUS: printf("-"); break;
    case MULT: printf("*"); break;
    case DIV: printf("/"); break;
    case MOD: printf("%%"); break;
    case ENDFILE: printf("EOF"); break;
    case TWOPTS: printf(":"); break;
    case COMMA: printf(","); break;
    case POINT : printf("."); break;
    case NUM: printf("NUM, val= %s",lexeme);break;
    case ID: printf("ID, name= %s",lexeme);break;
    case ERROR: printf("ERROR: %s",lexeme);break;
    default: /* should never happen */
      printf("Unknown token: %d",token);
  }
}

// Assembly:
movl %edi, %eax
cmpl $0x26, %edi
ja 0x21c8
movl %eax, %eax
leaq 0x12f8(%rip), %rcx      # 0x337c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x152c(%rip), %rdi      # 0x35c0
jmp 0x2164
pushq $0x2c
jmp 0x2202
leaq 0x14f3(%rip), %rdi      # 0x359a
jmp 0x21f1
pushq $0x3a
jmp 0x2202
leaq 0x14ef(%rip), %rdi      # 0x35a9
jmp 0x21f1
leaq 0x1507(%rip), %rdi      # 0x35cd
jmp 0x2164
leaq 0x1408(%rip), %rdi      # 0x34da
jmp 0x21f1
leaq 0x13e2(%rip), %rdi      # 0x34c0
jmp 0x21f1
pushq $0x3b
jmp 0x2202
leaq 0x144e(%rip), %rdi      # 0x353f
jmp 0x21f1
leaq 0x148e(%rip), %rdi      # 0x358b
jmp 0x21f1
leaq 0x1426(%rip), %rdi      # 0x352f
jmp 0x21f1
leaq 0x13e0(%rip), %rdi      # 0x34f5
jmp 0x21f1
pushq $0x2b
jmp 0x2202
leaq 0x1478(%rip), %rdi      # 0x35a0
jmp 0x21f1
leaq 0x13dc(%rip), %rdi      # 0x3510
jmp 0x21f1
leaq 0x138c(%rip), %rdi      # 0x34cc
jmp 0x21f1
leaq 0x1432(%rip), %rdi      # 0x357e
jmp 0x21f1
leaq 0x1418(%rip), %rdi      # 0x3570
jmp 0x21f1
leaq 0x144f(%rip), %rdi      # 0x35b3
xorl %eax, %eax
jmp 0x10a0
pushq $0x25
jmp 0x2202
pushq $0x28
jmp 0x2202
leaq 0x1423(%rip), %rdi      # 0x35a3
jmp 0x21f1
leaq 0x135f(%rip), %rdi      # 0x34e8
jmp 0x21f1
pushq $0x3c
jmp 0x2202
leaq 0x13b8(%rip), %rdi      # 0x354e
jmp 0x21f1
leaq 0x13c0(%rip), %rdi      # 0x355f
jmp 0x21f1
pushq $0x29
jmp 0x2202
leaq 0x1375(%rip), %rdi      # 0x3521
jmp 0x21f1
leaq 0x134c(%rip), %rdi      # 0x3501
jmp 0x21f1
pushq $0x2f
jmp 0x2202
leaq 0x13ed(%rip), %rdi      # 0x35af
jmp 0x21f1
pushq $0x3e
jmp 0x2202
leaq 0x1408(%rip), %rdi      # 0x35d7
movl %eax, %esi
xorl %eax, %eax
jmp 0x10a0
leaq 0x13cd(%rip), %rdi      # 0x35ac
jmp 0x21f1
leaq 0x13b5(%rip), %rdi      # 0x359d
jmp 0x21f1
leaq 0x13b5(%rip), %rdi      # 0x35a6
xorl %eax, %eax
jmp 0x10a0
pushq $0x2a
jmp 0x2202
pushq $0x2e
jmp 0x2202
pushq $0x2d
popq %rdi
jmp 0x1040