2022年源程序的预处理及词法分析程序设计 .pdf
《2022年源程序的预处理及词法分析程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年源程序的预处理及词法分析程序设计 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、郑州大学软件学院编译原理实验一(源程序的预处理及词法分析程序设计)1/ 6李天柱/ 词法分析#include #include #include #include using namespace std; void chu_li_1(FILE *p,FILE *q) / 处理空格 charch; if(p=fopen( 输出文件 .txt,r+)=NULL) /shili3.txt为中转文件 cout输出文件打开错误endl; if(q=fopen( 中转文件 .txt,w+)=NULL) / 保存处理后程序的文件 cout中转文件打开错误endl; while(!feof(p) ch=fge
2、tc(p); if(ch!=32) fputc(ch,q); / 保留一个空格else if(ch=32) / 将多个空格删除 fputc(ch,q); while(1&(ch!=EOF) ch=fgetc(p); if(ch!=32) / 空格结束 fputc(ch,q); break; fclose(p); fclose(q); void chu_li_2(FILE *p,FILE *q) / 处理换行 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - -
3、- - - - - - - 郑州大学软件学院编译原理实验一(源程序的预处理及词法分析程序设计)2/ 6李天柱charch; if(p=fopen( 中转文件 .txt,r+)=NULL) cout中转文件打开错误endl; if(q=fopen( 输出文件 .txt,w+)=NULL) cout输出文件打开错误endl; while(ch=fgetc(p)!=EOF) if(ch!=n) / 忽略换行符fputc(ch,q); fclose(p); fclose(q); void chu_li_3(FILE *p,FILE *q) / 处理注释 charch; if(p=fopen( 输入文件
4、 .txt,r+)=NULL) / 程序输入文件 if(p=fopen( 输入文件 .txt,w+)=NULL) / 程序输入文件 cout输入文件打开错误endl; if(q=fopen( 中转文件 .txt,w+)=NULL) cout中转文件打开错误endl; while(ch=fgetc(p)!=EOF) if(ch=47) / 程序中发现字符/ ch=fgetc(p); if(ch=42) / 判断字符后 / 是否有字符 * while(1) ch=fgetc(p); / 忽略注释内容if(ch=42) / 直到有 * 出现 名师资料总结 - - -精品资料欢迎下载 - - - -
5、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 郑州大学软件学院编译原理实验一(源程序的预处理及词法分析程序设计)3/ 6李天柱ch=fgetc(p); if(ch=47) / 判断结束break; else if(ch=47) / 判断以 / 开头形式的注释 while(ch!=n)&(ch=fgetc(p)!=EOF) ch=fgetc(p); else fputc(/,q); / 将不属于注释标示符的字符/ 写入文件fputc(ch,q); / else fputc(ch,q);
6、 fclose(p); fclose(q); void Y_C_L(FILE *p,FILE *q) / 预处理函数 chu_li_3(p,q); / 处理注释chu_li_2(p,q); / 处理换行chu_li_1(p,q); / 处理空格 voidFen_xi() FILE *p,*q; charch; intm,n=0; char letter20000=0; char *rwtab44=#,main,if,then,while,do,static, int, double,struct,break,else,long,switch, case,typedef,char,return,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年源程序的预处理及词法分析程序设计 2022 源程序 预处理 词法 分析 程序设计
限制150内