实验1 《编译原理》词法分析程序-dfa模拟实验

实验1 《编译原理》词法分析程序-dfa模拟实验

ID:10772949

大小:33.50 KB

页数:2页

时间:2018-07-08

实验1 《编译原理》词法分析程序-dfa模拟实验_第1页
实验1 《编译原理》词法分析程序-dfa模拟实验_第2页
资源描述:

《实验1 《编译原理》词法分析程序-dfa模拟实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验1DFA识别实验实验1DFA识别单词模拟实验一、实验目的了解词法分析程序的两种设计方法之一:利用DFA编写通用的词法分析程序。二、实验内容编写DFA模拟程序算法如下:DFA(S=S0,MOVE[][],F[],ALPHABET[],ALLS[])/*S为状态,初值为DFA的初态,MOVE[][]为状态转换矩阵,F[]为终态集,ALPHABET[]为字母表,其中的字母顺序与MOVE[][]中列标题的字母顺序一致。ALLS[]为状态集*/{CharWordbuffer[10]=“”//单词缓冲区置空Nextchar=

2、getchar();//读字符i=0;while(nextchar!=NULL)//NULL代表此类单词{if(nextchar!∈ALPHABET[]){ERROR(“非法字符”),return(“非法字符”);}S=MOVE[S][nextchar]//下一状态if(S=NULL)return(“不接受”);//下一状态为空,不能识别,单词错误wordbuffer[i]=nextchar;//保存单词符号i++;nextchar=getchar();}Wordbuffer[i]=‘’;If(S∈F)retur

3、n(wordbuffer);//接受Elsereturn(“不接受”);}该算法要求:实现DFA算法,给定一个DFA(初态、状态转换矩阵、终态集、字母表、状态集),调用DFA(),识别给定源程序中的单词,查看结果是否正确。三、实验要求根据DFA模拟算法编写程序,要求改变参数,即可识别不同的类型的单词。要求至少能够识别如下定义的标识符和数字的定义的单词。单词的构词规则:字母=[A-Za-z]数字=[0-9]标识符=(字母

4、_)(字母

5、数字)*数字=数字(数字)*(.数字+

6、e)六、实验过程说明1.每人单独完成。2.完成

7、后,由老师验收,并给出成绩。3.实验完成后,写出实验报告(要求交打印稿)。报告内容要求如下:2实验1DFA识别实验完成人:班级、学号、姓名一、实验名称:二、实验目的:三、实验内容:1.…………2.模块调用结构图和各模块流程图。3.程序源代码。4.程序的执行结果:输入文件,输出结果文件及屏幕信息。四、实验中出现的问题及解决方法。五、体会、意见或建议。实验时间:第4周周五1单元(1班)、2单元(2班)实验地点:图书馆5楼计算机系软件机房2

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

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

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