// File: /workspace/github_cpp_makefile_star2_O1/RuiDGPires[P]CrimLang/src/tokenizer.cpp
// Function: Tracker::parse_symbol(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool Tracker::parse_symbol(std::string str){
	if (str.compare("*") == 0)
		this->current_token.type = crl::Token::Type::TIMES;
	else if (str.compare("+") == 0)
		this->current_token.type = crl::Token::Type::PLUS;
	else if (str.compare("++") == 0)
		this->current_token.type = crl::Token::Type::INC;
	else if (str.compare("-") == 0)
		this->current_token.type = crl::Token::Type::MINUS;
	else if (str.compare("--") == 0)
		this->current_token.type = crl::Token::Type::DECR;
	else if (str.compare("/") == 0)
		this->current_token.type = crl::Token::Type::SLASH;
	else if (str.compare(".") == 0)
		this->current_token.type = crl::Token::Type::DOT;
	else if (str.compare("(") == 0)
		this->current_token.type = crl::Token::Type::LPAREN;
	else if (str.compare(")") == 0)
		this->current_token.type = crl::Token::Type::RPAREN;
	else if (str.compare("{") == 0)
		this->current_token.type = crl::Token::Type::LBRACK;
	else if (str.compare("}") == 0)
		this->current_token.type = crl::Token::Type::RBRACK;
	else if (str.compare("[") == 0)
		this->current_token.type = crl::Token::Type::LSBR;
	else if (str.compare("]") == 0)
		this->current_token.type = crl::Token::Type::RSBR;
	else if (str.compare("$") == 0)
		this->current_token.type = crl::Token::Type::DOLLAR;
	else if (str.compare("&") == 0)
		this->current_token.type = crl::Token::Type::AND;
	else if (str.compare("&&") == 0)
		this->current_token.type = crl::Token::Type::LAND;
	else if (str.compare("|") == 0)
		this->current_token.type = crl::Token::Type::OR;
	else if (str.compare("||") == 0)
		this->current_token.type = crl::Token::Type::LOR;
	else if (str.compare(":") == 0)
		this->current_token.type = crl::Token::Type::CLN;
	else if (str.compare(";") == 0)
		this->current_token.type = crl::Token::Type::SEMICLN;
	else if (str.compare(",") == 0)
		this->current_token.type = crl::Token::Type::COMMA;
	else if (str.compare("=") == 0)
		this->current_token.type = crl::Token::Type::BECOMES;
	else if (str.compare("+=") == 0)
		this->current_token.type = crl::Token::Type::PLEQ;
	else if (str.compare("-=") == 0)
		this->current_token.type = crl::Token::Type::MIEQ;
	else if (str.compare("*=") == 0)
		this->current_token.type = crl::Token::Type::TIEQ;
	else if (str.compare("/=") == 0)
		this->current_token.type = crl::Token::Type::SLEQ;
	else if (str.compare("==") == 0)
		this->current_token.type = crl::Token::Type::EQL;
	else if (str.compare(">=") == 0)
		this->current_token.type = crl::Token::Type::GEQ;
	else if (str.compare("<=") == 0)
		this->current_token.type = crl::Token::Type::LEQ;
	else if (str.compare(">") == 0)
		this->current_token.type = crl::Token::Type::GTR;
	else if (str.compare("<") == 0)
		this->current_token.type = crl::Token::Type::LSS;
	else if (str.compare("!=") == 0)
		this->current_token.type = crl::Token::Type::NEQ;
	else if (str.compare("//") == 0){
		this->current_token.type = crl::Token::Type::NONE;
		this->current_token.str = ""; 
		this->state = PState::COMMENT;
	}
	else return 0;

	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x2973(%rip), %rsi      # 0x1bdc4
movq %r14, %rdi
callq 0x30a0
movl $0x20, %r15d
testl %eax, %eax
je 0x1974e
leaq 0x2959(%rip), %rsi      # 0x1bdc7
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19758
leaq 0x2941(%rip), %rsi      # 0x1bdc6
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19762
leaq 0x292e(%rip), %rsi      # 0x1bdca
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1976c
leaq 0x2916(%rip), %rsi      # 0x1bdc9
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19776
leaq 0x2931(%rip), %rsi      # 0x1bdfb
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19780
leaq 0x28eb(%rip), %rsi      # 0x1bdcc
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1978a
leaq 0x1c5d(%rip), %rsi      # 0x1b155
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19794
leaq 0x288a(%rip), %rsi      # 0x1bd99
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1979e
leaq 0x28a8(%rip), %rsi      # 0x1bdce
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197a8
leaq 0x2893(%rip), %rsi      # 0x1bdd0
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197b2
leaq 0x1e6a(%rip), %rsi      # 0x1b3be
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197bc
leaq 0x2830(%rip), %rsi      # 0x1bd9b
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197c6
leaq 0x2850(%rip), %rsi      # 0x1bdd2
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197d0
leaq 0x283c(%rip), %rsi      # 0x1bdd5
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197da
leaq 0x2824(%rip), %rsi      # 0x1bdd4
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197e4
leaq 0x2811(%rip), %rsi      # 0x1bdd8
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197ee
leaq 0x27f9(%rip), %rsi      # 0x1bdd7
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x197f8
leaq 0x27e5(%rip), %rsi      # 0x1bdda
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19802
leaq 0x27d0(%rip), %rsi      # 0x1bddc
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19809
leaq 0x27bb(%rip), %rsi      # 0x1bdde
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19810
leaq 0x27be(%rip), %rsi      # 0x1bdf8
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19817
leaq 0x278f(%rip), %rsi      # 0x1bde0
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1981e
leaq 0x277b(%rip), %rsi      # 0x1bde3
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19825
leaq 0x2767(%rip), %rsi      # 0x1bde6
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1982c
leaq 0x2753(%rip), %rsi      # 0x1bde9
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19833
leaq 0x273f(%rip), %rsi      # 0x1bdec
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1983a
leaq 0x272b(%rip), %rsi      # 0x1bdef
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19841
leaq 0x2717(%rip), %rsi      # 0x1bdf2
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19848
leaq 0x2732(%rip), %rsi      # 0x1be24
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1984f
leaq 0x26ec(%rip), %rsi      # 0x1bdf5
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19856
leaq 0x26d7(%rip), %rsi      # 0x1bdf7
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x1985d
leaq 0x26c3(%rip), %rsi      # 0x1bdfa
movq %r14, %rdi
callq 0x30a0
testl %eax, %eax
je 0x19864
xorl %eax, %eax
jmp 0x1988b
movl $0x15, %eax
jmp 0x19885
movl $0x16, %eax
jmp 0x19885
movl $0x18, %eax
jmp 0x19885
movl $0x17, %eax
jmp 0x19885
movl $0x19, %eax
jmp 0x19885
movl $0x1a, %eax
jmp 0x19885
movl $0x1d, %eax
jmp 0x19885
movl $0x20, %eax
jmp 0x19885
movl $0x21, %eax
jmp 0x19885
movl $0x24, %eax
jmp 0x19885
movl $0x25, %eax
jmp 0x19885
movl $0x22, %eax
jmp 0x19885
movl $0x23, %eax
jmp 0x19885
movl $0x26, %eax
jmp 0x19885
movl $0x1e, %eax
jmp 0x19885
movl $0x36, %eax
jmp 0x19885
movl $0x1f, %eax
jmp 0x19885
movl $0x35, %eax
jmp 0x19885
movl $0x27, %eax
jmp 0x19885
movl $0x28, %eax
jmp 0x19885
movl $0x29, %eax
jmp 0x19885
movl $0x2a, %eax
jmp 0x19885
movl $0x2b, %eax
jmp 0x19885
movl $0x2c, %eax
jmp 0x19885
movl $0x2d, %eax
jmp 0x19885
movl $0x2e, %eax
jmp 0x19885
movl $0x2f, %eax
jmp 0x19885
movl $0x30, %eax
jmp 0x19885
movl $0x31, %eax
jmp 0x19885
movl $0x32, %eax
jmp 0x19885
movl $0x33, %eax
jmp 0x19885
movl $0x34, %eax
jmp 0x19885
movl $0x0, 0x20(%rbx)
leaq 0x1c72(%rip), %rsi      # 0x1b4e4
movq %rbx, %rdi
callq 0x32e0
movl $0x6, %eax
movl $0x38, %r15d
movl %eax, (%rbx,%r15)
movb $0x1, %al
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq