// File: jstaursky[P]hutch/src/Sleigh/slghsymbol.cc
// Function: SubtableSymbol::restoreXml(Element const*, SleighBase*)
void SubtableSymbol::restoreXml(const Element *el,SleighBase *trans)

{
  {
    int4 numct;
    istringstream s(el->getAttributeValue("numct"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> numct;
    construct.reserve(numct);
  }
  const List &list(el->getChildren());
  List::const_iterator iter;
  iter = list.begin();
  while(iter != list.end()) {
    if ((*iter)->getName() == "constructor") {
      Constructor *ct = new Constructor();
      addConstructor(ct);
      ct->restoreXml(*iter,trans);
    }
    else if ((*iter)->getName() == "decision") {
      decisiontree = new DecisionNode();
      decisiontree->restoreXml(*iter,(DecisionNode *)0,this);
    }
    ++iter;
  }
  pattern = (TokenPattern *)0;
  beingbuilt = false;
  errors = 0;
}

// Assembly:
subq $0x258, %rsp            # imm = 0x258
movq %rdi, 0x250(%rsp)
movq %rsi, 0x248(%rsp)
movq %rdx, 0x240(%rsp)
movq 0x250(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x248(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x97(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xe0c80
movq 0x50(%rsp), %rdx
leaq 0x3fc42(%rip), %rsi     # 0x1894e9
leaq 0x98(%rsp), %rdi
callq 0xe00a0
jmp 0x1498b6
movq 0x48(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x38(%rsp)
jmp 0x1498cf
movq 0x38(%rsp), %rsi
leaq 0xb8(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x1498e8
leaq 0x98(%rsp), %rdi
callq 0xd4550
leaq 0x97(%rsp), %rdi
callq 0xd8ec0
movq 0xb8(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0xb8(%rsp,%rax), %rax
movq %rax, 0x28(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x34(%rsp)
jmp 0x149930
movl 0x34(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x24(%rsp)
jmp 0x149944
movl 0x24(%rsp), %esi
movq 0x28(%rsp), %rdi
callq 0xda6e0
jmp 0x149954
leaq 0xb8(%rsp), %rdi
leaq 0x23c(%rsp), %rsi
callq 0xd4480
jmp 0x14996b
movq 0x40(%rsp), %rdi
addq $0x40, %rdi
movslq 0x23c(%rsp), %rsi
callq 0xdd0f0
jmp 0x149983
leaq 0xb8(%rsp), %rdi
callq 0xd25a0
movq 0x248(%rsp), %rdi
callq 0xde930
movq %rax, 0x78(%rsp)
leaq 0x70(%rsp), %rdi
callq 0xd03e0
movq 0x78(%rsp), %rdi
callq 0xd4960
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x78(%rsp), %rdi
callq 0xd7a70
movq %rax, 0x60(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0xd72b0
testb $0x1, %al
jne 0x1499ec
jmp 0x149bc0
leaq 0x70(%rsp), %rdi
callq 0xddc90
movq (%rax), %rdi
callq 0xcea10
movq %rax, %rdi
leaq 0x3fbb9(%rip), %rsi     # 0x1895c1
callq 0xe30f0
testb $0x1, %al
jne 0x149a16
jmp 0x149b10
movl $0x98, %edi
callq 0xd8380
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x18(%rsp)
callq 0xcfd60
jmp 0x149a32
movq 0x40(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rsi
callq 0xdefb0
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x70(%rsp), %rdi
callq 0xddc90
movq 0x10(%rsp), %rdi
movq (%rax), %rsi
movq 0x240(%rsp), %rdx
callq 0xde010
jmp 0x149bb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x149ab0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x98(%rsp), %rdi
callq 0xd4550
leaq 0x97(%rsp), %rdi
callq 0xd8ec0
jmp 0x149bdd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0xd25a0
jmp 0x149bdd
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
movl $0x98, %esi
callq 0xd8620
jmp 0x149bdd
leaq 0x70(%rsp), %rdi
callq 0xddc90
movq (%rax), %rdi
callq 0xcea10
movq %rax, %rdi
leaq 0x3faa2(%rip), %rsi     # 0x1895ce
callq 0xe30f0
testb $0x1, %al
jne 0x149b37
jmp 0x149baf
movl $0x48, %edi
callq 0xd8380
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x8(%rsp)
callq 0xd8860
jmp 0x149b53
movq 0x40(%rsp), %rax
movq 0x8(%rsp), %rcx
movq %rcx, 0x58(%rax)
movq 0x58(%rax), %rax
movq %rax, (%rsp)
leaq 0x70(%rsp), %rdi
callq 0xddc90
movq (%rsp), %rdi
movq 0x40(%rsp), %rcx
movq (%rax), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xdb070
jmp 0x149baf
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
movl $0x48, %esi
callq 0xd8620
jmp 0x149bdd
jmp 0x149bb1
leaq 0x70(%rsp), %rdi
callq 0xd0700
jmp 0x1499c5
movq 0x40(%rsp), %rax
movq $0x0, 0x30(%rax)
movb $0x0, 0x38(%rax)
movb $0x0, 0x39(%rax)
addq $0x258, %rsp            # imm = 0x258
retq
movq 0x88(%rsp), %rdi
callq 0xe0be0
nopw (%rax,%rax)