// File: menhits[P]phplus/src/Lexer.cpp
// Function: CharClassifier::setUp()
void CharClassifier::setUp()
{
	hm[' ']=WHITESPACE;
	hm['\t']=WHITESPACE;
	
	hm['\n']=NEWLINE;
	hm[';']=LINE_BREAK;
	
	for (char c='a'; c<='z'; ++c)
		hm[c]=LETTER;
	
	for (char c='A'; c<='Z'; ++c)
		hm[c]=LETTER;
	
	hm['_']=LETTER;
	
	for (char c='0'; c<='9'; ++c)
		hm[c]=DIGIT;
	
	hm['#']=SINGLE_LINE_COMMENT;
	
	hm['"']=STRING_QUOTE;
	
	unordered_map<string, Operator>& opsMap=ops->getOpsMap();
	
	for (auto i=opsMap.begin(); i!=opsMap.end(); ++i)
	{
		string str=(*i).first;
		for (unsigned j=0; j<str.size(); j++)
		{
			hm[str[j]]=OPERATOR;
		}
	}
	
	hasSetUp=true;
}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x90(%rsp)
movq 0x90(%rsp), %rdi
movq %rdi, 0x28(%rsp)
movb $0x20, 0x8f(%rsp)
leaq 0x8f(%rsp), %rsi
callq 0x368b0
movq 0x28(%rsp), %rdi
movl $0x0, (%rax)
movb $0x9, 0x8e(%rsp)
leaq 0x8e(%rsp), %rsi
callq 0x368b0
movq 0x28(%rsp), %rdi
movl $0x0, (%rax)
movb $0xa, 0x8d(%rsp)
leaq 0x8d(%rsp), %rsi
callq 0x368b0
movq 0x28(%rsp), %rdi
movl $0x2, (%rax)
movb $0x3b, 0x8c(%rsp)
leaq 0x8c(%rsp), %rsi
callq 0x368b0
movl $0x1, (%rax)
movb $0x61, 0x8b(%rsp)
movsbl 0x8b(%rsp), %eax
cmpl $0x7a, %eax
jg 0x35976
movq 0x28(%rsp), %rdi
leaq 0x8b(%rsp), %rsi
callq 0x368e0
movl $0x3, (%rax)
movb 0x8b(%rsp), %al
addb $0x1, %al
movb %al, 0x8b(%rsp)
jmp 0x3593f
movb $0x41, 0x8a(%rsp)
movsbl 0x8a(%rsp), %eax
cmpl $0x5a, %eax
jg 0x359b5
movq 0x28(%rsp), %rdi
leaq 0x8a(%rsp), %rsi
callq 0x368e0
movl $0x3, (%rax)
movb 0x8a(%rsp), %al
addb $0x1, %al
movb %al, 0x8a(%rsp)
jmp 0x3597e
movq 0x28(%rsp), %rdi
movb $0x5f, 0x89(%rsp)
leaq 0x89(%rsp), %rsi
callq 0x368b0
movl $0x3, (%rax)
movb $0x30, 0x88(%rsp)
movsbl 0x88(%rsp), %eax
cmpl $0x39, %eax
jg 0x35a14
movq 0x28(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x368e0
movl $0x4, (%rax)
movb 0x88(%rsp), %al
addb $0x1, %al
movb %al, 0x88(%rsp)
jmp 0x359dd
movq 0x28(%rsp), %rdi
movb $0x23, 0x87(%rsp)
leaq 0x87(%rsp), %rsi
callq 0x368b0
movq 0x28(%rsp), %rdi
movl $0x7, (%rax)
movb $0x22, 0x86(%rsp)
leaq 0x86(%rsp), %rsi
callq 0x368b0
movl $0x6, (%rax)
leaq 0xe295d(%rip), %rax     # 0x1183b8
movq (%rax), %rdi
callq 0x36910
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rdi
callq 0x36930
movq %rax, 0x70(%rsp)
movq 0x78(%rsp), %rdi
callq 0xfc60
movq %rax, 0x68(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x36960
testb $0x1, %al
jne 0x35a9e
jmp 0x35b5f
leaq 0x70(%rsp), %rdi
callq 0x36980
movq %rax, %rsi
leaq 0x48(%rsp), %rdi
callq 0xb1a0
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
movq %rax, 0x20(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xb2a0
movq %rax, %rcx
movq 0x20(%rsp), %rax
cmpq %rcx, %rax
jae 0x35b46
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movl 0x44(%rsp), %eax
movl %eax, %esi
leaq 0x48(%rsp), %rdi
callq 0xb6d0
movq %rax, 0x18(%rsp)
jmp 0x35afe
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdi
callq 0x368e0
movq %rax, 0x8(%rsp)
jmp 0x35b14
movq 0x8(%rsp), %rax
movl $0x5, (%rax)
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
jmp 0x35abd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xb6e8
jmp 0x35b70
leaq 0x48(%rsp), %rdi
callq 0xb6e8
leaq 0x70(%rsp), %rdi
callq 0x369a0
jmp 0x35a77
movq 0x28(%rsp), %rax
movb $0x1, 0x38(%rax)
addq $0x98, %rsp
retq
movq 0x38(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)