// File: Eronana[P]strawberry/src/parser.cpp
// Function: Parser::ArgumentList()
AST_PTR Parser::ArgumentList()
{
    if(!acceptEat(TOKEN_LEFT_PAREN))return nullptr;
    DEF_AST_RET(ArgumentList);
    while(!accept(TOKEN_RIGHT_PAREN))
    {
        ret->nodes.push_back(AssignmentExpression());
        if(!acceptEat(",")&&!accept(TOKEN_RIGHT_PAREN))PARSER_ERROR("excepted ')'");
    }
    eatToken();
    RETURN_PTR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x78(%rbp)
movq %rdi, %rax
movq %rax, -0x70(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x68(%rbp)
movl $0xe, -0x14(%rbp)
leaq -0x14(%rbp), %rsi
callq 0x31240
xorb $-0x1, %al
testb $0x1, %al
jne 0x2b7ae
jmp 0x2b7c0
movq -0x78(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x317d0
jmp 0x2b9d6
movl $0x20, %edi
callq 0x72c0
movq %rax, %rdi
movq %rdi, -0x80(%rbp)
callq 0x31d20
movq -0x80(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x31d60
movq -0x68(%rbp), %rdi
movl $0xf, %esi
xorl %edx, %edx
callq 0x27960
movb %al, -0x81(%rbp)
jmp 0x2b7fb
movb -0x81(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2b80c
jmp 0x2b9a5
leaq -0x20(%rbp), %rdi
callq 0x31d90
movq -0x68(%rbp), %rsi
addq $0x8, %rax
movq %rax, -0x90(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x29430
jmp 0x2b82f
movq -0x90(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x31320
jmp 0x2b841
leaq -0x38(%rbp), %rdi
callq 0x8f10
movq -0x68(%rbp), %rdi
leaq 0x2cb7a(%rip), %rsi     # 0x583cf
callq 0x31db0
movb %al, -0x91(%rbp)
jmp 0x2b862
movb -0x91(%rbp), %al
testb $0x1, %al
jne 0x2b9a0
jmp 0x2b872
movq -0x68(%rbp), %rdi
movl $0xf, %esi
xorl %edx, %edx
callq 0x27960
movb %al, -0x92(%rbp)
jmp 0x2b88a
movb -0x92(%rbp), %al
testb $0x1, %al
jne 0x2b9a0
jmp 0x2b89a
movb $0x1, -0x5a(%rbp)
movl $0x70, %edi
callq 0x7180
movq -0x68(%rbp), %rdi
movq %rax, -0xa8(%rbp)
xorl %esi, %esi
callq 0x277f0
movq %rax, -0xa0(%rbp)
jmp 0x2b8c3
leaq -0x59(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x75f0
movq -0xb0(%rbp), %rdx
leaq 0x2d0e7(%rip), %rsi     # 0x589c8
leaq -0x58(%rbp), %rdi
callq 0xf990
jmp 0x2b8ec
movq -0xa0(%rbp), %rsi
movq -0xa8(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0xac90
jmp 0x2b905
movq -0xa8(%rbp), %rdi
movb $0x0, -0x5a(%rbp)
leaq 0x5d2e9(%rip), %rsi     # 0x88c00
leaq -0xb63e(%rip), %rdx     # 0x202e0
callq 0x75c0
jmp 0x2b9ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2b9cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x8f10
jmp 0x2b9cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2b98a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2b981
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x71d0
leaq -0x59(%rbp), %rdi
callq 0x7310
testb $0x1, -0x5a(%rbp)
jne 0x2b992
jmp 0x2b99e
movq -0xa8(%rbp), %rdi
callq 0x7230
jmp 0x2b9cb
jmp 0x2b7e3
movq -0x68(%rbp), %rdi
movl $0x1, %esi
callq 0x279a0
movq -0x78(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x31e80
leaq -0x20(%rbp), %rdi
callq 0x31ed0
jmp 0x2b9d6
leaq -0x20(%rbp), %rdi
callq 0x31ed0
jmp 0x2b9e3
movq -0x70(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x75e0
nopl (%rax)