reallocateStacks method

void reallocateStacks()

Implementation

void reallocateStacks() {
  var old_stack_length = stateStack.length;
  var stack_length = old_stack_length + STACK_INCREMENT;
  if (stateStack.isEmpty) {
    stateStack = List.filled(stack_length, 0);
    locationStack = List.filled(stack_length, 0);
    parseStack = List.filled(stack_length, null);
  } else {
    ArrayList.copy(stateStack, 0, stateStack = List.filled(stack_length, 0),
        0, old_stack_length);
    ArrayList.copy(locationStack, 0,
        locationStack = List.filled(stack_length, 0), 0, old_stack_length);
    ArrayList.copy(parseStack, 0,
        parseStack = List.filled(stack_length, null), 0, old_stack_length);
  }
  return;
}