// File: /workspace/github_c_makefile_star2_O0/MartinNovotny25[P]VUT-FIT-IFJ2020/parser.c
// Function: rule_type
void rule_type() {
    // Priradenie datoveho typu -
    switch (token.type) {
        case t_FLOAT64:
            token = get_next_token(stdin);
            TDLLInsertLast(&tokens, token);
            break;
        case t_INT_ID:
            token = get_next_token(stdin);
            TDLLInsertLast(&tokens, token);
            break;
        case t_INT_ZERO:
            token = get_next_token(stdin);
            TDLLInsertLast(&tokens, token);
            break;
        case t_STRING_ID:
            token = get_next_token(stdin);
            TDLLInsertLast(&tokens, token);
            break;
        case t_IDENTIFIER:
            if (no_id_in_params_flag == true) { error_call(ERR_SYN, &tokens); }
            token = get_next_token(stdin);
            TDLLInsertLast(&tokens, token);
            break;
        default:
            error_call(ERR_SYN, &tokens);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl 0xc562(%rip), %eax      # 0x103d0
addl $-0x10, %eax
movl %eax, %ecx
movq %rcx, -0x58(%rbp)
subl $0x8, %eax
ja 0x4021
movq -0x58(%rbp), %rax
leaq 0x92cd(%rip), %rcx      # 0xd158
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xc13d(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x10(%rbp)
movl %edx, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, 0xc513(%rip)      # 0x103c8
movq -0x8(%rbp), %rax
movq %rax, 0xc510(%rip)      # 0x103d0
movq 0xc501(%rip), %rsi      # 0x103c8
movl 0xc503(%rip), %edx      # 0x103d0
leaq 0xc4dc(%rip), %rdi      # 0x103b0
callq 0x1450
jmp 0x4032
movq 0xc0f3(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x20(%rbp)
movl %edx, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq %rax, 0xc4c9(%rip)      # 0x103c8
movq -0x18(%rbp), %rax
movq %rax, 0xc4c6(%rip)      # 0x103d0
movq 0xc4b7(%rip), %rsi      # 0x103c8
movl 0xc4b9(%rip), %edx      # 0x103d0
leaq 0xc492(%rip), %rdi      # 0x103b0
callq 0x1450
jmp 0x4032
movq 0xc0a9(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x30(%rbp)
movl %edx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, 0xc47f(%rip)      # 0x103c8
movq -0x28(%rbp), %rax
movq %rax, 0xc47c(%rip)      # 0x103d0
movq 0xc46d(%rip), %rsi      # 0x103c8
movl 0xc46f(%rip), %edx      # 0x103d0
leaq 0xc448(%rip), %rdi      # 0x103b0
callq 0x1450
jmp 0x4032
movq 0xc05f(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x40(%rbp)
movl %edx, -0x38(%rbp)
movq -0x40(%rbp), %rax
movq %rax, 0xc435(%rip)      # 0x103c8
movq -0x38(%rbp), %rax
movq %rax, 0xc432(%rip)      # 0x103d0
movq 0xc423(%rip), %rsi      # 0x103c8
movl 0xc425(%rip), %edx      # 0x103d0
leaq 0xc3fe(%rip), %rdi      # 0x103b0
callq 0x1450
jmp 0x4032
movb 0xc3e9(%rip), %al       # 0x103a8
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x3fda
movl $0x2, %edi
leaq 0xc3db(%rip), %rsi      # 0x103b0
callq 0x64e0
movq 0xbff7(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x50(%rbp)
movl %edx, -0x48(%rbp)
movq -0x50(%rbp), %rax
movq %rax, 0xc3cd(%rip)      # 0x103c8
movq -0x48(%rbp), %rax
movq %rax, 0xc3ca(%rip)      # 0x103d0
movq 0xc3bb(%rip), %rsi      # 0x103c8
movl 0xc3bd(%rip), %edx      # 0x103d0
leaq 0xc396(%rip), %rdi      # 0x103b0
callq 0x1450
jmp 0x4032
movl $0x2, %edi
leaq 0xc383(%rip), %rsi      # 0x103b0
callq 0x64e0
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)