findConfiguration method

bool findConfiguration(
  1. List<int> stack,
  2. int stack_top,
  3. int curtok
)

Implementation

bool findConfiguration(List<int> stack, int stack_top, int curtok) {
  var last_element = findOrInsertStack(state_root, stack, 0, stack_top);
  var hash_address = curtok % TABLE_SIZE;
  for (var configuration = table[hash_address];
      configuration != null;
      configuration = configuration.next) {
    if (configuration.curtok == curtok &&
        last_element == configuration.last_element) return true;
  }

  return false;
}