コード例 #1
0
ファイル: 3_4_2.cpp プロジェクト: kevin1kevin1k/dsa2015
VS parse(string& s) {
	VS v;
	for (int i = s.FN(' '); i < s.length(); i = s.FN(' ', i)) {
		char c = s[i];
		if (is_num(c)) {
			int j = s.FN(NUMS, i);
			if (j == string::npos) {
				v.PB(s.substr(i));
				break;
			}
			v.PB(s.substr(i, j - i));
			i = j;
		}
		else if (is_func(c)) {
			int j = s.FN(FUNS, i);
			v.PB(s.substr(i, j - i));
			i = j;
		}
		else {
			v.PB(s.substr(i, 1));
			i += 1;
		}
	}

	return v;
}