// File: /workspace/github_c_makefile_star2_O0/MartinNovotny25[P]VUT-FIT-IFJ2020/parser.c
// Function: rule_for_assign
void rule_for_assign() {
    switch (token.type) {
        case t_IDENTIFIER:
            token = get_next_token(stdin);
            TDLLInsertLast(&tokens, token);

            rule_id_n();

            //môže príst iba token assign =
            if (token.type != t_ASSIGN) { error_call(ERR_SYN, &tokens); }
            else { token = get_next_token(stdin); TDLLInsertLast(&tokens, token); }

            TDLLInitList(&psa_list);

            if (token.type == t_BRACES_L) {error_call(ERR_SYN, &tokens);}

            while (token.type != t_BRACES_L && token.type != t_COMMA)
            {
                if ((token.type == t_PLUS)
                    || (token.type == t_MINUS)
                    || (token.type == t_DIVIDE)
                    || (token.type == t_MULTIPLY)
                    || (token.type == t_RIGHT_BRACKET)
                    || (token.type == t_LEFT_BRACKET)
                    || (token.type == t_LESS)
                    || (token.type == t_LESSOREQUAL)
                    || (token.type == t_GREATER)
                    || (token.type == t_GREATEROREQUAL)
                    || (token.type == t_EQUAL)
                    || (token.type == t_NOT_EQUAL)
                    || (token.type == t_IDENTIFIER)
                    || (token.type == t_FLOAT)
                    || (token.type == t_INT_NON_ZERO)
                    || (token.type == t_INT_ZERO)
                    || (token.type == t_STRING)) {

                    TDLLInsertLast(&psa_list, token);
                    token = get_next_token(stdin); TDLLInsertLast(&tokens, token);

                } else {error_call(ERR_SYN, &tokens);}


            }
            evaluation(&psa_list, &tokens);
            TDLLDisposeList(&psa_list);

            rule_exp_n();
            break;

         // otváracia množinová zátvorka -- začiatok bloku tela for
        case t_BRACES_L:
            break;
        // hocico ine - break
        default:
            error_call(ERR_SYN, &tokens);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl 0xc8b2(%rip), %eax      # 0x103d0
movl %eax, -0x34(%rbp)
subl $0x13, %eax
je 0x3b39
jmp 0x3b28
movl -0x34(%rbp), %eax
subl $0x34, %eax
je 0x3d70
jmp 0x3d72
movq 0xc498(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x10(%rbp)
movl %edx, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, 0xc86e(%rip)      # 0x103c8
movq -0x8(%rbp), %rax
movq %rax, 0xc86b(%rip)      # 0x103d0
movq 0xc85c(%rip), %rsi      # 0x103c8
movl 0xc85e(%rip), %edx      # 0x103d0
leaq 0xc837(%rip), %rdi      # 0x103b0
callq 0x1450
callq 0x3740
cmpl $0x3, 0xc846(%rip)      # 0x103d0
je 0x3b9f
movl $0x2, %edi
leaq 0xc818(%rip), %rsi      # 0x103b0
callq 0x64e0
jmp 0x3be4
movq 0xc432(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x20(%rbp)
movl %edx, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq %rax, 0xc808(%rip)      # 0x103c8
movq -0x18(%rbp), %rax
movq %rax, 0xc805(%rip)      # 0x103d0
movq 0xc7f6(%rip), %rsi      # 0x103c8
movl 0xc7f8(%rip), %edx      # 0x103d0
leaq 0xc7d1(%rip), %rdi      # 0x103b0
callq 0x1450
leaq 0xc7ed(%rip), %rdi      # 0x103d8
callq 0x1310
cmpl $0x34, 0xc7d9(%rip)     # 0x103d0
jne 0x3c0a
movl $0x2, %edi
leaq 0xc7ab(%rip), %rsi      # 0x103b0
callq 0x64e0
jmp 0x3c0c
xorl %eax, %eax
cmpl $0x34, 0xc7bb(%rip)     # 0x103d0
movb %al, -0x35(%rbp)
je 0x3c27
cmpl $0x5, 0xc7af(%rip)      # 0x103d0
setne %al
movb %al, -0x35(%rbp)
movb -0x35(%rbp), %al
testb $0x1, %al
jne 0x3c33
jmp 0x3d4a
cmpl $0xa, 0xc796(%rip)      # 0x103d0
je 0x3cd4
cmpl $0xb, 0xc789(%rip)      # 0x103d0
je 0x3cd4
cmpl $0x8, 0xc77c(%rip)      # 0x103d0
je 0x3cd4
cmpl $0x9, 0xc773(%rip)      # 0x103d0
je 0x3cd4
cmpl $0x7, 0xc76a(%rip)      # 0x103d0
je 0x3cd4
cmpl $0x6, 0xc761(%rip)      # 0x103d0
je 0x3cd4
cmpl $0x1, 0xc758(%rip)      # 0x103d0
je 0x3cd4
cmpl $0x1e, 0xc74f(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x2, 0xc746(%rip)      # 0x103d0
je 0x3cd4
cmpl $0x1f, 0xc73d(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x20, 0xc734(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x21, 0xc72b(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x13, 0xc722(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x29, 0xc719(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x11, 0xc710(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x10, 0xc707(%rip)     # 0x103d0
je 0x3cd4
cmpl $0x2b, 0xc6fe(%rip)     # 0x103d0
jne 0x3d34
movq 0xc6ed(%rip), %rsi      # 0x103c8
movl 0xc6ef(%rip), %edx      # 0x103d0
leaq 0xc6f0(%rip), %rdi      # 0x103d8
callq 0x1450
movq 0xc2e4(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x30(%rbp)
movl %edx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, 0xc6ba(%rip)      # 0x103c8
movq -0x28(%rbp), %rax
movq %rax, 0xc6b7(%rip)      # 0x103d0
movq 0xc6a8(%rip), %rsi      # 0x103c8
movl 0xc6aa(%rip), %edx      # 0x103d0
leaq 0xc683(%rip), %rdi      # 0x103b0
callq 0x1450
jmp 0x3d45
movl $0x2, %edi
leaq 0xc670(%rip), %rsi      # 0x103b0
callq 0x64e0
jmp 0x3c0c
leaq 0xc687(%rip), %rdi      # 0x103d8
leaq 0xc658(%rip), %rsi      # 0x103b0
callq 0xc860
leaq 0xc674(%rip), %rdi      # 0x103d8
callq 0x1340
callq 0x4190
jmp 0x3d83
jmp 0x3d83
movl $0x2, %edi
leaq 0xc632(%rip), %rsi      # 0x103b0
callq 0x64e0
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)