词法分析程序报告

词法分析程序报告

ID:43607489

大小:112.50 KB

页数:6页

时间:2019-10-11

词法分析程序报告_第1页
词法分析程序报告_第2页
词法分析程序报告_第3页
词法分析程序报告_第4页
词法分析程序报告_第5页
资源描述:

《词法分析程序报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编译原理实验报告实验名称:编写词法分析程序实验类型:验证型实验指导教师:专业班级:姓名:学号:电门帕件:实验地点:实验成绩:通过设计、调试词法分析程序,实现从源程序中分出各种单词的方法;熟悉词法分析程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动机的技术及有穷自动机实现的方法。确定词法分析器的输出形式及标识符与关键字的区分方法。加深对课堂教学的理解;提高词法分析方法的实践能力。通过本实验,应达到以下冃标:1、掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法。2、掌握词法分析的实现方法。3、上机调试编岀的词法分析程序。

2、二、实验过程1.首先建好关键字表,分界符表,算术运算符表,关系运算符表。其中数组keywords为关键字表,侮个数组元素存放一个关键字。border数组存放分界符。arithmetic数组存放算术运算符。relation数组存放关系运算符。word和sun数组分别存放标识符和常数。2.词法分析过程将词法分析程序设计成独(入口)立一•遍扌T描源程序的结构。该过程取名为lexical,它根据输入单词的第一个字符(有时还需读第二个字符),判断单词类,产生类号:以t=l表示关键字;t=2表示分界符;t=3表示算术运算符;t=4表示关系运算符;t二5表示常数;

3、t二6表示标识符。对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比较,如表中已有该元素,则记录其在表中的位置,如未出现过,将标识符按顺序填入数组word中,将常数变为二进制形式存入数组中sun中,并记录其在表屮的位置。3.词法分析流程图1、出口词法分析用序流用图1.编写词法分析程序//判断钱入的字符是否为字母publicstaticbooleanisLctter(charc){if((ch>=,a,&&ch〈二O')

4、

5、(ch>+*&&ch<='Z')){returntrue;}elsereturnfalse;publicstaticbo

6、oleanisDigit(charc){if(ch>二'0'&&ch<='9'){returntrue;}elsereturnfalse;}//判断是否为关键字publicstaticintisKey(Stringtext){for(intt=0;t

7、tbyl[JavaApplication]C:ProgramFiles(x86)Javajdkl<6.0J0binjavaw

8、»2t«2^i«0kt-6^i-3■■i=6Integer•t-2>i-1HZbegin■1丿i*l:■t-23-353t=5,i-0■>=74=1四.讨论与分析一是关键字大小写的问题,思考后觉得加个字符的匹配可以解决。二是提到了字母后面跟数字(如il)这个有没有考虑成一个整体,问如何处理,我觉得只需要在判断字符是字母的条件里加入判断字符是数字的条件即可,然后就可以把整个整体输岀来。五、实验总结:通过本次实验对词法分析程序的结构,过程有了更进一步的了解,通过学习书本和试验原理书上的内容,对它的工作原理,具体实行步骤有了进一步的掌握,由于本次试验是测试

9、性试验,对已创建好的文件进过分析。本次试验不光捉高了自己的编程能力,同时提髙了对词法分析程序的了解。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。