// File: /workspace/github_c_makefile_star2_O0/MartinNovotny25[P]VUT-FIT-IFJ2020/parser.c
// Function: rule_exp_n
void rule_exp_n() {

    if (token.type == t_EOL)
    {
        return;

    } else if (token.type == t_BRACES_L) {
        return;
    } else if (token.type != t_COMMA) {error_call(ERR_SYN, &tokens);}
    else {
        token = get_next_token(stdin);
        TDLLInsertLast(&tokens, token);

        TDLLInitList(&psa_list);

        if (token.type == t_EOL) {error_call(ERR_SYN, &tokens);}
        else {

            while (token.type != t_COMMA && token.type != t_EOL && token.type != t_BRACES_L) {
                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();
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
cmpl $0x2f, 0xc231(%rip)     # 0x103d0
jne 0x41a6
jmp 0x43bb
cmpl $0x34, 0xc223(%rip)     # 0x103d0
jne 0x41b4
jmp 0x43bb
cmpl $0x5, 0xc215(%rip)      # 0x103d0
je 0x41d3
movl $0x2, %edi
leaq 0xc1e7(%rip), %rsi      # 0x103b0
callq 0x64e0
jmp 0x43b7
movq 0xbdfe(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x10(%rbp)
movl %edx, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, 0xc1d4(%rip)      # 0x103c8
movq -0x8(%rbp), %rax
movq %rax, 0xc1d1(%rip)      # 0x103d0
movq 0xc1c2(%rip), %rsi      # 0x103c8
movl 0xc1c4(%rip), %edx      # 0x103d0
leaq 0xc19d(%rip), %rdi      # 0x103b0
callq 0x1450
leaq 0xc1b9(%rip), %rdi      # 0x103d8
callq 0x1310
cmpl $0x2f, 0xc1a5(%rip)     # 0x103d0
jne 0x4243
movl $0x2, %edi
leaq 0xc177(%rip), %rsi      # 0x103b0
callq 0x64e0
jmp 0x43b5
jmp 0x4245
xorl %eax, %eax
cmpl $0x5, 0xc182(%rip)      # 0x103d0
movb %al, -0x21(%rbp)
je 0x426e
xorl %eax, %eax
cmpl $0x2f, 0xc174(%rip)     # 0x103d0
movb %al, -0x21(%rbp)
je 0x426e
cmpl $0x34, 0xc168(%rip)     # 0x103d0
setne %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x427a
jmp 0x4391
cmpl $0xa, 0xc14f(%rip)      # 0x103d0
je 0x431b
cmpl $0xb, 0xc142(%rip)      # 0x103d0
je 0x431b
cmpl $0x8, 0xc135(%rip)      # 0x103d0
je 0x431b
cmpl $0x9, 0xc12c(%rip)      # 0x103d0
je 0x431b
cmpl $0x7, 0xc123(%rip)      # 0x103d0
je 0x431b
cmpl $0x6, 0xc11a(%rip)      # 0x103d0
je 0x431b
cmpl $0x1, 0xc111(%rip)      # 0x103d0
je 0x431b
cmpl $0x1e, 0xc108(%rip)     # 0x103d0
je 0x431b
cmpl $0x2, 0xc0ff(%rip)      # 0x103d0
je 0x431b
cmpl $0x1f, 0xc0f6(%rip)     # 0x103d0
je 0x431b
cmpl $0x20, 0xc0ed(%rip)     # 0x103d0
je 0x431b
cmpl $0x21, 0xc0e4(%rip)     # 0x103d0
je 0x431b
cmpl $0x13, 0xc0db(%rip)     # 0x103d0
je 0x431b
cmpl $0x29, 0xc0d2(%rip)     # 0x103d0
je 0x431b
cmpl $0x11, 0xc0c9(%rip)     # 0x103d0
je 0x431b
cmpl $0x10, 0xc0c0(%rip)     # 0x103d0
je 0x431b
cmpl $0x2b, 0xc0b7(%rip)     # 0x103d0
jne 0x437b
movq 0xc0a6(%rip), %rsi      # 0x103c8
movl 0xc0a8(%rip), %edx      # 0x103d0
leaq 0xc0a9(%rip), %rdi      # 0x103d8
callq 0x1450
movq 0xbc9d(%rip), %rax      # 0xffd8
movq (%rax), %rdi
callq 0x4840
movq %rax, -0x20(%rbp)
movl %edx, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq %rax, 0xc073(%rip)      # 0x103c8
movq -0x18(%rbp), %rax
movq %rax, 0xc070(%rip)      # 0x103d0
movq 0xc061(%rip), %rsi      # 0x103c8
movl 0xc063(%rip), %edx      # 0x103d0
leaq 0xc03c(%rip), %rdi      # 0x103b0
callq 0x1450
jmp 0x438c
movl $0x2, %edi
leaq 0xc029(%rip), %rsi      # 0x103b0
callq 0x64e0
jmp 0x4245
leaq 0xc040(%rip), %rdi      # 0x103d8
leaq 0xc011(%rip), %rsi      # 0x103b0
callq 0xc860
leaq 0xc02d(%rip), %rdi      # 0x103d8
callq 0x1340
callq 0x4190
jmp 0x43b7
jmp 0x43b9
jmp 0x43bb
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)