// File: /workspace/github_c_makefile_star2_O1/azhai[P]mlite/mlite.c
// Function: repl
void repl(void) {
	cell	n = NIL; /*LINT*/
	cell	sane_env;

	sane_env = node(NIL, NIL);
	save(sane_env);
	if (!Quiet_mode) {
		signal(SIGINT, keyboard_interrupt);
	}
	Token = TOK_SEMI;
	while (Token != END_OF_FILE) {
		Error_flag = 0;
		Instream = 0;
		Outstream = 1;
		clear_leftover_envs();
		reset_calltrace();
		car(sane_env) = Environment;
		Exnstack = NIL;
		if (!Quiet_mode) {
			pr("> ");
			flush();
		}
		if (Token == TOK_SEMI || Token == UNDEFINED)
			Token = scan();
		Program = prog();
		if (Token != END_OF_FILE && Token != TOK_SEMI) {
			error("syntax error at", Attr);
		}
		if (!Error_flag)
			n = eval(Program);
		if (!Error_flag && n != UNDEFINED) {
			print_form(n);
			pr("\n");
			box_value(S_it) = n;
		}
		if (Error_flag) {
			Environment = car(sane_env);
			recover();
		}
	}
	unsave(1);
	pr("\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq $-0x1, %rbx
xorl %r12d, %r12d
movq $-0x1, %rdi
movq $-0x1, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, %r14
movq 0x9ce3(%rip), %rsi      # 0x1e128
movq %rax, %rdi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x9cd2(%rip)      # 0x1e128
cmpl $0x0, 0xa15b(%rip)      # 0x1e5b8
jne 0x14470
leaq -0xb9(%rip), %rsi       # 0x143ad
movl $0x2, %edi
callq 0x3120
movl $0xffffff9b, 0xa256(%rip) # imm = 0xFFFFFF9B
leaq 0x9e0f(%rip), %r15      # 0x1e290
leaq 0x346d(%rip), %r13      # 0x178f5
movl %r12d, 0xa125(%rip)     # 0x1e5b4
movl %r12d, 0xa202(%rip)     # 0x1e698
movl $0x1, 0x9de0(%rip)      # 0x1e280
movq 0xa119(%rip), %rax      # 0x1e5c0
movq 0x9c5a(%rip), %rcx      # 0x1e108
movq (%rax,%rcx,8), %rcx
cmpq $-0x1, %rcx
je 0x144c1
movq %rcx, 0x9c49(%rip)      # 0x1e108
jmp 0x144ae
movl $0x320, %edx            # imm = 0x320
movq %r15, %rdi
movl $0xff, %esi
callq 0x30d0
movq 0x9c2e(%rip), %rax      # 0x1e108
movq 0x9c8f(%rip), %rcx      # 0x1e170
movq %rax, (%rcx,%r14,8)
movq $-0x1, 0x9c78(%rip) # 0x1e168
cmpl $0x0, 0xa0c1(%rip)      # 0x1e5b8
jne 0x1451c
leaq 0x2cad(%rip), %rdi      # 0x171ad
callq 0x3965
movslq 0x9d74(%rip), %rax      # 0x1e280
leaq 0x9c6d(%rip), %rcx      # 0x1e180
movq (%rcx,%rax,8), %rdi
callq 0x3160
movl 0xa1ae(%rip), %eax      # 0x1e6d0
cmpl $-0x5, %eax
je 0x1452c
cmpl $-0x65, %eax
jne 0x14537
callq 0x9c07
movl %eax, 0xa199(%rip)      # 0x1e6d0
callq 0xba0b
movq %rax, 0x9bb5(%rip)      # 0x1e0f8
movl 0xa187(%rip), %eax      # 0x1e6d0
cmpl $-0x65, %eax
je 0x14566
cmpl $-0x4, %eax
je 0x14566
movq 0x9bfe(%rip), %rsi      # 0x1e158
leaq 0x224c(%rip), %rdi      # 0x167ad
callq 0x33eb
cmpl $0x0, 0xa047(%rip)      # 0x1e5b4
jne 0x1457e
movq 0x9b82(%rip), %rdi      # 0x1e0f8
callq 0x11d3f
movq %rax, %rbx
cmpl $0x0, 0xa02f(%rip)      # 0x1e5b4
sete %al
cmpq $-0x5, %rbx
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x145ba
movq %rbx, %rdi
xorl %esi, %esi
callq 0x91f0
movq %r13, %rdi
callq 0x3965
movq 0xa011(%rip), %rax      # 0x1e5c0
movq 0xa63a(%rip), %rcx      # 0x1ebf0
movq %rbx, (%rax,%rcx,8)
cmpl $0x0, 0x9ff3(%rip)      # 0x1e5b4
je 0x145d5
movq 0x9ba6(%rip), %rax      # 0x1e170
movq (%rax,%r14,8), %rax
movq %rax, 0x9b33(%rip)      # 0x1e108
cmpl $-0x4, 0xa0f4(%rip)     # 0x1e6d0
jne 0x14488
movl $0x1, %edi
callq 0x3851
leaq 0x3302(%rip), %rdi      # 0x178f5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3965