// File: lishen2[P]Excel_formula_parser_cpp/Token.cpp
// Function: ExcelFormula::Token::getPrintableString[abi:cxx11]()
const string Token::getPrintableString()
	{
		string printableStr = m_value + " ";

		switch(m_type)
		{
			case Operand:
				printableStr += "<Operand>";
				break;
			case Function:
				printableStr += "<Function>";
				break;
			case Subexpression:
				printableStr += "<Subexpression>";
				break;
			case Argument:
				printableStr += "<Argument>";
				break;
			case OperatorPrefix:
				printableStr += "<OperatorPrefix>";
				break;
			case OperatorInfix:
				printableStr += "<OperatorInfix>";
				break;
			case OperatorPostfix:
				printableStr += "<OperatorPostfix>";
				break;
			case Whitespace:
				printableStr += "<Whitespace>";
				break;
			case Unknown:
				printableStr += "<Unknown>";
				break;
		}//token type switch

		printableStr += " ";

		switch(m_subtype)
		{
			case Nothing:
				printableStr += "<Nothing>";
				break;
			case Start:
				printableStr += "<Start>";
				break;
			case Stop:
				printableStr += "<Stop>";
				break;
			case Text:
				printableStr += "<Text>";
				break;
			case Number:
				printableStr += "<Number>";
				break;
			case Logical:
				printableStr += "<Logical>";
				break;
			case Error:
				printableStr += "<Error>";
				break;
			case Range:
				printableStr += "<Range>";
				break;
			case Math:
				printableStr += "<Math>";
				break;
			case Concatenation:
				printableStr += "<Concatenation>";
				break;
			case Intersection:
				printableStr += "<Intersection>";
				break;
			case Union:
				printableStr += "<Union>";
				break;
		}//token subtype switch
		return printableStr;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x38(%rbp)
movb $0x0, -0x11(%rbp)
leaq 0x30c6(%rip), %rdx      # 0xa1a4
callq 0x74f0
movq -0x38(%rbp), %rax
movl 0x20(%rax), %eax
movq %rax, -0x30(%rbp)
subq $0x8, %rax
ja 0x71e0
movq -0x30(%rbp), %rax
leaq 0x304d(%rip), %rcx      # 0xa150
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x48(%rbp), %rdi
leaq 0x308f(%rip), %rsi      # 0xa1a6
callq 0x21f0
jmp 0x711e
jmp 0x71e0
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x23a8
jmp 0x7337
movq -0x48(%rbp), %rdi
leaq 0x3068(%rip), %rsi      # 0xa1b0
callq 0x21f0
jmp 0x714f
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x305c(%rip), %rsi      # 0xa1bb
callq 0x21f0
jmp 0x7166
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x3058(%rip), %rsi      # 0xa1cb
callq 0x21f0
jmp 0x717a
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x304f(%rip), %rsi      # 0xa1d6
callq 0x21f0
jmp 0x718e
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x304c(%rip), %rsi      # 0xa1e7
callq 0x21f0
jmp 0x71a2
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x3048(%rip), %rsi      # 0xa1f7
callq 0x21f0
jmp 0x71b6
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x3046(%rip), %rsi      # 0xa209
callq 0x21f0
jmp 0x71ca
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x303f(%rip), %rsi      # 0xa216
callq 0x21f0
jmp 0x71de
jmp 0x71e0
movq -0x48(%rbp), %rdi
leaq 0x2fb9(%rip), %rsi      # 0xa1a4
callq 0x21f0
jmp 0x71f2
movq -0x38(%rbp), %rax
movl 0x24(%rax), %eax
movq %rax, -0x50(%rbp)
subq $0xb, %rax
ja 0x731a
movq -0x50(%rbp), %rax
leaq 0x2f62(%rip), %rcx      # 0xa174
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x48(%rbp), %rdi
leaq 0x2ffa(%rip), %rsi      # 0xa220
callq 0x21f0
jmp 0x722d
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2fed(%rip), %rsi      # 0xa22a
callq 0x21f0
jmp 0x7244
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2fde(%rip), %rsi      # 0xa232
callq 0x21f0
jmp 0x725b
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2fce(%rip), %rsi      # 0xa239
callq 0x21f0
jmp 0x7272
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2fbe(%rip), %rsi      # 0xa240
callq 0x21f0
jmp 0x7289
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2fb0(%rip), %rsi      # 0xa249
callq 0x21f0
jmp 0x72a0
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2fa6(%rip), %rsi      # 0xa253
callq 0x21f0
jmp 0x72b4
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2f9a(%rip), %rsi      # 0xa25b
callq 0x21f0
jmp 0x72c8
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2f8e(%rip), %rsi      # 0xa263
callq 0x21f0
jmp 0x72dc
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2f81(%rip), %rsi      # 0xa26a
callq 0x21f0
jmp 0x72f0
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2f7d(%rip), %rsi      # 0xa27a
callq 0x21f0
jmp 0x7304
jmp 0x731a
movq -0x48(%rbp), %rdi
leaq 0x2f78(%rip), %rsi      # 0xa289
callq 0x21f0
jmp 0x7318
jmp 0x731a
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x732d
movq -0x48(%rbp), %rdi
callq 0x23a8
movq -0x40(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x2320