void tokenize(const std::string str, vstring &v) {
	std::string buffer;
	for (int i = 0; i < str.length(); ++i) {
		if (!isPunc(str[i]) && !isspace(str[i]) && str[i] != '.') {
			buffer += str[i];
		}
		else if (!buffer.empty()) {
			v.push_back(buffer);
			buffer.erase();
		}
	}
	if ((v.empty() && !buffer.empty()) || !buffer.empty()) {
		v.push_back(buffer);
	}
}