// File: rfotino[P]consolite-compiler/src/syntax.cpp
// Function: BreakStatement::parse(Tokenizer*, bool)
bool BreakStatement::parse(Tokenizer *tokenizer, bool inLoop) {
  _lineNum = tokenizer->peekNext().line();
  if (!_expect(tokenizer, "break")) {
    return false;
  } else if (!_expect(tokenizer, ";")) {
    return false;
  } else if (!inLoop) {
    _error("Must be within a loop statement to use 'break;'.", _lineNum);
    return false;
  }
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x6bae0
movq -0xe0(%rbp), %rdi
callq 0x32270
movl %eax, -0xd8(%rbp)
jmp 0x2cd4d
movq -0xe8(%rbp), %rax
movl -0xd8(%rbp), %ecx
movl %ecx, 0x8(%rax)
leaq -0x50(%rbp), %rdi
callq 0x99b0
movq -0x18(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq -0x81(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x8760
movq -0xf0(%rbp), %rdx
leaq 0x43214(%rip), %rsi     # 0x6ffa6
leaq -0x80(%rbp), %rdi
callq 0xced0
jmp 0x2cd9d
movq -0xf8(%rbp), %rdi
leaq -0x80(%rbp), %rsi
movl $0x1, %edx
callq 0x6da60
movb %al, -0xf9(%rbp)
jmp 0x2cdba
movb -0xf9(%rbp), %al
xorb $-0x1, %al
movb %al, -0xfa(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x8848
leaq -0x81(%rbp), %rdi
callq 0x8460
movb -0xfa(%rbp), %al
testb $0x1, %al
jne 0x2cde9
jmp 0x2ce40
movb $0x0, -0x1(%rbp)
jmp 0x2cfb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x99b0
jmp 0x2cfc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2ce2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x8848
leaq -0x81(%rbp), %rdi
callq 0x8460
jmp 0x2cfc5
movq -0x18(%rbp), %rax
movq %rax, -0x110(%rbp)
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x8760
movq -0x108(%rbp), %rdx
leaq 0x42de5(%rip), %rsi     # 0x6fc51
leaq -0xa8(%rbp), %rdi
callq 0xced0
jmp 0x2ce7a
movq -0x110(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
movl $0x1, %edx
callq 0x6da60
movb %al, -0x111(%rbp)
jmp 0x2ce9a
movb -0x111(%rbp), %al
xorb $-0x1, %al
movb %al, -0x112(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x8848
leaq -0xa9(%rbp), %rdi
callq 0x8460
movb -0x112(%rbp), %al
testb $0x1, %al
jne 0x2cecc
jmp 0x2cf0c
movb $0x0, -0x1(%rbp)
jmp 0x2cfb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2cefb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x8848
leaq -0xa9(%rbp), %rdi
callq 0x8460
jmp 0x2cfc5
testb $0x1, -0x19(%rbp)
jne 0x2cfaf
leaq -0xd1(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x8760
movq -0x120(%rbp), %rdx
leaq 0x43088(%rip), %rsi     # 0x6ffbf
leaq -0xd0(%rbp), %rdi
callq 0xced0
jmp 0x2cf45
movq -0xe8(%rbp), %rax
movl 0x8(%rax), %esi
leaq -0xd0(%rbp), %rdi
callq 0x6d960
jmp 0x2cf5d
leaq -0xd0(%rbp), %rdi
callq 0x8848
leaq -0xd1(%rbp), %rdi
callq 0x8460
movb $0x0, -0x1(%rbp)
jmp 0x2cfb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2cfa1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x8848
leaq -0xd1(%rbp), %rdi
callq 0x8460
jmp 0x2cfc5
jmp 0x2cfb1
jmp 0x2cfb3
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x8750
nop