// File: 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
movq %rsp, %rbp
subq $0x540, %rsp            # imm = 0x540
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x388(%rbp)
cmpb $0x0, 0x880e3(%rip)     # 0x9e868
jne 0x16f49
leaq 0x880d6(%rip), %rdi     # 0x9e868
callq 0x8790
cmpl $0x0, %eax
je 0x16f49
movb $0x1, -0x31a(%rbp)
leaq -0x2e8(%rbp), %rax
movq %rax, -0x398(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x2f1(%rbp), %rdi
movq %rdi, -0x390(%rbp)
callq 0x8760
movq -0x398(%rbp), %rdi
movq -0x390(%rbp), %rdx
leaq 0x58e7e(%rip), %rsi     # 0x6f662
callq 0xced0
jmp 0x167eb
leaq -0x2c8(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x305(%rbp), %rdi
movq %rdi, -0x3a0(%rbp)
callq 0x8760
movq -0x3a8(%rbp), %rdi
movq -0x3a0(%rbp), %rdx
leaq 0x58e3c(%rip), %rsi     # 0x6f664
callq 0xced0
jmp 0x1682f
leaq -0x2a8(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x306(%rbp), %rdi
movq %rdi, -0x3b0(%rbp)
callq 0x8760
movq -0x3b8(%rbp), %rdi
movq -0x3b0(%rbp), %rdx
leaq 0x58dfa(%rip), %rsi     # 0x6f666
callq 0xced0
jmp 0x16873
leaq -0x288(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x307(%rbp), %rdi
movq %rdi, -0x3c0(%rbp)
callq 0x8760
movq -0x3c8(%rbp), %rdi
movq -0x3c0(%rbp), %rdx
leaq 0x58db8(%rip), %rsi     # 0x6f668
callq 0xced0
jmp 0x168b7
leaq -0x268(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x308(%rbp), %rdi
movq %rdi, -0x3d0(%rbp)
callq 0x8760
movq -0x3d8(%rbp), %rdi
movq -0x3d0(%rbp), %rdx
leaq 0x58d76(%rip), %rsi     # 0x6f66a
callq 0xced0
jmp 0x168fb
leaq -0x248(%rbp), %rax
movq %rax, -0x3e8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x309(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0x8760
movq -0x3e8(%rbp), %rdi
movq -0x3e0(%rbp), %rdx
leaq 0x58d4a(%rip), %rsi     # 0x6f682
callq 0xced0
jmp 0x1693f
leaq -0x228(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x30a(%rbp), %rdi
movq %rdi, -0x3f0(%rbp)
callq 0x8760
movq -0x3f8(%rbp), %rdi
movq -0x3f0(%rbp), %rdx
leaq 0x58cfa(%rip), %rsi     # 0x6f676
callq 0xced0
jmp 0x16983
leaq -0x208(%rbp), %rax
movq %rax, -0x408(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x30b(%rbp), %rdi
movq %rdi, -0x400(%rbp)
callq 0x8760
movq -0x408(%rbp), %rdi
movq -0x400(%rbp), %rdx
leaq 0x58cb3(%rip), %rsi     # 0x6f673
callq 0xced0
jmp 0x169c7
leaq -0x1e8(%rbp), %rax
movq %rax, -0x418(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x30c(%rbp), %rdi
movq %rdi, -0x410(%rbp)
callq 0x8760
movq -0x418(%rbp), %rdi
movq -0x410(%rbp), %rdx
leaq 0x58c68(%rip), %rsi     # 0x6f66c
callq 0xced0
jmp 0x16a0b
leaq -0x1c8(%rbp), %rax
movq %rax, -0x428(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x30d(%rbp), %rdi
movq %rdi, -0x420(%rbp)
callq 0x8760
movq -0x428(%rbp), %rdi
movq -0x420(%rbp), %rdx
leaq 0x58c26(%rip), %rsi     # 0x6f66e
callq 0xced0
jmp 0x16a4f
leaq -0x1a8(%rbp), %rax
movq %rax, -0x438(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x30e(%rbp), %rdi
movq %rdi, -0x430(%rbp)
callq 0x8760
movq -0x438(%rbp), %rdi
movq -0x430(%rbp), %rdx
leaq 0x58be4(%rip), %rsi     # 0x6f670
callq 0xced0
jmp 0x16a93
leaq -0x188(%rbp), %rax
movq %rax, -0x448(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x30f(%rbp), %rdi
movq %rdi, -0x440(%rbp)
callq 0x8760
movq -0x448(%rbp), %rdi
movq -0x440(%rbp), %rdx
leaq 0x58ba2(%rip), %rsi     # 0x6f672
callq 0xced0
jmp 0x16ad7
leaq -0x168(%rbp), %rax
movq %rax, -0x458(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x310(%rbp), %rdi
movq %rdi, -0x450(%rbp)
callq 0x8760
movq -0x458(%rbp), %rdi
movq -0x450(%rbp), %rdx
leaq 0x58b61(%rip), %rsi     # 0x6f675
callq 0xced0
jmp 0x16b1b
leaq -0x148(%rbp), %rax
movq %rax, -0x468(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x311(%rbp), %rdi
movq %rdi, -0x460(%rbp)
callq 0x8760
movq -0x468(%rbp), %rdi
movq -0x460(%rbp), %rdx
leaq 0x58b2f(%rip), %rsi     # 0x6f687
callq 0xced0
jmp 0x16b5f
leaq -0x128(%rbp), %rax
movq %rax, -0x478(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x312(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x8760
movq -0x478(%rbp), %rdi
movq -0x470(%rbp), %rdx
leaq 0x58adc(%rip), %rsi     # 0x6f678
callq 0xced0
jmp 0x16ba3
leaq -0x108(%rbp), %rax
movq %rax, -0x488(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x313(%rbp), %rdi
movq %rdi, -0x480(%rbp)
callq 0x8760
movq -0x488(%rbp), %rdi
movq -0x480(%rbp), %rdx
leaq 0x58aaa(%rip), %rsi     # 0x6f68a
callq 0xced0
jmp 0x16be7
leaq -0xe8(%rbp), %rax
movq %rax, -0x498(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x314(%rbp), %rdi
movq %rdi, -0x490(%rbp)
callq 0x8760
movq -0x498(%rbp), %rdi
movq -0x490(%rbp), %rdx
leaq 0x58a57(%rip), %rsi     # 0x6f67b
callq 0xced0
jmp 0x16c2b
leaq -0xc8(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x315(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x8760
movq -0x4a8(%rbp), %rdi
movq -0x4a0(%rbp), %rdx
leaq 0x58a16(%rip), %rsi     # 0x6f67e
callq 0xced0
jmp 0x16c6f
leaq -0xa8(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x316(%rbp), %rdi
movq %rdi, -0x4b0(%rbp)
callq 0x8760
movq -0x4b8(%rbp), %rdi
movq -0x4b0(%rbp), %rdx
leaq 0x589d5(%rip), %rsi     # 0x6f681
callq 0xced0
jmp 0x16cb3
leaq -0x88(%rbp), %rax
movq %rax, -0x4c8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x317(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x8760
movq -0x4c8(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
leaq 0x58994(%rip), %rsi     # 0x6f684
callq 0xced0
jmp 0x16cf7
leaq -0x68(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x318(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x8760
movq -0x4d8(%rbp), %rdi
movq -0x4d0(%rbp), %rdx
leaq 0x58955(%rip), %rsi     # 0x6f686
callq 0xced0
jmp 0x16d38
leaq -0x48(%rbp), %rax
movq %rax, -0x4e8(%rbp)
movq %rax, -0x2f0(%rbp)
leaq -0x319(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x8760
movq -0x4e8(%rbp), %rdi
movq -0x4e0(%rbp), %rdx
leaq 0x58917(%rip), %rsi     # 0x6f689
callq 0xced0
jmp 0x16d79
movb $0x0, -0x31a(%rbp)
leaq -0x2e8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x16, -0x20(%rbp)
leaq -0x31b(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0xf510
movq -0x4f0(%rbp), %rcx
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq 0x87a94(%rip), %rdi     # 0x9e850
callq 0x323b0
jmp 0x16dc3
leaq -0x31b(%rbp), %rdi
callq 0xfb90
leaq -0x2e8(%rbp), %rax
movq %rax, -0x500(%rbp)
addq $0x2c0, %rax            # imm = 0x2C0
movq %rax, -0x4f8(%rbp)
movq -0x4f8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x508(%rbp)
callq 0x8848
movq -0x500(%rbp), %rcx
movq -0x508(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x4f8(%rbp)
jne 0x16dea
leaq -0x319(%rbp), %rdi
callq 0x8460
leaq -0x318(%rbp), %rdi
callq 0x8460
leaq -0x317(%rbp), %rdi
callq 0x8460
leaq -0x316(%rbp), %rdi
callq 0x8460
leaq -0x315(%rbp), %rdi
callq 0x8460
leaq -0x314(%rbp), %rdi
callq 0x8460
leaq -0x313(%rbp), %rdi
callq 0x8460
leaq -0x312(%rbp), %rdi
callq 0x8460
leaq -0x311(%rbp), %rdi
callq 0x8460
leaq -0x310(%rbp), %rdi
callq 0x8460
leaq -0x30f(%rbp), %rdi
callq 0x8460
leaq -0x30e(%rbp), %rdi
callq 0x8460
leaq -0x30d(%rbp), %rdi
callq 0x8460
leaq -0x30c(%rbp), %rdi
callq 0x8460
leaq -0x30b(%rbp), %rdi
callq 0x8460
leaq -0x30a(%rbp), %rdi
callq 0x8460
leaq -0x309(%rbp), %rdi
callq 0x8460
leaq -0x308(%rbp), %rdi
callq 0x8460
leaq -0x307(%rbp), %rdi
callq 0x8460
leaq -0x306(%rbp), %rdi
callq 0x8460
leaq -0x305(%rbp), %rdi
callq 0x8460
leaq -0x2f1(%rbp), %rdi
callq 0x8460
leaq 0x1b506(%rip), %rdi     # 0x32430
leaq 0x8791f(%rip), %rsi     # 0x9e850
leaq 0x874f0(%rip), %rdx     # 0x9e428
callq 0x8380
leaq 0x87924(%rip), %rdi     # 0x9e868
callq 0x82d0
movq -0x18(%rbp), %rdi
callq 0x32270
movl %eax, %ecx
movq -0x388(%rbp), %rax
movl %ecx, 0x8(%rax)
leaq 0x878eb(%rip), %rax     # 0x9e850
movq %rax, -0x328(%rbp)
leaq 0x878dd(%rip), %rdi     # 0x9e850
callq 0x32490
movq %rax, -0x330(%rbp)
leaq 0x878ca(%rip), %rdi     # 0x9e850
callq 0x324c0
movq %rax, -0x338(%rbp)
leaq -0x330(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x324f0
testb $0x1, %al
jne 0x16fae
jmp 0x17463
leaq -0x330(%rbp), %rdi
callq 0x32530
movq %rax, %rsi
leaq -0x358(%rbp), %rdi
callq 0x81b0
movq -0x18(%rbp), %rsi
leaq -0x378(%rbp), %rdi
callq 0xd5c0
jmp 0x16fdb
leaq -0x378(%rbp), %rdi
leaq -0x358(%rbp), %rsi
callq 0x154d0
movb %al, -0x509(%rbp)
leaq -0x378(%rbp), %rdi
callq 0x8848
movb -0x509(%rbp), %al
testb $0x1, %al
jne 0x1700f
jmp 0x1742c
movq -0x388(%rbp), %rdi
addq $0x10, %rdi
leaq -0x358(%rbp), %rsi
callq 0x8070
jmp 0x17028
movb $0x1, -0x1(%rbp)
movl $0x1, -0x37c(%rbp)
jmp 0x17436
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1739a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1738e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x17382
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x17376
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1736a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1735e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x17352
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x17346
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1733a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1732e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x17322
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x17316
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1730a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x172aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
jmp 0x1729e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
leaq -0x31b(%rbp), %rdi
callq 0xfb90
leaq -0x2e8(%rbp), %rax
movq %rax, -0x520(%rbp)
addq $0x2c0, %rax            # imm = 0x2C0
movq %rax, -0x518(%rbp)
movq -0x518(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x528(%rbp)
callq 0x8848
movq -0x520(%rbp), %rcx
movq -0x528(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x518(%rbp)
jne 0x1726b
jmp 0x1729e
leaq -0x319(%rbp), %rdi
callq 0x8460
leaq -0x318(%rbp), %rdi
callq 0x8460
leaq -0x317(%rbp), %rdi
callq 0x8460
leaq -0x316(%rbp), %rdi
callq 0x8460
leaq -0x315(%rbp), %rdi
callq 0x8460
leaq -0x314(%rbp), %rdi
callq 0x8460
leaq -0x313(%rbp), %rdi
callq 0x8460
leaq -0x312(%rbp), %rdi
callq 0x8460
leaq -0x311(%rbp), %rdi
callq 0x8460
leaq -0x310(%rbp), %rdi
callq 0x8460
leaq -0x30f(%rbp), %rdi
callq 0x8460
leaq -0x30e(%rbp), %rdi
callq 0x8460
leaq -0x30d(%rbp), %rdi
callq 0x8460
leaq -0x30c(%rbp), %rdi
callq 0x8460
leaq -0x30b(%rbp), %rdi
callq 0x8460
leaq -0x30a(%rbp), %rdi
callq 0x8460
leaq -0x309(%rbp), %rdi
callq 0x8460
leaq -0x308(%rbp), %rdi
callq 0x8460
leaq -0x307(%rbp), %rdi
callq 0x8460
leaq -0x306(%rbp), %rdi
callq 0x8460
leaq -0x305(%rbp), %rdi
callq 0x8460
leaq -0x2f1(%rbp), %rdi
callq 0x8460
testb $0x1, -0x31a(%rbp)
jne 0x173b1
jmp 0x173fe
movq -0x2f0(%rbp), %rax
leaq -0x2e8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x530(%rbp)
je 0x173fc
movq -0x530(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x538(%rbp)
callq 0x8848
movq -0x538(%rbp), %rax
leaq -0x2e8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x530(%rbp)
jne 0x173cb
jmp 0x173fe
leaq 0x87463(%rip), %rdi     # 0x9e868
callq 0x82c0
jmp 0x17475
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x300(%rbp)
movl %eax, -0x304(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x8848
jmp 0x17475
movl $0x0, -0x37c(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x8848
movl -0x37c(%rbp), %eax
testl %eax, %eax
je 0x17450
jmp 0x1744e
jmp 0x17467
jmp 0x17452
leaq -0x330(%rbp), %rdi
callq 0x32550
jmp 0x16f92
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x540, %rsp            # imm = 0x540
popq %rbp
retq
movq -0x300(%rbp), %rdi
callq 0x8750
nopw %cs:(%rax,%rax)