再帰下降構文解析のスケルトン。 int saiki(std::string formula,int& p,int pr){ int re,a; while(formula.size()>p){ char c=formula[p]; if(c=='('){ p++; re=saiki(formula,p,0); p++; }else if(c==')'){ return re; }else if(c=='+' || c=='-'){ if(pr>=1){ return re; } p++; a=saiki(formula,p,1); //ここに計算を書く }else if(c=='*'){ if(pr>=2){ return re; } p++; a=saiki(formula,p,2); //ここで計算を行う }else if(c=='/'){ if(pr>=2){ return re; } p++; a=saiki(formula,p,2); //ここで計算を行う }else{ //変数や自然数の読み込み } } return re; }