C语言词法分析器设计与实现(共14页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言词法分析器设计与实现(共14页).doc》由会员分享,可在线阅读,更多相关《C语言词法分析器设计与实现(共14页).doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 C语言词法分析器的设计与实现一实验目的 1强化对系统软件综合工程实现能力、规划能力的训练; 2加强对词法分析原理、方法和基本实现技术的理解;二实验内容 用C语言(或 C+ )作为宿主语言完成:其中具体要求:1.使用DFA实现词法分析器的设计;2.实现对C源程序中注释的过滤;3.利用两对半缓冲区从文件中逐一读取单词;4.词法分析结果属性字流存放在独立文件中;5.统计源程序每行单词的个数和整个源文件单词个数;6.具有报告词法错误和出错位置(源程序行号和该行字符)的功能;7.屏幕输出属性字流,每次显示10行,按ESC可中途退出,每行有统计信息,最后有词法分析的全部信息,包
2、括各种属性单词的个数。三实验验收与评分要求 1.编写C语言词法分析器的源程序并调试通过; 2.通过测试程序的验收 (测试程序名称:Test-Lexcial); 3.提交简明扼要的书面实验报告。内容包括:FA设计;源程序主要函数功能;主要数据结构设计。四. 验收测试用例 1. 测试用例一:统一验收测试用例;#include#includechar buf100,str15;int countdef=0;FILE *fpmiddle;struct define char with30; char des30; char filename15;def30;char* getFileName() in
3、t i=0,k=0; for(i=0;bufi!=&i&i=0) add(getFileName();else if(isin(#define)=0)processDefine(str);else fseek(fpt,comment(fpt),1);replace(str);writeline(); void add(char *filename) void replace(char*); FILE *fpp; if(fpp=fopen(filename,r)=NULL) printf(file %s not found or open error!,filename);exit(0); fs
4、eek(fpp,-readline(fpp),1); if(isin(#include)0&isin(#define)0) while(readline(fpp) fseek(fpp,comment(fpp),1);replace(filename);writeline(); elseincludeAndDefine(fpp); fclose(fpp);void replace(char *filename) int i=0,start=0; for(i=0;i=countdef|(start=isin(defi.des)=-1)return; else int lenOfWith=strle
5、n(defi.with);int lenOfDes=strlen(defi.des);if(lenOfDes=lenOfWith) int k,j; for(k=start; kstart+lenOfWith; k+)bufk=defi.withk-start; for(j=(start+lenOfWith); jstart;k-)bufk=bufk-offset; for(j=start;j Java语言子集语法、语义分析器一实验目的 1强化对系统软件综合工程实现能力、规划能力的训练; 2增强对语法分析器、语义分析及代码生成器基本实现技术的理解;二实验内容 用C语言(或 C+ )作为宿主语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 词法 分析器 设计 实现 14
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内