// File: /workspace/github_c_makefile_star2_O3/afi-lambda[P]a_little_smalltalk/src/parser.c
// Function: body
static void body()
{
    /* empty blocks are same as nil */
    if ((blockstat == InBlock) || (blockstat == OptimizedBlock))
        if ((token == closing) && streq(tokenString, "]"))
        {
            genInstruction(PushConstant, nilConst);
            return;
        }

    while (parseok)
    {
        statement();
        if (token == closing)
            if (streq(tokenString,"."))
            {
                nextToken();
                if (token == inputend)
                    break;
                else
                    /* pop result, go to next statement */
                    genInstruction(DoSpecial, PopTop);
            }
            else
                break; /* leaving result on stack */
        else if (token == inputend)
            break; /* leaving result on stack */
        else
        {
            compilError(selector, "invalid statement ending; token is ",
                             tokenString);
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl 0x21d98(%rip), %eax     # 0x28d44
decl %eax
leaq 0x2155b(%rip), %r13     # 0x28510
cmpl $0x1, %eax
ja 0x6fd7
cmpl $0xa, (%r13)
jne 0x6fd7
leaq 0x214f8(%rip), %rax     # 0x284c0
cmpb $0x5d, (%rax)
jne 0x6fd7
cmpb $0x0, 0x1(%rax)
je 0x716c
cmpl $0x0, 0x21d62(%rip)     # 0x28d40
je 0x71b7
leaq 0x214d5(%rip), %rbx     # 0x284c0
leaq 0x21e6e(%rip), %r14     # 0x28e60
leaq 0x26d4(%rip), %r12      # 0x96cd
leaq 0x21d60(%rip), %r15     # 0x28d60
leaq 0x29e6(%rip), %rbp      # 0x99ed
cmpl $0x9, (%r13)
jne 0x701d
cmpb $0x5e, (%rbx)
jne 0x701d
cmpb $0x0, 0x1(%rbx)
je 0x70a5
callq 0x7359
movl (%r13), %eax
cmpl $0xa, %eax
je 0x703f
cmpl $0xb, %eax
je 0x71b7
movq %r14, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
jmp 0x707e
cmpb $0x2e, (%rbx)
jne 0x71b7
cmpb $0x0, 0x1(%rbx)
jne 0x71b7
callq 0x60e6
cmpl $0xb, (%r13)
je 0x71b7
movslq 0x21cdf(%rip), %rax     # 0x28d48
cmpq $0x100, %rax            # imm = 0x100
jl 0x7085
movq %r14, %rdi
leaq 0x2a53(%rip), %rsi      # 0x9ace
movq %r12, %rdx
callq 0x26d5
jmp 0x7093
leal 0x1(%rax), %ecx
movl %ecx, 0x21cba(%rip)     # 0x28d48
movb $-0xb, (%rax,%r15)
cmpl $0x0, 0x21ca6(%rip)     # 0x28d40
jne 0x7007
jmp 0x71b7
callq 0x60e6
callq 0x7359
cmpl $0x1, 0x21c8e(%rip)     # 0x28d44
jne 0x7123
movslq 0x21c89(%rip), %rax     # 0x28d48
cmpq $0x100, %rax            # imm = 0x100
jl 0x70db
movq %r14, %rdi
leaq 0x29fd(%rip), %rsi      # 0x9ace
movq %r12, %rdx
callq 0x26d5
jmp 0x70e9
leal 0x1(%rax), %ecx
movl %ecx, 0x21c64(%rip)     # 0x28d48
movb $0x54, (%rax,%r15)
leaq 0x2921(%rip), %rdi      # 0x9a11
callq 0x379b
movswl %ax, %edx
xorl %edi, %edi
xorl %esi, %esi
callq 0x71c6
movslq 0x21c40(%rip), %rcx     # 0x28d48
cmpq $0x100, %rcx            # imm = 0x100
jl 0x712b
movq %r14, %rdi
leaq 0x29b3(%rip), %rsi      # 0x9ace
movq %r12, %rdx
callq 0x26d5
movl 0x21c1f(%rip), %eax     # 0x28d48
jmp 0x7139
leal 0x1(%rcx), %eax
movl %eax, 0x21c14(%rip)     # 0x28d48
movb $-0xb, (%rcx,%r15)
cmpl $0x100, %eax            # imm = 0x100
jl 0x7157
movq %r14, %rdi
leaq 0x2984(%rip), %rsi      # 0x9ace
movq %r12, %rdx
callq 0x26d5
jmp 0x7022
leal 0x1(%rax), %ecx
movl %ecx, 0x21be8(%rip)     # 0x28d48
cltq
movb $-0xe, (%rax,%r15)
jmp 0x7022
movslq 0x21bd5(%rip), %rax     # 0x28d48
cmpq $0x100, %rax            # imm = 0x100
jl 0x71a3
leaq 0x21cde(%rip), %rdi     # 0x28e60
leaq 0x2945(%rip), %rsi      # 0x9ace
leaq 0x253d(%rip), %rdx      # 0x96cd
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x26d5
leal 0x1(%rax), %ecx
movl %ecx, 0x21b9c(%rip)     # 0x28d48
leaq 0x21bad(%rip), %rcx     # 0x28d60
movb $0x55, (%rax,%rcx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq