// File: /workspace/github_cpp_makefile_star2_O2/Eronana[P]strawberry/src/parser.cpp
// Function: Parser::FormalParameterList()
AST_PTR Parser::FormalParameterList()
{
    DEF_AST_RET(FormalParameterList);
    if(accept(TOKEN_IDENTIFIER))do
    {
        if(!accept(TOKEN_IDENTIFIER))PARSER_ERROR("excepted a identifier");
        ret->nodes.push_back(Literal());
    }while(acceptEat(TOKEN_COMMA));
    ret->nodes.push_back(VirtualLiteral("this"));
    ret->nodes.push_back(VirtualLiteral("callee"));
    RETURN_PTR;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r12
movq %rdi, %r14
pushq $0x20
popq %rdi
callq 0x6230
movq %rax, %r15
movq %rax, %rbx
leaq 0x18c51(%rip), %rax     # 0x2e2f8
addq $0x10, %rax
movq %rax, (%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r15)
andq $0x0, 0x18(%r15)
pushq $0x2e
popq %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10aae
addq $0x8, %r15
testb %al, %al
je 0x15729
pushq $0x2e
popq %rbp
leaq 0x18(%rsp), %r13
movq %r12, %rdi
movl %ebp, %esi
xorl %edx, %edx
callq 0x10aae
testb %al, %al
je 0x157e2
movq %r13, %rdi
movq %r12, %rsi
callq 0x11760
movq %r15, %rdi
movq %r13, %rsi
callq 0x15f76
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x15712
movq (%rdi), %rax
callq *0x28(%rax)
movl $0x2a, 0x18(%rsp)
movq %r12, %rdi
movq %r13, %rsi
callq 0x15a2a
testb %al, %al
jne 0x156d8
leaq 0x8482(%rip), %rsi      # 0x1dbb2
leaq 0x18(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x9c4a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x155f3
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0x15f76
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1576b
movq (%rdi), %rax
callq *0x28(%rax)
andq $0x0, 0x10(%rsp)
leaq 0x18(%rsp), %rdi
callq 0x6130
leaq 0x8435(%rip), %rsi      # 0x1dbb7
leaq 0x18(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x9c4a
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x155f3
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0x15f76
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x157bd
movq (%rdi), %rax
callq *0x28(%rax)
andq $0x0, 0x10(%rsp)
leaq 0x18(%rsp), %rdi
callq 0x6130
movq %rbx, (%r14)
movq %r14, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x70
popq %rdi
callq 0x6150
movq %rax, %r15
movq %r12, %rdi
xorl %esi, %esi
callq 0x109e0
movq %rax, %r14
leaq 0x839b(%rip), %rsi      # 0x1db9c
leaq 0x18(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x9c4a
movb $0x1, %bpl
leaq 0x18(%rsp), %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0x79f8
xorl %ebp, %ebp
leaq 0x18414(%rip), %rsi     # 0x2dc40
leaq -0x6b2b(%rip), %rdx     # 0xed08
movq %r15, %rdi
callq 0x6450
jmp 0x15841
jmp 0x1585c
jmp 0x158ab
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x15854
movq (%rdi), %rax
callq *0x28(%rax)
andq $0x0, 0x10(%rsp)
jmp 0x1585f
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x6130
jmp 0x158ae
jmp 0x158ab
jmp 0x158ab
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x6130
testb %bpl, %bpl
jne 0x15888
jmp 0x158ae
jmp 0x15885
movq %rax, %r14
movq %r15, %rdi
callq 0x61d0
jmp 0x158ae
jmp 0x158ab
jmp 0x158ab
movq %rax, %r14
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x158ae
movq (%rdi), %rax
callq *0x28(%rax)
jmp 0x158ae
movq %rax, %r14
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x28(%rax)
movq %r14, %rdi
callq 0x6460
nop