// File: /workspace/github_c_makefile_star2_O0/georgeweigt[P]sassafras/sassafras.c
// Function: scan1
int
scan1(void)
{
	int i, n;

	// skip spaces

	while (*inp && *inp <= ' ')
		inp++;

	token_str = inp;

	// end?

	if (*inp == '\0') {
		strbuf[0] = 0;
		return 0;
	}

	// name?

	if (isalpha(*inp) || *inp == '_') {
		for (i = 0; i < STRBUFLEN; i++) {
			if (isalnum(*inp) || *inp == '_')
				strbuf[i] = toupper(*inp++);
			else
				break;
		}
		if (i == STRBUFLEN)
			stop("Name too long");
		strbuf[i] = 0;
		return NAME;
	}

	// number?

	if (isdigit(*inp)
	|| (inp[0] == '.' && isdigit(inp[1]))
	|| ((*inp == '+' || *inp == '-')
	&& (isdigit(inp[1]) || (inp[1] == '.' && isdigit(inp[2]))))) {
		if (*inp == '+' || *inp == '-')
			inp++;
		while (isdigit(*inp))
			inp++;
		if (*inp == '.') {
			inp++;
			while (isdigit(*inp))
				inp++;
		}
		if (*inp == 'E' || *inp == 'e') {
			inp++;
			if (*inp == '+' || *inp == '-')
				inp++;
			while (isdigit(*inp))
				inp++;
		}
		n = (int) (inp - token_str);
		if (n >= STRBUFLEN)
			stop("Number format?");
		for (i = 0; i < n; i++)
			strbuf[i] = token_str[i];
		strbuf[i] = 0;
		n = sscanf(strbuf, "%lg", &token_num);
		if (n < 1)
			stop("Number format?");
		return NUMBER;
	}

	// string?

	if (*inp == '\'') {
		inp++;
		for (i = 0; i < STRBUFLEN; i++) {
			if (*inp == 0)
				break;
			if (*inp == '\r' || *inp == '\n')
				stop("Runaway string");
			if (inp[0] == '\'' && inp[1] == '\'') {
				strbuf[i] = *inp;
				inp += 2;
				continue;
			}
			if (*inp == '\'') {
				inp++;
				break;
			}
			strbuf[i] = *inp++;
		}
		if (i == STRBUFLEN)
			stop("String too long");
		strbuf[i] = 0;
		return STRING;
	}

	if (*inp == '"') {
		inp++;
		for (i = 0; i < STRBUFLEN; i++) {
			if (*inp == 0)
				break;
			if (*inp == '\r' || *inp == '\n')
				stop("Runaway string");
			if (inp[0] == '"' && inp[1] == '"') {
				strbuf[i] = *inp;
				inp += 2;
				continue;
			}
			if (*inp == '"') {
				inp++;
				break;
			}
			strbuf[i] = *inp++;
		}
		if (i == STRBUFLEN)
			stop("String too long");
		strbuf[i] = 0;
		return STRING;
	}

	// double at sign?

	if (inp[0] == '@' && inp[1] == '@') {
		strcpy(strbuf, "@@");
		inp += 2;
		return ATAT;
	}

	// double asterisk?

	if (inp[0] == '*' && inp[1] == '*') {
		strcpy(strbuf, "**");
		inp += 2;
		return STARSTAR;
	}

	// anything else is a single character token

	strbuf[0] = *inp;
	strbuf[1] = 0;

	return *inp++;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x5c49(%rip), %rax      # 0x13888
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0xd(%rbp)
je 0xdc5f
movq 0x5c35(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x20, %eax
setle %al
movb %al, -0xd(%rbp)
movb -0xd(%rbp), %al
testb $0x1, %al
jne 0xdc68
jmp 0xdc7c
movq 0x5c19(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x5c0e(%rip)      # 0x13888
jmp 0xdc38
movq 0x5c05(%rip), %rax      # 0x13888
movq %rax, 0xc01e(%rip)      # 0x19ca8
movq 0x5bf7(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0xdcac
movb $0x0, 0x63e0(%rip)      # 0x14080
movl $0x0, -0x4(%rbp)
jmp 0xe3d2
callq 0x2210
movq (%rax), %rax
movq 0x5bcd(%rip), %rcx      # 0x13888
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0xdce2
movq 0x5bb2(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x5f, %eax
jne 0xdd90
movl $0x0, -0x8(%rbp)
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jge 0xdd60
callq 0x2210
movq (%rax), %rax
movq 0x5b87(%rip), %rcx      # 0x13888
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0xdd22
movq 0x5b6e(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x5f, %eax
jne 0xdd51
movq 0x5b5f(%rip), %rax      # 0x13888
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x5b51(%rip)      # 0x13888
movsbl (%rax), %edi
callq 0x2050
movb %al, %dl
movslq -0x8(%rbp), %rcx
leaq 0x6334(%rip), %rax      # 0x14080
movb %dl, (%rax,%rcx)
jmp 0xdd53
jmp 0xdd60
jmp 0xdd55
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xdce9
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0xdd75
leaq 0x1cc6(%rip), %rdi      # 0xfa36
callq 0x2790
movslq -0x8(%rbp), %rcx
leaq 0x6300(%rip), %rax      # 0x14080
movb $0x0, (%rax,%rcx)
movl $0x3e9, -0x4(%rbp)      # imm = 0x3E9
jmp 0xe3d2
callq 0x2210
movq (%rax), %rax
movq 0x5ae9(%rip), %rcx      # 0x13888
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
jne 0xde70
movq 0x5aca(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0xddee
callq 0x2210
movq (%rax), %rax
movq 0x5ab3(%rip), %rcx      # 0x13888
movsbl 0x1(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
jne 0xde70
movq 0x5a93(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xde10
movq 0x5a84(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0xe079
callq 0x2210
movq (%rax), %rax
movq 0x5a69(%rip), %rcx      # 0x13888
movsbl 0x1(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
jne 0xde70
movq 0x5a4d(%rip), %rax      # 0x13888
movsbl 0x1(%rax), %eax
cmpl $0x2e, %eax
jne 0xe079
callq 0x2210
movq (%rax), %rax
movq 0x5a31(%rip), %rcx      # 0x13888
movsbl 0x2(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xe079
movq 0x5a11(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xde8e
movq 0x5a02(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0xdea0
movq 0x59f3(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x59e8(%rip)      # 0x13888
jmp 0xdea2
callq 0x2210
movq (%rax), %rax
movq 0x59d7(%rip), %rcx      # 0x13888
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xded9
movq 0x59bc(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x59b1(%rip)      # 0x13888
jmp 0xdea2
movq 0x59a8(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0xdf33
movq 0x5999(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x598e(%rip)      # 0x13888
callq 0x2210
movq (%rax), %rax
movq 0x597f(%rip), %rcx      # 0x13888
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xdf31
movq 0x5964(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x5959(%rip)      # 0x13888
jmp 0xdefa
jmp 0xdf33
movq 0x594e(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x45, %eax
je 0xdf51
movq 0x593f(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x65, %eax
jne 0xdfce
movq 0x5930(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x5925(%rip)      # 0x13888
movq 0x591e(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2b, %eax
je 0xdf81
movq 0x590f(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0xdf93
movq 0x5900(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x58f5(%rip)      # 0x13888
jmp 0xdf95
callq 0x2210
movq (%rax), %rax
movq 0x58e4(%rip), %rcx      # 0x13888
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xdfcc
movq 0x58c9(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x58be(%rip)      # 0x13888
jmp 0xdf95
jmp 0xdfce
movq 0x58b3(%rip), %rax      # 0x13888
movq 0xbccc(%rip), %rcx      # 0x19ca8
subq %rcx, %rax
movl %eax, -0xc(%rbp)
cmpl $0x3e8, -0xc(%rbp)      # imm = 0x3E8
jl 0xdff7
leaq 0x1a52(%rip), %rdi      # 0xfa44
callq 0x2790
movl $0x0, -0x8(%rbp)
movl -0x8(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0xe02d
movq 0xbc9b(%rip), %rax      # 0x19ca8
movslq -0x8(%rbp), %rcx
movb (%rax,%rcx), %dl
movslq -0x8(%rbp), %rcx
leaq 0x6061(%rip), %rax      # 0x14080
movb %dl, (%rax,%rcx)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xdffe
movslq -0x8(%rbp), %rcx
leaq 0x6048(%rip), %rax      # 0x14080
movb $0x0, (%rax,%rcx)
leaq 0x603d(%rip), %rdi      # 0x14080
leaq 0x134c(%rip), %rsi      # 0xf396
leaq 0x9e6f(%rip), %rdx      # 0x17ec0
movb $0x0, %al
callq 0x2170
movl %eax, -0xc(%rbp)
cmpl $0x1, -0xc(%rbp)
jge 0xe06d
leaq 0x19dc(%rip), %rdi      # 0xfa44
callq 0x2790
movl $0x3ea, -0x4(%rbp)      # imm = 0x3EA
jmp 0xe3d2
movq 0x5808(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x27, %eax
jne 0xe1c0
movq 0x57f5(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x57ea(%rip)      # 0x13888
movl $0x0, -0x8(%rbp)
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jge 0xe190
movq 0x57cf(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0xe0c6
jmp 0xe190
movq 0x57bb(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0xd, %eax
je 0xe0e4
movq 0x57ac(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe0f0
leaq 0x1968(%rip), %rdi      # 0xfa53
callq 0x2790
movq 0x5791(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x27, %eax
jne 0xe13a
movq 0x5782(%rip), %rax      # 0x13888
movsbl 0x1(%rax), %eax
cmpl $0x27, %eax
jne 0xe13a
movq 0x5772(%rip), %rax      # 0x13888
movb (%rax), %dl
movslq -0x8(%rbp), %rcx
leaq 0x5f5d(%rip), %rax      # 0x14080
movb %dl, (%rax,%rcx)
movq 0x575b(%rip), %rax      # 0x13888
addq $0x2, %rax
movq %rax, 0x5750(%rip)      # 0x13888
jmp 0xe182
movq 0x5747(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x27, %eax
jne 0xe15d
movq 0x5738(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x572d(%rip)      # 0x13888
jmp 0xe190
movq 0x5724(%rip), %rax      # 0x13888
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x5716(%rip)      # 0x13888
movb (%rax), %dl
movslq -0x8(%rbp), %rcx
leaq 0x5f01(%rip), %rax      # 0x14080
movb %dl, (%rax,%rcx)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xe0a5
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0xe1a5
leaq 0x18c2(%rip), %rdi      # 0xfa62
callq 0x2790
movslq -0x8(%rbp), %rcx
leaq 0x5ed0(%rip), %rax      # 0x14080
movb $0x0, (%rax,%rcx)
movl $0x3eb, -0x4(%rbp)      # imm = 0x3EB
jmp 0xe3d2
movq 0x56c1(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0xe307
movq 0x56ae(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x56a3(%rip)      # 0x13888
movl $0x0, -0x8(%rbp)
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jge 0xe2d7
movq 0x5688(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0xe20d
jmp 0xe2d7
movq 0x5674(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0xd, %eax
je 0xe22b
movq 0x5665(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe237
leaq 0x1821(%rip), %rdi      # 0xfa53
callq 0x2790
movq 0x564a(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0xe281
movq 0x563b(%rip), %rax      # 0x13888
movsbl 0x1(%rax), %eax
cmpl $0x22, %eax
jne 0xe281
movq 0x562b(%rip), %rax      # 0x13888
movb (%rax), %dl
movslq -0x8(%rbp), %rcx
leaq 0x5e16(%rip), %rax      # 0x14080
movb %dl, (%rax,%rcx)
movq 0x5614(%rip), %rax      # 0x13888
addq $0x2, %rax
movq %rax, 0x5609(%rip)      # 0x13888
jmp 0xe2c9
movq 0x5600(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0xe2a4
movq 0x55f1(%rip), %rax      # 0x13888
addq $0x1, %rax
movq %rax, 0x55e6(%rip)      # 0x13888
jmp 0xe2d7
movq 0x55dd(%rip), %rax      # 0x13888
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x55cf(%rip)      # 0x13888
movb (%rax), %dl
movslq -0x8(%rbp), %rcx
leaq 0x5dba(%rip), %rax      # 0x14080
movb %dl, (%rax,%rcx)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xe1ec
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0xe2ec
leaq 0x177b(%rip), %rdi      # 0xfa62
callq 0x2790
movslq -0x8(%rbp), %rcx
leaq 0x5d89(%rip), %rax      # 0x14080
movb $0x0, (%rax,%rcx)
movl $0x3eb, -0x4(%rbp)      # imm = 0x3EB
jmp 0xe3d2
movq 0x557a(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x40, %eax
jne 0xe354
movq 0x556b(%rip), %rax      # 0x13888
movsbl 0x1(%rax), %eax
cmpl $0x40, %eax
jne 0xe354
leaq 0x5d53(%rip), %rdi      # 0x14080
leaq 0x173e(%rip), %rsi      # 0xfa72
callq 0x2040
movq 0x5548(%rip), %rax      # 0x13888
addq $0x2, %rax
movq %rax, 0x553d(%rip)      # 0x13888
movl $0x3ec, -0x4(%rbp)      # imm = 0x3EC
jmp 0xe3d2
movq 0x552d(%rip), %rax      # 0x13888
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0xe3a1
movq 0x551e(%rip), %rax      # 0x13888
movsbl 0x1(%rax), %eax
cmpl $0x2a, %eax
jne 0xe3a1
leaq 0x5d06(%rip), %rdi      # 0x14080
leaq 0x16f4(%rip), %rsi      # 0xfa75
callq 0x2040
movq 0x54fb(%rip), %rax      # 0x13888
addq $0x2, %rax
movq %rax, 0x54f0(%rip)      # 0x13888
movl $0x3ed, -0x4(%rbp)      # imm = 0x3ED
jmp 0xe3d2
movq 0x54e0(%rip), %rax      # 0x13888
movb (%rax), %al
movb %al, 0x5cd0(%rip)       # 0x14080
movb $0x0, 0x5cca(%rip)      # 0x14081
movq 0x54ca(%rip), %rax      # 0x13888
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x54bc(%rip)      # 0x13888
movsbl (%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq