// File: /workspace/github_cpp_makefile_star2_O2/rfotino[P]consolite-compiler/src/syntax.cpp
// Function: OperatorToken::parse(AtomToken const&)
bool OperatorToken::parse(const AtomToken& token) {
  static std::vector<std::string> validOps = { "+", "-", "*", "/", "%", "=",
                                               "&", "|", "^", "~", "!", "||",
                                               "&&", "<", "<=", ">", ">=",
                                               "==", "!=", "[", "<<", ">>"  };
  _lineNum = token.line();
  for (auto op : validOps) {
    if (token.str() == op) {
      _op = op;
      return true;
    }
  }
  return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x308, %rsp            # imm = 0x308
movq %rsi, %r12
movq %rdi, %rbx
movb 0x33ee7(%rip), %al      # 0x3f728
testb %al, %al
je 0xb8ea
movl 0x8(%r12), %eax
movq %rbx, 0x20(%rsp)
movl %eax, 0x8(%rbx)
movq 0x33eb3(%rip), %rbx     # 0x3f710
movq 0x33eb4(%rip), %r15     # 0x3f718
addq $0x10, %r12
leaq 0x48(%rsp), %r14
leaq 0x28(%rsp), %r13
cmpq %r15, %rbx
je 0xb8d2
movq %r14, %rdi
movq %rbx, %rsi
callq 0x73e0
movq %r13, %rdi
movq %r12, %rsi
callq 0x73e0
movq %r13, %rdi
movq %r14, %rsi
callq 0xb1d0
movl %eax, %ebp
movq %r13, %rdi
callq 0x75c8
testb %bpl, %bpl
jne 0xb8b5
movq %r14, %rdi
callq 0x75c8
addq $0x20, %rbx
jmp 0xb872
movq 0x20(%rsp), %rdi
addq $0x10, %rdi
leaq 0x48(%rsp), %rsi
callq 0x71c0
leaq 0x48(%rsp), %rdi
callq 0x75c8
cmpq %r15, %rbx
setne %al
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x33e37(%rip), %rdi     # 0x3f728
callq 0x7530
testl %eax, %eax
je 0xb849
movq %rbx, %r15
leaq 0x1dcca(%rip), %rsi     # 0x295d2
leaq 0x48(%rsp), %rbx
leaq 0x28(%rsp), %rdx
movq %rbx, %rdi
callq 0x9502
leaq 0x68(%rsp), %r14
leaq 0x1dcae(%rip), %rsi     # 0x295d4
leaq 0x1f(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x88(%rsp), %r14
leaq 0x1dc94(%rip), %rsi     # 0x295d6
leaq 0x1e(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0xa8(%rsp), %r14
leaq 0x1dc7a(%rip), %rsi     # 0x295d8
leaq 0x1d(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0xc8(%rsp), %r14
leaq 0x1dc60(%rip), %rsi     # 0x295da
leaq 0x1c(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0xe8(%rsp), %r14
leaq 0x1dc5c(%rip), %rsi     # 0x295f2
leaq 0x1b(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x108(%rsp), %r14
leaq 0x1dc34(%rip), %rsi     # 0x295e6
leaq 0x1a(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x128(%rsp), %r14
leaq 0x1dc15(%rip), %rsi     # 0x295e3
leaq 0x19(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x148(%rsp), %r14
leaq 0x1dbf2(%rip), %rsi     # 0x295dc
leaq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x168(%rsp), %r14
leaq 0x1dbd8(%rip), %rsi     # 0x295de
leaq 0x17(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x188(%rsp), %r14
leaq 0x1dbbe(%rip), %rsi     # 0x295e0
leaq 0x16(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x1a8(%rsp), %r14
leaq 0x1dba4(%rip), %rsi     # 0x295e2
leaq 0x15(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x1c8(%rsp), %r14
leaq 0x1db8b(%rip), %rsi     # 0x295e5
leaq 0x14(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x1e8(%rsp), %r14
leaq 0x1db81(%rip), %rsi     # 0x295f7
leaq 0x13(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x208(%rsp), %r14
leaq 0x1db56(%rip), %rsi     # 0x295e8
leaq 0x12(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x228(%rsp), %r14
leaq 0x1db4c(%rip), %rsi     # 0x295fa
leaq 0x11(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x248(%rsp), %r14
leaq 0x1db21(%rip), %rsi     # 0x295eb
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x268(%rsp), %r14
leaq 0x1db08(%rip), %rsi     # 0x295ee
leaq 0xf(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x288(%rsp), %r14
leaq 0x1daef(%rip), %rsi     # 0x295f1
leaq 0xe(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x2a8(%rsp), %r14
leaq 0x1dad6(%rip), %rsi     # 0x295f4
leaq 0xd(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x2c8(%rsp), %r14
leaq 0x1dabc(%rip), %rsi     # 0x295f6
leaq 0xc(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x2e8(%rsp), %r14
leaq 0x1daa3(%rip), %rsi     # 0x295f9
leaq 0xb(%rsp), %rdx
movq %r14, %rdi
callq 0x9502
leaq 0x33ba6(%rip), %rdi     # 0x3f710
leaq 0x48(%rsp), %rsi
pushq $0x16
popq %rdx
leaq 0xa(%rsp), %rcx
callq 0x182d4
movl $0x2a0, %ebx            # imm = 0x2A0
leaq (%rsp,%rbx), %rdi
addq $0x48, %rdi
callq 0x75c8
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0xbb81
leaq 0xc76f(%rip), %rdi      # 0x1830e
leaq 0x33b6a(%rip), %rsi     # 0x3f710
leaq 0x3373b(%rip), %rdx     # 0x3f2e8
callq 0x7270
leaq 0x33b6f(%rip), %rdi     # 0x3f728
callq 0x7200
movq %r15, %rbx
jmp 0xb849
movq %rax, %r15
movl $0x2a0, %r12d           # imm = 0x2A0
leaq (%rsp,%r12), %rdi
addq $0x48, %rdi
callq 0x75c8
addq $-0x20, %r12
cmpq $-0x20, %r12
jne 0xbbcf
movb $0x1, %al
jmp 0xbc17
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
jmp 0xbc12
movq %rax, %r15
xorl %eax, %eax
cmpq %r14, %rbx
sete %cl
testb %al, %al
jne 0xbc36
testb %cl, %cl
jne 0xbc36
addq $-0x20, %r14
movq %r14, %rdi
callq 0x75c8
cmpq %rbx, %r14
jne 0xbc25
leaq 0x33aeb(%rip), %rdi     # 0x3f728
callq 0x71f0
jmp 0xbc58
movq %rax, %r15
jmp 0xbc36
jmp 0xbc4b
movq %rax, %r15
leaq 0x48(%rsp), %rdi
callq 0x75c8
movq %r15, %rdi
callq 0x7510