私のC++割り当ての1つでは、次のような文を解析する必要があります。
SET a = 10 SET b = a 印刷b
これらのステートメントを解析するために、次のコードを使用しました。
vector<string> stringSplitter(istringstream& tmp) {
vector<string> tokens;
string str;
while(tmp.good()) {
tmp >> str;
tokens.push_back(str);
}
return tokens;
}
エラーチェックのために、SETコマンドには4つのトークンしかなく、PRINTステートメントには2つのトークンしかないことを確認したいと思います。したがって、SETコマンドとPRINTコマンドをチェックするときに私が持っている対応する条件は次のとおりです。
if (tokens.size() != 4) {
cerr << "Error in Line "<< lineNumber <<":Invalid format\n";
return -1;
}
と
if (tokens.size() != 2) {
cerr << "Error in Line "<< lineNumber <<":Invalid format\n";
return -1;
}
私が抱えている問題は、「SET a =10」と「PRINTa」で機能することですが、「SET a=10」と「PRINTa」のように文の最後に空白があると機能しません。 a "
誰かがこれを手伝うことができますか?