云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理课程设计报告 - 词法分析器

编译原理课程设计报告 - 词法分析器

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 9:47:56

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 > analyst(vector vec) {

vector > temp; int i;

for(i=0;i

if(vec[i].size()==1) {

if((vec[i]==\ {

string jk=vec[i]; jk.append(vec[++i],0,1); pair pp(4,jk); temp.push_back(pp); continue; }

if((vec[i]==\ {

string jk=vec[i]; jk.append(vec[++i],0,1); pair pp(4,jk); temp.push_back(pp); continue; }

if(IsBoundary(vec[i],0)) {

pair pp(5,vec[i]);

13

temp.push_back(pp); }

else if(IsOperation(vec[i],0)) {

pair pp(4,vec[i]); temp.push_back(pp); }

else if(vec[i][0]<='9'&&vec[i][0]>='0') {

pair pp(3,vec[i]); temp.push_back(pp); } else {

pair pp(2,vec[i]); temp.push_back(pp); } }

else if(vec[i][0]<='9'&&vec[i][0]>='0') {

pair pp(3,vec[i]); temp.push_back(pp); }

else if(IsKey(vec[i])) {

pair pp(1,vec[i]); temp.push_back(pp); } else {

pair pp(2,vec[i]); temp.push_back(pp); } }

return temp; }

/*此函数判断传递的参数是否为关键字,是的话,返回真,反之返回假*/ bool IsKey(string str) { string

p[16]={\switch\vector ppp(p,p+16); int u;

14

for(u=0;u

/*finished*/

15

搜索更多关于: 编译原理课程设计报告 - 词法分析器 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

cin>>file_name; ofstream outfile(file_name.c_str(),ios::out); if (!outfile) { cerr<<\无法打开文件! \ exit(-1); } cout< analyst(vector

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com