// File: /workspace/github_c_makefile_star2_O3/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, 0x14(%rsp)
movq %rdi, %r14
leaq 0x224a5(%rip), %rdi     # 0x280b0
movl $0x400, %esi            # imm = 0x400
movq %r14, %rdx
callq 0x2120
testq %rax, %rax
je 0x6047
leaq 0x22488(%rip), %r12     # 0x280b0
leaq 0x228e1(%rip), %rbp     # 0x28510
leaq 0x2288a(%rip), %r15     # 0x284c0
leaq 0x3bb8(%rip), %rbx      # 0x97f5
movq %r12, %rdi
callq 0x60d0
movl (%rbp), %eax
cmpl $0x1, %eax
je 0x5c6d
cmpl $0xb, %eax
je 0x602e
cmpl $0x9, %eax
jne 0x5c97
cmpb $0x22, (%r15)
jne 0x5c97
cmpb $0x0, 0x1(%r15)
jne 0x5c97
jmp 0x602e
movq %r15, %rdi
leaq 0x3438(%rip), %rsi      # 0x90af
callq 0x2160
testl %eax, %eax
je 0x5ca7
movq %r15, %rdi
leaq 0x3b63(%rip), %rsi      # 0x97ed
callq 0x2160
testl %eax, %eax
je 0x5dfd
movq %rbx, %rdi
movq %r12, %rsi
callq 0x4dec
jmp 0x602e
callq 0x60e6
cmpl $0x1, %eax
je 0x5cc4
leaq 0x3b4f(%rip), %rdi      # 0x9807
leaq 0x3b58(%rip), %rsi      # 0x9817
callq 0x4dec
callq 0x6059
movl %eax, %ebx
callq 0x60e6
xorl %edi, %edi
cmpl $0x1, %eax
jne 0x5d33
callq 0x6059
movswl %bx, %ecx
shrl %ecx
movswq %cx, %rcx
shlq $0x4, %rcx
leaq 0x8550(%rip), %rdx      # 0xe240
movq 0x8(%rdx,%rcx), %rcx
movw %ax, 0x6(%rcx)
movl %ebx, %r13d
movswl %ax, %ebx
movl %ebx, %edi
callq 0x2eda
shrl %ebx
movswq %bx, %rax
movl %r13d, %ebx
shlq $0x4, %rax
leaq 0x8526(%rip), %rcx      # 0xe240
movq 0x8(%rcx,%rax), %rax
movswl 0x2(%rax), %edi
callq 0x3125
movl %eax, %r13d
callq 0x60e6
movq %r13, %rdi
cmpl $0x1, (%rbp)
jne 0x5ffd
movq %rdi, 0x8(%rsp)
movw %bx, 0x4(%rsp)
xorl %ebx, %ebx
movq %rbx, %r13
movq %r15, %rdi
callq 0x379b
incq %rbx
movw %ax, 0x20(%rsp,%r13,2)
callq 0x60e6
cmpl $0x1, (%rbp)
je 0x5d49
movl %ebx, %edi
callq 0x35ba
cwtl
movl %eax, 0x18(%rsp)
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x84bb(%rip), %r15      # 0xe240
leaq (%r15,%rax), %rbp
addq $0x8, %rbp
movq 0x8(%rsp), %rax
movl %eax, %eax
addq %rbx, %rax
movq %rax, 0x8(%rsp)
movq $-0x1, %rbx
movswl 0x22(%rsp,%rbx,2), %edi
movq (%rbp), %rax
movw %di, 0x2(%rax,%rbx,2)
callq 0x2eda
incq %rbx
cmpq %rbx, %r13
jne 0x5da3
movswl 0x4(%rsp), %eax
shrl %eax
movswq %ax, %rbx
movq %rbx, %rax
shlq $0x4, %rax
movq 0x8(%r15,%rax), %rax
movl 0x18(%rsp), %edi
movw %di, 0x8(%rax)
callq 0x2eda
leaq 0x22727(%rip), %rbp     # 0x28510
movq %r15, %r13
leaq 0x226cd(%rip), %r15     # 0x284c0
movq 0x8(%rsp), %rdi
jmp 0x600d
callq 0x60e6
cmpl $0x1, %eax
je 0x5e1a
leaq 0x3a20(%rip), %rdi      # 0x982e
leaq 0x3a26(%rip), %rsi      # 0x983b
callq 0x4dec
callq 0x6059
movl %eax, %ebp
movswl %ax, %ebx
movl %ebx, %edi
callq 0x68e4
movl %ebx, 0x8(%rsp)
movl %ebx, %eax
shrl %eax
movswq %ax, %r13
cmpl $0x0, 0x14(%rsp)
leaq 0x83fd(%rip), %r15      # 0xe240
je 0x5e7a
movq %r13, %rax
shlq $0x4, %rax
movq 0x8(%r15,%rax), %rax
movswl (%rax), %edi
leaq 0x21a35(%rip), %rbx     # 0x27890
movw %di, (%rbx)
callq 0x2ed2
movswl (%rbx), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%r15,%rax), %rax
movq %rax, 0x18(%rsp)
shlq $0x4, %r13
movq 0x8(%r15,%r13), %rax
movzwl 0x4(%rax), %ebx
testw %bx, %bx
jne 0x5eaf
addq %r15, %r13
addq $0x8, %r13
movl $0x27, %edi
callq 0x397e
movl %eax, %ebx
movq (%r13), %rax
movw %bx, 0x4(%rax)
movswl %bx, %edi
callq 0x2eda
movswl %bx, %eax
movl %eax, 0x4(%rsp)
leaq 0x22603(%rip), %r15     # 0x284c0
leaq 0x20(%rsp), %r13
cmpb $0x7c, %al
jne 0x5ed5
movq %r12, %rdi
leaq 0x21(%rsp), %rsi
callq 0x2050
jmp 0x5edc
movb $0x0, 0x221d4(%rip)     # 0x280b0
movq %r13, %rdi
movl $0x200, %esi            # imm = 0x200
movq %r14, %rdx
callq 0x2120
testq %rax, %rax
je 0x5fe1
movzbl 0x20(%rsp), %eax
cmpl $0x5d, %eax
je 0x5f11
cmpl $0x7c, %eax
je 0x5f11
movq %r12, %rdi
movq %r13, %rsi
callq 0x21e0
jmp 0x5edc
xorl %eax, %eax
callq 0x3b1d
movl 0x735a(%rip), %edx      # 0xd278
movswl %ax, %ebx
movl %ebx, %edi
movq %r12, %rsi
callq 0x69b2
testl %eax, %eax
je 0x5fbe
movl %ebx, %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x82fa(%rip), %r15      # 0xe240
movq 0x8(%r15,%rax), %rax
movzwl 0x2(%rax), %r13d
movw %bp, 0xc(%rax)
movl 0x8(%rsp), %edi
callq 0x2eda
movswl %r13w, %r13d
cmpl $0x0, 0x14(%rsp)
je 0x5f9f
leaq 0x21921(%rip), %r15     # 0x27890
movw %r13w, (%r15)
movl %r13d, %edi
callq 0x2ed2
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x82b0(%rip), %rcx      # 0xe240
movq 0x8(%rcx,%rax), %rsi
movq 0x18(%rsp), %rdi
callq 0x4e10
movl 0x4(%rsp), %edi
movl %r13d, %esi
movl %r13d, %edx
movl %ebx, %ecx
callq 0x313c
leaq 0x22509(%rip), %r15     # 0x284c0
leaq 0x20(%rsp), %r13
jmp 0x5fd3
movl %ebx, %edi
callq 0x2eda
movl %ebx, %edi
callq 0x2f00
xorl %eax, %eax
callq 0x2703
movb 0x20(%rsp), %al
cmpb $0x5d, %al
jne 0x5ec2
jmp 0x5ff4
leaq 0x386c(%rip), %rdi      # 0x9854
leaq 0x387c(%rip), %rsi      # 0x986b
callq 0x4dec
leaq 0x22515(%rip), %rbp     # 0x28510
jmp 0x6027
movswl %bx, %eax
shrl %eax
movswq %ax, %rbx
leaq 0x8233(%rip), %r13      # 0xe240
callq 0x3130
shlq $0x4, %rbx
movq 0x8(%r13,%rbx), %rcx
movw %ax, 0x2(%rcx)
movswl %ax, %edi
callq 0x2eda
leaq 0x37c7(%rip), %rbx      # 0x97f5
movq %r12, %rdi
movl $0x400, %esi            # imm = 0x400
movq %r14, %rdx
callq 0x2120
testq %rax, %rax
jne 0x5c3d
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq