// File: /workspace/github_cpp_makefile_star2_O3/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 $0x2f8, %rsp            # imm = 0x2F8
movq %rsi, %r12
movq %rdi, %r15
movb 0x3a285(%rip), %al      # 0x47708
testb %al, %al
movq %rsi, 0x8(%rsp)
je 0xd5b1
movl 0x8(%r12), %eax
movl %eax, 0x8(%r15)
movq 0x3a250(%rip), %rbx     # 0x476f0
movq 0x3a251(%rip), %r14     # 0x476f8
cmpq %r14, %rbx
je 0xd56f
movq %r15, 0x10(%rsp)
leaq 0x48(%rsp), %rbp
leaq 0x28(%rsp), %r15
movq %rbp, 0x38(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
leaq 0x38(%rsp), %rdi
callq 0xbd58
movq %r15, 0x18(%rsp)
movq 0x10(%r12), %rsi
movq 0x18(%r12), %rdx
addq %rsi, %rdx
leaq 0x18(%rsp), %rdi
callq 0xbd58
movq 0x20(%rsp), %rdx
cmpq 0x40(%rsp), %rdx
jne 0xd51f
movq 0x18(%rsp), %r13
testq %rdx, %rdx
je 0xd529
movq 0x38(%rsp), %rsi
movq %r13, %rdi
callq 0x72e0
testl %eax, %eax
sete %r12b
jmp 0xd52c
movq 0x18(%rsp), %r13
xorl %r12d, %r12d
jmp 0xd52c
movb $0x1, %r12b
cmpq %r15, %r13
je 0xd541
movq 0x28(%rsp), %rsi
incq %rsi
movq %r13, %rdi
callq 0x72c0
testb %r12b, %r12b
jne 0xd573
movq 0x38(%rsp), %rdi
cmpq %rbp, %rdi
je 0xd55d
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x72c0
addq $0x20, %rbx
cmpq %r14, %rbx
movq 0x8(%rsp), %r12
jne 0xd4bf
xorl %eax, %eax
jmp 0xd59f
movq 0x10(%rsp), %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x71a0
movq 0x38(%rsp), %rdi
cmpq %rbp, %rdi
je 0xd59d
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x72c0
movb $0x1, %al
addq $0x2f8, %rsp            # imm = 0x2F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3a150(%rip), %rdi     # 0x47708
callq 0x7510
testl %eax, %eax
je 0xd490
movq %r15, %r13
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27ffa(%rip), %rsi     # 0x355d2
leaq 0x27ff4(%rip), %rdx     # 0x355d3
leaq 0x38(%rsp), %r15
movq %r15, %rdi
callq 0xbdee
leaq 0x58(%rsp), %r12
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27fd3(%rip), %rsi     # 0x355d4
leaq 0x27fcd(%rip), %rdx     # 0x355d5
movq %r12, %rdi
callq 0xbdee
leaq 0x78(%rsp), %r12
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27fae(%rip), %rsi     # 0x355d6
leaq 0x27fa8(%rip), %rdx     # 0x355d7
movq %r12, %rdi
callq 0xbdee
leaq 0x98(%rsp), %r12
leaq 0xa8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27f86(%rip), %rsi     # 0x355d8
leaq 0x27f80(%rip), %rdx     # 0x355d9
movq %r12, %rdi
callq 0xbdee
leaq 0xb8(%rsp), %r12
leaq 0xc8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27f5e(%rip), %rsi     # 0x355da
leaq 0x27f58(%rip), %rdx     # 0x355db
movq %r12, %rdi
callq 0xbdee
leaq 0xd8(%rsp), %r12
leaq 0xe8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27f4c(%rip), %rsi     # 0x355f2
leaq 0x27f46(%rip), %rdx     # 0x355f3
movq %r12, %rdi
callq 0xbdee
leaq 0xf8(%rsp), %r12
leaq 0x108(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27f16(%rip), %rsi     # 0x355e6
leaq 0x27f10(%rip), %rdx     # 0x355e7
movq %r12, %rdi
callq 0xbdee
leaq 0x118(%rsp), %r12
leaq 0x128(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27ee9(%rip), %rsi     # 0x355e3
leaq 0x27ee3(%rip), %rdx     # 0x355e4
movq %r12, %rdi
callq 0xbdee
leaq 0x138(%rsp), %r12
leaq 0x148(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27eb8(%rip), %rsi     # 0x355dc
leaq 0x27eb2(%rip), %rdx     # 0x355dd
movq %r12, %rdi
callq 0xbdee
leaq 0x158(%rsp), %r12
leaq 0x168(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27e90(%rip), %rsi     # 0x355de
leaq 0x27e8a(%rip), %rdx     # 0x355df
movq %r12, %rdi
callq 0xbdee
leaq 0x178(%rsp), %r12
leaq 0x188(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27e68(%rip), %rsi     # 0x355e0
leaq 0x27e62(%rip), %rdx     # 0x355e1
movq %r12, %rdi
callq 0xbdee
leaq 0x198(%rsp), %r12
leaq 0x1a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27e40(%rip), %rsi     # 0x355e2
leaq 0x27e3b(%rip), %rdx     # 0x355e4
movq %r12, %rdi
callq 0xbdee
leaq 0x1b8(%rsp), %r12
leaq 0x1c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27e19(%rip), %rsi     # 0x355e5
leaq 0x27e14(%rip), %rdx     # 0x355e7
movq %r12, %rdi
callq 0xbdee
leaq 0x1d8(%rsp), %r12
leaq 0x1e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27e01(%rip), %rsi     # 0x355f7
leaq 0x27dfb(%rip), %rdx     # 0x355f8
movq %r12, %rdi
callq 0xbdee
leaq 0x1f8(%rsp), %r12
leaq 0x208(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27dc8(%rip), %rsi     # 0x355e8
leaq 0x27dc3(%rip), %rdx     # 0x355ea
movq %r12, %rdi
callq 0xbdee
leaq 0x218(%rsp), %r12
leaq 0x228(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27db0(%rip), %rsi     # 0x355fa
leaq 0x27daa(%rip), %rdx     # 0x355fb
movq %r12, %rdi
callq 0xbdee
leaq 0x238(%rsp), %r12
leaq 0x248(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27d77(%rip), %rsi     # 0x355eb
leaq 0x27d72(%rip), %rdx     # 0x355ed
movq %r12, %rdi
callq 0xbdee
leaq 0x258(%rsp), %r12
leaq 0x268(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27d50(%rip), %rsi     # 0x355ee
leaq 0x27d4b(%rip), %rdx     # 0x355f0
movq %r12, %rdi
callq 0xbdee
leaq 0x278(%rsp), %r12
leaq 0x288(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27d29(%rip), %rsi     # 0x355f1
leaq 0x27d24(%rip), %rdx     # 0x355f3
movq %r12, %rdi
callq 0xbdee
leaq 0x298(%rsp), %r12
leaq 0x2a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27d02(%rip), %rsi     # 0x355f4
leaq 0x27cfc(%rip), %rdx     # 0x355f5
movq %r12, %rdi
callq 0xbdee
leaq 0x2b8(%rsp), %r12
leaq 0x2c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x27cda(%rip), %rsi     # 0x355f6
leaq 0x27cd5(%rip), %rdx     # 0x355f8
movq %r12, %rdi
callq 0xbdee
leaq 0x2d8(%rsp), %r12
leaq 0x2e8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x27cb3(%rip), %rsi     # 0x355f9
leaq 0x27cae(%rip), %rdx     # 0x355fb
movq %r12, %rdi
callq 0xbdee
leaq 0x39d94(%rip), %rdi     # 0x476f0
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rcx
movl $0x16, %edx
callq 0x217be
movq $-0x2c0, %r14           # imm = 0xFD40
movq -0x10(%rbx), %rdi
cmpq %rdi, %rbx
je 0xd98b
movq (%rbx), %rsi
incq %rsi
callq 0x72c0
addq $-0x20, %rbx
addq $0x20, %r14
jne 0xd977
leaq 0x13e6a(%rip), %rdi     # 0x21806
leaq 0x39d4d(%rip), %rsi     # 0x476f0
leaq 0x3991e(%rip), %rdx     # 0x472c8
callq 0x7270
leaq 0x39d52(%rip), %rdi     # 0x47708
callq 0x71e0
movq %r13, %r15
movq 0x8(%rsp), %r12
jmp 0xd490
movq %rax, %rbx
leaq 0x2f8(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x75e5
jmp 0xda35
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
jmp 0xda07
movq %rax, %rbx
addq $-0x10, %r12
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0xda24
movq (%r12), %rsi
incq %rsi
callq 0x72c0
leaq -0x20(%r12), %rax
addq $-0x10, %r12
cmpq %r15, %r12
movq %rax, %r12
jne 0xda0e
leaq 0x39ccc(%rip), %rdi     # 0x47708
callq 0x71d0
jmp 0xda64
movq %rax, %rbx
jmp 0xda35
jmp 0xda4a
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %rbp, %rdi
je 0xda64
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rbx, %rdi
callq 0x74f0