当前位置:首页 > 编译原理课程设计报告 - 词法分析器
cin>>file_name;
ofstream outfile(file_name.c_str(),ios::out); if (!outfile) {
cerr<<\无法打开文件! \ exit(-1); }
cout< for(i=0;i outfile<<\ outfile<<\ outfile.close(); return; } /*此函数接受一个字符串数组,对它进行词法分析,返回一个pair型数组*/ vector vector for(i=0;i if(vec[i].size()==1) { if((vec[i]==\ { string jk=vec[i]; jk.append(vec[++i],0,1); pair if((vec[i]==\ { string jk=vec[i]; jk.append(vec[++i],0,1); pair if(IsBoundary(vec[i],0)) { pair 13 temp.push_back(pp); } else if(IsOperation(vec[i],0)) { pair else if(vec[i][0]<='9'&&vec[i][0]>='0') { pair pair else if(vec[i][0]<='9'&&vec[i][0]>='0') { pair else if(IsKey(vec[i])) { pair pair return temp; } /*此函数判断传递的参数是否为关键字,是的话,返回真,反之返回假*/ bool IsKey(string str) { string p[16]={\switch\vector 14 for(u=0;u /*finished*/ 15
共分享92篇相关文档