// File: /workspace/github_c_makefile_star2_O1/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 0x21bf6(%rip), %eax     # 0x28d54
decl %eax
leaq 0x213b9(%rip), %r13     # 0x28520
cmpl $0x1, %eax
ja 0x718e
cmpl $0xa, (%r13)
jne 0x718e
leaq 0x21356(%rip), %rdi     # 0x284d0
leaq 0x2a9d(%rip), %rsi      # 0x9c1e
callq 0x2160
testl %eax, %eax
je 0x7352
cmpl $0x0, 0x21bbb(%rip)     # 0x28d50
je 0x739d
leaq 0x2132e(%rip), %rbx     # 0x284d0
leaq 0x285c(%rip), %r14      # 0x9a05
leaq 0x21cc0(%rip), %r15     # 0x28e70
leaq 0x1eef(%rip), %rbp      # 0x90a6
leaq 0x2823(%rip), %r12      # 0x99e1
cmpl $0x9, (%r13)
jne 0x71d8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2160
testl %eax, %eax
je 0x726a
callq 0x7553
movl (%r13), %eax
cmpl $0xa, %eax
je 0x71fa
cmpl $0xb, %eax
je 0x739d
movq %r15, %rdi
movq %r12, %rsi
movq %rbx, %rdx
jmp 0x723d
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x2160
testl %eax, %eax
jne 0x739d
callq 0x6172
cmpl $0xb, (%r13)
je 0x739d
movslq 0x21b34(%rip), %rax     # 0x28d58
cmpq $0x100, %rax            # imm = 0x100
jl 0x7244
movq %r15, %rdi
leaq 0x2895(%rip), %rsi      # 0x9acb
leaq 0x2478(%rip), %rdx      # 0x96b5
callq 0x26d7
jmp 0x7258
leal 0x1(%rax), %ecx
movl %ecx, 0x21b0b(%rip)     # 0x28d58
leaq 0x21b1c(%rip), %rcx     # 0x28d70
movb $-0xb, (%rax,%rcx)
cmpl $0x0, 0x21af1(%rip)     # 0x28d50
jne 0x71be
jmp 0x739d
callq 0x6172
callq 0x7553
cmpl $0x1, 0x21ad9(%rip)     # 0x28d54
jne 0x730f
movslq 0x21ad0(%rip), %rax     # 0x28d58
cmpq $0x100, %rax            # imm = 0x100
jl 0x72a8
movq %r15, %rdi
leaq 0x2831(%rip), %rsi      # 0x9acb
leaq 0x2414(%rip), %rdx      # 0x96b5
callq 0x26d7
jmp 0x72bc
leal 0x1(%rax), %ecx
movl %ecx, 0x21aa7(%rip)     # 0x28d58
leaq 0x21ab8(%rip), %rcx     # 0x28d70
movb $0x54, (%rax,%rcx)
leaq 0x2744(%rip), %rdi      # 0x9a07
callq 0x37bd
movswl %ax, %edx
xorl %edi, %edi
xorl %esi, %esi
callq 0x73ac
movslq 0x21a7d(%rip), %rax     # 0x28d58
cmpq $0x100, %rax            # imm = 0x100
jl 0x72fb
movq %r15, %rdi
leaq 0x27de(%rip), %rsi      # 0x9acb
leaq 0x23c1(%rip), %rdx      # 0x96b5
callq 0x26d7
jmp 0x730f
leal 0x1(%rax), %ecx
movl %ecx, 0x21a54(%rip)     # 0x28d58
leaq 0x21a65(%rip), %rcx     # 0x28d70
movb $-0xb, (%rax,%rcx)
movslq 0x21a42(%rip), %rax     # 0x28d58
cmpq $0x100, %rax            # imm = 0x100
jl 0x7339
movq %r15, %rdi
leaq 0x27a3(%rip), %rsi      # 0x9acb
leaq 0x2386(%rip), %rdx      # 0x96b5
callq 0x26d7
jmp 0x71dd
leal 0x1(%rax), %ecx
movl %ecx, 0x21a16(%rip)     # 0x28d58
leaq 0x21a27(%rip), %rcx     # 0x28d70
movb $-0xe, (%rax,%rcx)
jmp 0x71dd
movslq 0x219ff(%rip), %rax     # 0x28d58
cmpq $0x100, %rax            # imm = 0x100
jl 0x7389
leaq 0x21b08(%rip), %rdi     # 0x28e70
leaq 0x275c(%rip), %rsi      # 0x9acb
leaq 0x233f(%rip), %rdx      # 0x96b5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x26d7
leal 0x1(%rax), %ecx
movl %ecx, 0x219c6(%rip)     # 0x28d58
leaq 0x219d7(%rip), %rcx     # 0x28d70
movb $0x55, (%rax,%rcx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq