老师要我做个C++ compiler,不知道应该不应该过来问

holmes98 holmes98 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我确实很努力地想了,但是没办法,也许有些函数不懂吧,做不出来,

原题如下:
扫描C++源程序,给出其中的常量、变量和函数列表,包括出现位置(行号)、定义性/使用性出现、类型(函数给出行参类型和返回值类型),最终判断是否满足“先定义后使用”原则。

我的思路如下:
string s1,s2,s3;
ifstream fin;
ofstream fout;
fin.open("compiler.cpp");
fout.open("d:\\file.txt");
fin>>s1;
while(fin){
fin>>s2;
if(s1=="const"&&isVar(s2)){
fin>>s3;
fout<<s3<<" is a constant!"<<endl;
s1=s3;
}else if(isVar(s1)&&s2.find("(")!=basic_string::npos){
fout<<s2<<" is a variable!"<<endl;
s1=s2;
}else s1=s2;
其中有个函数如下:
bool isVar(string s1){
if(s1=="char"||s1=="short"||s1=="int"||s1=="long"||s1=="bool")
return 1;
else return 0;
}

有哪位热心人,给点思路
...全文

相关推荐

评论 15
收藏 已收藏
分享
返回顶部
holmes98
VC/MFC 16,550 成员 421,606 内容