// File: /workspace/github_c_makefile_star2_O0/s3lase[P]v6shell/sh6.c
// Function: get_word
static void
get_word(void)
{
	char c, c1;

	*wordp++ = linep;

loop:
	switch (c = xgetc(DOLSUB)) {
	case SPACE:
	case TAB:
		goto loop;

	case DQUOT:
	case SQUOT:
		c1 = c;
		while ((c = xgetc(!DOLSUB)) != c1) {
			if (c == EOL) {
				if (!error)
					error_message = ERR_SYNTAX;
				peekc = c;
				*linep++ = EOS;
				error = true;
				return;
			}
			if (c == BQUOT) {
				if ((c = xgetc(!DOLSUB)) == EOL)
					c = SPACE;
				else {
					peekc = c;
					c = BQUOT;
				}
			}
			*linep++ = c | QUOTE;
		}
		break;

	case BQUOT:
		if ((c = xgetc(!DOLSUB)) == EOL)
			goto loop;
		c |= QUOTE;
		peekc = c;
		break;

	case LPARENTHESIS: case RPARENTHESIS:
	case SEMICOLON:    case AMPERSAND:
	case VERTICALBAR:  case CARET:
	case LESSTHAN:     case GREATERTHAN:
	case EOL:
		*linep++ = c;
		*linep++ = EOS;
		return;

	default:
		peekc = c;
	}

	for (;;) {
		if ((c = xgetc(DOLSUB)) == BQUOT) {
			if ((c = xgetc(!DOLSUB)) == EOL)
				c = SPACE;
			else
				c |= QUOTE;
		}
		if (any(c, WORDPACK)) {
			peekc = c;
			if (any(c, QUOTPACK))
				goto loop;
			*linep++ = EOS;
			return;
		}
		*linep++ = c;
	}
	/*NOTREACHED*/
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x5f51(%rip), %rcx      # 0x89c0
movq 0x7f5a(%rip), %rax      # 0xa9d0
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x7f4c(%rip)      # 0xa9d0
movq %rcx, (%rax)
movl $0x1, %edi
callq 0x37c0
movb %al, -0x1(%rbp)
movsbl %al, %eax
addl $-0x9, %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0x73, %eax
ja 0x2be9
movq -0x10(%rbp), %rax
leaq 0x3654(%rip), %rcx      # 0x6108
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x2a87
movb -0x1(%rbp), %al
movb %al, -0x2(%rbp)
xorl %edi, %edi
callq 0x37c0
movb %al, -0x1(%rbp)
movsbl %al, %eax
movsbl -0x2(%rbp), %ecx
cmpl %ecx, %eax
je 0x2b82
movsbl -0x1(%rbp), %eax
cmpl $0xa, %eax
jne 0x2b2b
testb $0x1, 0x7eea(%rip)      # 0xa9d8
jne 0x2afe
leaq 0x3940(%rip), %rax      # 0x6437
movq %rax, 0x7ee2(%rip)      # 0xa9e0
movb -0x1(%rbp), %al
movb %al, 0x7ee1(%rip)       # 0xa9e8
movq 0x5eb2(%rip), %rax      # 0x89c0
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x5ea4(%rip)      # 0x89c0
movb $0x0, (%rax)
movb $0x1, 0x7eb2(%rip)      # 0xa9d8
jmp 0x2ca2
movsbl -0x1(%rbp), %eax
cmpl $0x5c, %eax
jne 0x2b5b
xorl %edi, %edi
callq 0x37c0
movb %al, -0x1(%rbp)
movsbl %al, %eax
cmpl $0xa, %eax
jne 0x2b4c
movb $0x20, -0x1(%rbp)
jmp 0x2b59
movb -0x1(%rbp), %al
movb %al, 0x7e93(%rip)       # 0xa9e8
movb $0x5c, -0x1(%rbp)
jmp 0x2b5b
movsbl -0x1(%rbp), %eax
orl $0x80, %eax
movb %al, %cl
movq 0x5e53(%rip), %rax      # 0x89c0
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x5e45(%rip)      # 0x89c0
movb %cl, (%rax)
jmp 0x2ac5
jmp 0x2bf2
xorl %edi, %edi
callq 0x37c0
movb %al, -0x1(%rbp)
movsbl %al, %eax
cmpl $0xa, %eax
jne 0x2b9b
jmp 0x2a87
movsbl -0x1(%rbp), %eax
orl $0x80, %eax
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
movb %al, 0x7e38(%rip)       # 0xa9e8
jmp 0x2bf2
movb -0x1(%rbp), %cl
movq 0x5e04(%rip), %rax      # 0x89c0
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x5df6(%rip)      # 0x89c0
movb %cl, (%rax)
movq 0x5ded(%rip), %rax      # 0x89c0
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x5ddf(%rip)      # 0x89c0
movb $0x0, (%rax)
jmp 0x2ca2
movb -0x1(%rbp), %al
movb %al, 0x7df6(%rip)       # 0xa9e8
jmp 0x2bf4
movl $0x1, %edi
callq 0x37c0
movb %al, -0x1(%rbp)
movsbl %al, %eax
cmpl $0x5c, %eax
jne 0x2c2f
xorl %edi, %edi
callq 0x37c0
movb %al, -0x1(%rbp)
movsbl %al, %eax
cmpl $0xa, %eax
jne 0x2c21
movb $0x20, -0x1(%rbp)
jmp 0x2c2d
movsbl -0x1(%rbp), %eax
orl $0x80, %eax
movb %al, -0x1(%rbp)
jmp 0x2c2f
movsbl -0x1(%rbp), %edi
leaq 0x380a(%rip), %rsi      # 0x6444
callq 0x3a30
testb $0x1, %al
jne 0x2c45
jmp 0x2c83
movb -0x1(%rbp), %al
movb %al, 0x7d9a(%rip)       # 0xa9e8
movsbl -0x1(%rbp), %edi
leaq 0x37f9(%rip), %rsi      # 0x6452
callq 0x3a30
testb $0x1, %al
jne 0x2c64
jmp 0x2c69
jmp 0x2a87
movq 0x5d50(%rip), %rax      # 0x89c0
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x5d42(%rip)      # 0x89c0
movb $0x0, (%rax)
jmp 0x2ca2
movb -0x1(%rbp), %cl
movq 0x5d33(%rip), %rax      # 0x89c0
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x5d25(%rip)      # 0x89c0
movb %cl, (%rax)
jmp 0x2bf4
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)