     // do while sufficed in the original C version...
     text.formIndex(after: &idx)
   } // while idx++ != string.endIndex
-  
+
   return false
 }
 

  if regexp.isEmpty {
    return true
  }
  
  if let c = regexp.first, regexp.dropFirst().first == "*" {
    return matchStar(c, regexp.dropFirst(2), text)
  }
  
  if regexp.first == "$" && regexp.dropFirst().isEmpty {
    return text.isEmpty
  }
  
  if let tc = text.first, let rc = regexp.first, rc == "." || tc == rc {
    return matchHere(regexp.dropFirst(), text.dropFirst())
  }
  
  return false
}



@inline(never)
public func run_StringMatch(_ N: Int) {
  for _ in 1...N {
    for (regex, text) in tests {
      _ = match(regexp: regex,text: text)
    }
  }
}
