// File: /workspace/github_c_makefile_star2_O1/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 0x22d5
movl %eax, %eax
leaq 0x1218(%rip), %rcx      # 0x337c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x144c(%rip), %rdi      # 0x35c0
jmp 0x2250
movl $0x2c, %edi
jmp 0x1040
leaq 0x1410(%rip), %rdi      # 0x359a
jmp 0x22fe
movl $0x3a, %edi
jmp 0x1040
leaq 0x1409(%rip), %rdi      # 0x35a9
jmp 0x22fe
leaq 0x1421(%rip), %rdi      # 0x35cd
jmp 0x2250
leaq 0x1322(%rip), %rdi      # 0x34da
jmp 0x22fe
leaq 0x12fc(%rip), %rdi      # 0x34c0
jmp 0x22fe
movl $0x3b, %edi
jmp 0x1040
leaq 0x1365(%rip), %rdi      # 0x353f
jmp 0x22fe
leaq 0x13a5(%rip), %rdi      # 0x358b
jmp 0x22fe
leaq 0x133d(%rip), %rdi      # 0x352f
jmp 0x22fe
leaq 0x12f7(%rip), %rdi      # 0x34f5
jmp 0x22fe
movl $0x2b, %edi
jmp 0x1040
leaq 0x138c(%rip), %rdi      # 0x35a0
jmp 0x22fe
leaq 0x12f0(%rip), %rdi      # 0x3510
jmp 0x22fe
leaq 0x12a0(%rip), %rdi      # 0x34cc
jmp 0x22fe
leaq 0x1346(%rip), %rdi      # 0x357e
jmp 0x22fe
leaq 0x132c(%rip), %rdi      # 0x3570
jmp 0x22fe
leaq 0x1363(%rip), %rdi      # 0x35b3
xorl %eax, %eax
jmp 0x10a0
movl $0x25, %edi
jmp 0x1040
movl $0x28, %edi
jmp 0x1040
leaq 0x1331(%rip), %rdi      # 0x35a3
jmp 0x22fe
leaq 0x126a(%rip), %rdi      # 0x34e8
jmp 0x22fe
movl $0x3c, %edi
jmp 0x1040
leaq 0x12bd(%rip), %rdi      # 0x354e
jmp 0x22fe
leaq 0x12c5(%rip), %rdi      # 0x355f
jmp 0x22fe
movl $0x29, %edi
jmp 0x1040
leaq 0x1274(%rip), %rdi      # 0x3521
jmp 0x22fe
leaq 0x124b(%rip), %rdi      # 0x3501
jmp 0x22fe
movl $0x2f, %edi
jmp 0x1040
leaq 0x12e6(%rip), %rdi      # 0x35af
jmp 0x22fe
movl $0x3e, %edi
jmp 0x1040
leaq 0x12fb(%rip), %rdi      # 0x35d7
movl %eax, %esi
xorl %eax, %eax
jmp 0x10a0
leaq 0x12c0(%rip), %rdi      # 0x35ac
jmp 0x22fe
leaq 0x12a8(%rip), %rdi      # 0x359d
jmp 0x22fe
leaq 0x12a8(%rip), %rdi      # 0x35a6
xorl %eax, %eax
jmp 0x10a0
movl $0x2a, %edi
jmp 0x1040
movl $0x2e, %edi
jmp 0x1040
movl $0x2d, %edi
jmp 0x1040