// File: /workspace/github_c_makefile_star2_O1/afi-lambda[P]a_little_smalltalk/src/filein.c
// Function: fileIn
void fileIn(FILE *fd, boolean printit)
{
    while (fgets(textBuffer, TextBufferSize, fd) != NULL)
    {
        lexinit(textBuffer);
        if (token == inputend)
            ; /* do nothing, get next line */
        else if ((token == binary) && streq(tokenString, "\""))
            ; /* do nothing, its a comment */
        /* Syntax for Class and Methods definitions
         
         Number extend [
           radiusToArea [
             ^self squared * Float pi
           ]
           radiusToCircumference [
             ^self * 2 * Float pi
           ]
         ]
        */
        else if ((token == nameconst) && streq(tokenString,"Class"))
            readClassDeclaration();
        else if ((token == nameconst) && streq(tokenString,"Methods"))
            readMethods(fd, printit);
        else
            sysError("unrecognized line", textBuffer);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movl %esi, 0x4(%rsp)
movq %rdi, %r14
leaq 0x22455(%rip), %rdi     # 0x280b0
movl $0x400, %esi            # imm = 0x400
movq %r14, %rdx
callq 0x2120
testq %rax, %rax
je 0x60d2
leaq 0x22438(%rip), %r15     # 0x280b0
leaq 0x22851(%rip), %r12     # 0x284d0
leaq 0x3b4f(%rip), %rbp      # 0x97d5
leaq 0x3b52(%rip), %r13      # 0x97df
movq %r15, %rdi
callq 0x615c
leaq 0x22884(%rip), %rax     # 0x28520
movl (%rax), %ebx
cmpl $0xb, %ebx
je 0x60b9
cmpl $0x9, %ebx
jne 0x5cbf
movq %r12, %rdi
movq %rbp, %rsi
callq 0x2160
testl %eax, %eax
je 0x60b9
cmpl $0x1, %ebx
jne 0x5cf3
movq %r12, %rdi
leaq 0x33e1(%rip), %rsi      # 0x90af
callq 0x2160
testl %eax, %eax
je 0x5d03
cmpl $0x1, %ebx
jne 0x5cf3
movq %r12, %rdi
leaq 0x3af1(%rip), %rsi      # 0x97d7
callq 0x2160
testl %eax, %eax
je 0x5e8f
movq %r13, %rdi
movq %r15, %rsi
callq 0x4dfc
jmp 0x60b9
callq 0x6172
cmpl $0x1, %eax
je 0x5d20
leaq 0x3add(%rip), %rdi      # 0x97f1
leaq 0x3ae6(%rip), %rsi      # 0x9801
callq 0x4dfc
callq 0x60e4
movl %eax, %ebx
callq 0x6172
xorl %ebp, %ebp
movswl %bx, %ebx
cmpl $0x1, %eax
movq %rbx, 0x10(%rsp)
jne 0x5d85
callq 0x60e4
movl %ebx, %ecx
shrl %ecx
movswq %cx, %rcx
shlq $0x4, %rcx
leaq 0x84ed(%rip), %rbp      # 0xe240
movq 0x8(%rbp,%rcx), %rcx
movw %ax, 0x6(%rcx)
movswl %ax, %ebx
movl %ebx, %edi
callq 0x2f20
shrl %ebx
movswq %bx, %rax
shlq $0x4, %rax
movq 0x8(%rbp,%rax), %rax
movswl 0x2(%rax), %edi
callq 0x3141
movl %eax, %ebp
callq 0x6172
leaq 0x22794(%rip), %rax     # 0x28520
cmpl $0x1, (%rax)
jne 0x5e54
movl $0x1, %eax
xorl %ebx, %ebx
leaq 0x2277d(%rip), %r13     # 0x28520
movl %eax, %r15d
movq %r12, %rdi
callq 0x37bd
movw %ax, 0x20(%rsp,%rbx,2)
incq %rbx
callq 0x6172
leal 0x1(%r15), %eax
cmpl $0x1, (%r13)
je 0x5da3
movl %ebx, %edi
callq 0x35da
cwtl
movl %eax, 0x18(%rsp)
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x845d(%rip), %r12      # 0xe240
leaq (%r12,%rax), %r13
addq $0x8, %r13
movl %ebp, %ebp
addq %rbx, %rbp
movq %rbp, 0x8(%rsp)
movl %r15d, %ebx
xorl %r15d, %r15d
movswl 0x20(%rsp,%r15,2), %edi
movq (%r13), %rax
movw %di, (%rax,%r15,2)
incq %r15
callq 0x2f20
cmpq %r15, %rbx
jne 0x5dfb
movq 0x10(%rsp), %rbp
movl %ebp, %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%r12,%rax), %rax
movl 0x18(%rsp), %edi
movw %di, 0x8(%rax)
callq 0x2f20
movq %r12, %rbx
leaq 0x2268c(%rip), %r12     # 0x284d0
leaq 0x22265(%rip), %r15     # 0x280b0
leaq 0x398d(%rip), %r13      # 0x97df
jmp 0x5e65
movq %rbp, 0x8(%rsp)
leaq 0x83e0(%rip), %rbx      # 0xe240
movq 0x10(%rsp), %rbp
movq 0x8(%rsp), %rdi
callq 0x314c
shrl %ebp
movswq %bp, %rcx
shlq $0x4, %rcx
movq 0x8(%rbx,%rcx), %rcx
movw %ax, 0x2(%rcx)
movswl %ax, %edi
callq 0x2f20
jmp 0x60b2
callq 0x6172
cmpl $0x1, %eax
je 0x5eac
leaq 0x3978(%rip), %rdi      # 0x9818
leaq 0x397e(%rip), %rsi      # 0x9825
callq 0x4dfc
callq 0x60e4
movw %ax, 0x10(%rsp)
movswl %ax, %ebp
movl %ebp, %edi
callq 0x6a9c
cmpl $0x0, 0x4(%rsp)
leaq 0x8374(%rip), %rbx      # 0xe240
je 0x5f13
movl %ebp, %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%rbx,%rax), %rax
movswl (%rax), %edi
leaq 0x219a7(%rip), %r13     # 0x27890
movw %di, (%r13)
callq 0x2f18
movswl (%r13), %eax
leaq 0x38e0(%rip), %r13      # 0x97df
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%rbx,%rax), %rax
movq %rax, 0x18(%rsp)
movl %ebp, %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%rbx,%rax), %rcx
movzwl 0x4(%rcx), %ebx
testw %bx, %bx
jne 0x5f65
leaq 0x830c(%rip), %rcx      # 0xe240
leaq (%rcx,%rax), %r15
addq $0x8, %r15
movl $0x27, %edi
callq 0x39a2
movl %eax, %ebx
movq (%r15), %rax
leaq 0x2215e(%rip), %r15     # 0x280b0
leaq 0x22577(%rip), %r12     # 0x284d0
movw %bx, 0x4(%rax)
movswl %bx, %edi
callq 0x2f20
movswl %bx, %eax
movl %eax, 0x8(%rsp)
leaq 0x20(%rsp), %rbx
cmpb $0x7c, 0x20(%rsp)
jne 0x5f87
movq %r15, %rdi
leaq 0x21(%rsp), %rsi
callq 0x2050
jmp 0x5f8e
movb $0x0, 0x22122(%rip)     # 0x280b0
movq %rbx, %rdi
movl $0x200, %esi            # imm = 0x200
movq %r14, %rdx
callq 0x2120
testq %rax, %rax
je 0x609f
movzbl 0x20(%rsp), %eax
cmpl $0x5d, %eax
je 0x5fc3
cmpl $0x7c, %eax
je 0x5fc3
movq %r15, %rdi
movq %rbx, %rsi
callq 0x21e0
jmp 0x5f8e
xorl %eax, %eax
callq 0x3b41
movl 0x72a8(%rip), %edx      # 0xd278
movq %r15, %rsi
movswl %ax, %r15d
movl %r15d, %edi
callq 0x6b6a
testl %eax, %eax
je 0x606d
movl %r15d, %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x8245(%rip), %r12      # 0xe240
movq 0x8(%r12,%rax), %rax
movzwl 0x2(%rax), %ebx
movzwl 0x10(%rsp), %ecx
movw %cx, 0xc(%rax)
movl %ebp, %edi
callq 0x2f20
movswl %bx, %ebx
cmpl $0x0, 0x4(%rsp)
je 0x6056
leaq 0x2186b(%rip), %r13     # 0x27890
movw %bx, (%r13)
movl %ebx, %edi
callq 0x2f18
movswl (%r13), %eax
leaq 0x37a2(%rip), %r13      # 0x97df
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%r12,%rax), %rsi
movq 0x18(%rsp), %rdi
callq 0x4e20
movl 0x8(%rsp), %edi
movl %ebx, %esi
movl %ebx, %edx
movl %r15d, %ecx
callq 0x3158
leaq 0x20(%rsp), %rbx
jmp 0x6084
movl %r15d, %edi
callq 0x2f20
movl %r15d, %edi
callq 0x2f46
xorl %eax, %eax
callq 0x2705
cmpb $0x5d, 0x20(%rsp)
leaq 0x22440(%rip), %r12     # 0x284d0
leaq 0x22019(%rip), %r15     # 0x280b0
jne 0x5f71
jmp 0x60b2
leaq 0x3798(%rip), %rdi      # 0x983e
leaq 0x37a8(%rip), %rsi      # 0x9855
callq 0x4dfc
leaq 0x371c(%rip), %rbp      # 0x97d5
movq %r15, %rdi
movl $0x400, %esi            # imm = 0x400
movq %r14, %rdx
callq 0x2120
testq %rax, %rax
jne 0x5c8d
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq