// File: /workspace/github_c_makefile_star2_O0/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:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x26, %rax
ja 0x29c0
movq -0x18(%rbp), %rax
leaq 0x1c91(%rip), %rcx      # 0x436c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1e41(%rip), %rdi      # 0x452c
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e3a(%rip), %rdi      # 0x4538
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e35(%rip), %rdi      # 0x4546
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e30(%rip), %rdi      # 0x4554
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e2a(%rip), %rdi      # 0x4561
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e23(%rip), %rdi      # 0x456d
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e1f(%rip), %rdi      # 0x457c
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e1d(%rip), %rdi      # 0x458d
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e18(%rip), %rdi      # 0x459b
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e15(%rip), %rdi      # 0x45ab
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e11(%rip), %rdi      # 0x45ba
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e0f(%rip), %rdi      # 0x45cb
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e0d(%rip), %rdi      # 0x45dc
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e08(%rip), %rdi      # 0x45ea
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1e02(%rip), %rdi      # 0x45f7
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1dfe(%rip), %rdi      # 0x4606
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1dee(%rip), %rdi      # 0x4609
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1ddd(%rip), %rdi      # 0x460b
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1dd1(%rip), %rdi      # 0x4612
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1dba(%rip), %rdi      # 0x460e
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1daa(%rip), %rdi      # 0x4611
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d9a(%rip), %rdi      # 0x4614
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d8a(%rip), %rdi      # 0x4617
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d7a(%rip), %rdi      # 0x461a
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d6a(%rip), %rdi      # 0x461d
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d59(%rip), %rdi      # 0x461f
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d48(%rip), %rdi      # 0x4621
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d37(%rip), %rdi      # 0x4623
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d26(%rip), %rdi      # 0x4625
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d15(%rip), %rdi      # 0x4627
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1d04(%rip), %rdi      # 0x4629
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1cf3(%rip), %rdi      # 0x462b
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1ce3(%rip), %rdi      # 0x462e
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1cd7(%rip), %rdi      # 0x4632
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1cc9(%rip), %rdi      # 0x4634
movb $0x0, %al
callq 0x1080
jmp 0x29d1
leaq 0x1cbb(%rip), %rdi      # 0x4636
movb $0x0, %al
callq 0x1080
jmp 0x29d1
movq -0x10(%rbp), %rsi
leaq 0x1ca9(%rip), %rdi      # 0x4638
movb $0x0, %al
callq 0x1080
jmp 0x29d1
movq -0x10(%rbp), %rsi
leaq 0x1ca2(%rip), %rdi      # 0x4645
movb $0x0, %al
callq 0x1080
jmp 0x29d1
movq -0x10(%rbp), %rsi
leaq 0x1c9b(%rip), %rdi      # 0x4652
movb $0x0, %al
callq 0x1080
jmp 0x29d1
movl -0x4(%rbp), %esi
leaq 0x1c92(%rip), %rdi      # 0x465c
movb $0x0, %al
callq 0x1080
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)