// File: /workspace/github_c_makefile_star2_O1/rakitzis[P]rc/input.c
// Function: doit
extern Node *doit(bool clobberexecit) {
	bool eof;
	bool execit;
	Jbwrap j;
	Estack e1;
	Edata jerror;

	if (dashen)
		clobberexecit = FALSE;
	execit = clobberexecit;
	sigsetjmp(j.j, 1);
	jerror.jb = &j;
	except(eError, jerror, &e1);
	for (eof = FALSE; !eof;) {
		Edata block;
		Estack e2;

		block.b = newblock();
		except(eArena, block, &e2);
		sigchk();

		if (interactive) {
			List *s;
			if (!dashen && fnlookup("prompt") != NULL) {
				static bool died = FALSE;
				static char *arglist[] = { "prompt", NULL };

				if (!died) {
					died = TRUE;
					funcall(arglist);
				}
				died = FALSE;
			}
			s = varlookup("prompt");
			if (s != NULL) {
				prompt = s->w;
				if (s->n != NULL)
					prompt2 = s->n->w;
				else
					prompt2 = "";
			} else {
				prompt = prompt2 = "";
			}
			if (istack->t == iFd)
				fprint(2, "%s", prompt);
			else if (istack->t == iEdit)
				edit_prompt(istack->cookie, prompt);
		}
		inityy();
		if (yyparse() == 1 && (execit || dashen))
			rc_raise(eError);
		eof = (lastchar == EOF); /* "lastchar" can be clobbered during a walk() */
		if (parsetree != NULL) {
#if RC_DEVELOP
			if (RC_DEVELOP)
				tree_dump(parsetree);
#endif
			if (execit)
				walk(parsetree, TRUE);
			else if (dashex && dashen)
				fprint(2, "%T\n", parsetree);
		}
		unexcept(eArena);
	}
	popinput();
	unexcept(eError);
	return parsetree;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
leaq 0x11665(%rip), %r13     # 0x19bdc
xorl %ebx, %ebx
cmpl $0x0, (%r13)
movl %edi, %ebp
cmovnel %ebx, %ebp
leaq 0x30(%rsp), %r14
movl $0x1, %esi
movq %r14, %rdi
callq 0x3370
leaq 0x18(%rsp), %rdx
movl %ebx, %edi
movq %r14, %rsi
callq 0x459c
movl $0x4, %r14d
movq %rsp, %r15
leaq 0x11620(%rip), %r12     # 0x19bd4
callq 0xa09f
movl %r14d, %edi
movq %rax, %rsi
movq %r15, %rdx
callq 0x459c
callq 0xbae1
cmpl $0x0, (%r12)
je 0x869f
cmpl $0x0, (%r13)
jne 0x8612
leaq 0x71c7(%rip), %rdi      # 0xf7ac
callq 0x5099
testq %rax, %rax
je 0x8612
cmpb $0x0, 0x11572(%rip)     # 0x19b68
jne 0x860b
movb $0x1, 0x11569(%rip)     # 0x19b68
leaq 0x10d2a(%rip), %rdi     # 0x19330
callq 0x34ee
movb $0x0, 0x11556(%rip)     # 0x19b68
leaq 0x7193(%rip), %rdi      # 0xf7ac
callq 0xcaf4
testq %rax, %rax
je 0x863b
movq (%rax), %rcx
movq %rcx, 0x11543(%rip)     # 0x19b70
movq 0x10(%rax), %rax
testq %rax, %rax
je 0x8652
movq (%rax), %rax
jmp 0x8659
leaq 0x7795(%rip), %rax      # 0xfdd7
movq %rax, 0x1152f(%rip)     # 0x19b78
movq %rax, 0x11520(%rip)     # 0x19b70
jmp 0x8660
leaq 0x777e(%rip), %rax      # 0xfdd7
movq %rax, 0x11518(%rip)     # 0x19b78
movq 0x114c9(%rip), %rax     # 0x19b30
movl 0x4(%rax), %ecx
cmpl $0x2, %ecx
je 0x868f
testl %ecx, %ecx
jne 0x869f
movq 0x114f6(%rip), %rdx     # 0x19b70
xorl %eax, %eax
movl $0x2, %edi
leaq 0x6efa(%rip), %rsi      # 0xf582
callq 0xb06f
jmp 0x869f
movq 0x28(%rax), %rdi
movq 0x114d6(%rip), %rsi     # 0x19b70
callq 0x451c
callq 0x969d
callq 0xa2b2
cmpl $0x1, %eax
jne 0x86bd
movl (%r13), %eax
orl %ebp, %eax
je 0x86bd
xorl %edi, %edi
callq 0x4654
movl 0x11475(%rip), %ebx     # 0x19b38
leaq 0x115be(%rip), %rax     # 0x19c88
movq (%rax), %rdx
testq %rdx, %rdx
je 0x870b
testl %ebp, %ebp
je 0x86e5
movq %rdx, %rdi
movl $0x1, %esi
callq 0xd3c0
jmp 0x870b
leaq 0x11504(%rip), %rax     # 0x19bf0
cmpl $0x0, (%rax)
je 0x870b
cmpl $0x0, (%r13)
je 0x870b
xorl %eax, %eax
movl $0x2, %edi
leaq 0x7152(%rip), %rsi      # 0xf858
callq 0xb06f
movl %r14d, %edi
callq 0x45d0
cmpl $-0x1, %ebx
jne 0x85b4
callq 0x848f
xorl %edi, %edi
callq 0x45d0
leaq 0x11559(%rip), %rax     # 0x19c88
movq (%rax), %rax
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq