// File: jstaursky[P]hutch/src/Sleigh/slghsymbol.cc
// Function: Constructor::addSyntax(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Constructor::addSyntax(const string &syn)

{
  string syntrim;

  if (syn.size() == 0) return;
  bool hasNonSpace = false;
  for(int4 i=0;i<syn.size();++i) {
    if (syn[i] != ' ') {
      hasNonSpace = true;
      break;
    }
  }
  if (hasNonSpace)
    syntrim = syn;
  else
    syntrim = " ";
  if ((firstwhitespace==-1)&&(syntrim == " "))
    firstwhitespace = printpiece.size();
  if (printpiece.empty())
    printpiece.push_back(syntrim);
  else if (printpiece.back() == " " && syntrim == " ") {
    // Don't add more whitespace
  }
  else if (printpiece.back()[0] == '\n' || printpiece.back() == " " || syntrim == " ")
    printpiece.push_back(syntrim);
  else {
    printpiece.back() += syntrim;
  }
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xdc610
movq 0x68(%rsp), %rdi
callq 0xd5290
cmpq $0x0, %rax
jne 0x1456af
movl $0x1, 0x44(%rsp)
jmp 0x1458e0
movb $0x0, 0x43(%rsp)
movl $0x0, 0x3c(%rsp)
movslq 0x3c(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x68(%rsp), %rdi
callq 0xd5290
movq %rax, %rcx
movq 0x18(%rsp), %rax
cmpq %rcx, %rax
jae 0x14570a
movq 0x68(%rsp), %rdi
movslq 0x3c(%rsp), %rsi
callq 0xd9290
movsbl (%rax), %eax
cmpl $0x20, %eax
je 0x1456fb
movb $0x1, 0x43(%rsp)
jmp 0x14570a
jmp 0x1456fd
movl 0x3c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3c(%rsp)
jmp 0x1456bc
testb $0x1, 0x43(%rsp)
je 0x145741
movq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdi
callq 0xce450
jmp 0x145722
jmp 0x145756
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x30(%rsp)
movl %eax, 0x2c(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xd4550
jmp 0x1458ef
leaq 0x42df1(%rip), %rsi     # 0x188539
leaq 0x48(%rsp), %rdi
callq 0xdc010
jmp 0x145754
jmp 0x145756
movq 0x20(%rsp), %rax
cmpl $-0x1, 0x88(%rax)
jne 0x1457a1
leaq 0x42dce(%rip), %rsi     # 0x188539
leaq 0x48(%rsp), %rdi
callq 0xe30f0
movb %al, 0x17(%rsp)
jmp 0x14577b
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x145785
jmp 0x1457a1
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
callq 0xe1670
movq %rax, %rcx
movq 0x20(%rsp), %rax
movl %ecx, 0x88(%rax)
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
callq 0xe0860
testb $0x1, %al
jne 0x1457b5
jmp 0x1457cf
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
leaq 0x48(%rsp), %rsi
callq 0xd3180
jmp 0x1457ca
jmp 0x1458d8
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
callq 0xd5340
movq %rax, %rdi
leaq 0x42d52(%rip), %rsi     # 0x188539
callq 0xe30f0
movb %al, 0x16(%rsp)
jmp 0x1457f2
movb 0x16(%rsp), %al
testb $0x1, %al
jne 0x1457fc
jmp 0x145822
leaq 0x42d36(%rip), %rsi     # 0x188539
leaq 0x48(%rsp), %rdi
callq 0xe30f0
movb %al, 0x15(%rsp)
jmp 0x145813
movb 0x15(%rsp), %al
testb $0x1, %al
jne 0x14581d
jmp 0x145822
jmp 0x1458d6
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
callq 0xd5340
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe2f50
movq %rax, 0x8(%rsp)
jmp 0x145843
movq 0x8(%rsp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
je 0x14589e
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
callq 0xd5340
movq %rax, %rdi
leaq 0x42cd1(%rip), %rsi     # 0x188539
callq 0xe30f0
movb %al, 0x7(%rsp)
jmp 0x145873
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0x14589e
jmp 0x14587d
leaq 0x42cb5(%rip), %rsi     # 0x188539
leaq 0x48(%rsp), %rdi
callq 0xe30f0
movb %al, 0x6(%rsp)
jmp 0x145894
movb 0x6(%rsp), %al
testb $0x1, %al
jne 0x14589e
jmp 0x1458b5
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
leaq 0x48(%rsp), %rsi
callq 0xd3180
jmp 0x1458b3
jmp 0x1458d4
movq 0x20(%rsp), %rdi
addq $0x30, %rdi
callq 0xd5340
movq %rax, %rdi
leaq 0x48(%rsp), %rsi
callq 0xdb2d0
jmp 0x1458d2
jmp 0x1458d4
jmp 0x1458d6
jmp 0x1458d8
movl $0x0, 0x44(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xd4550
addq $0x78, %rsp
retq
movq 0x30(%rsp), %rdi
callq 0xe0be0
nopl (%rax)