编译原理-方法分类.doc

编译原理-方法分类.doc

ID:56363713

大小:589.50 KB

页数:18页

时间:2020-06-12

编译原理-方法分类.doc_第1页
编译原理-方法分类.doc_第2页
编译原理-方法分类.doc_第3页
编译原理-方法分类.doc_第4页
编译原理-方法分类.doc_第5页
资源描述:

《编译原理-方法分类.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、编号:实习一二三四五六七八九十总评教师签名成绩实习题目:文法分类专业(班):13级计科六班学生学号:2013311500123学生姓名:刘冠佐任课教师:杜 卓 敏评语及建议:2015 年10月13日编号:实习一二三四五六七八九十总评教师签名成绩武汉大学计算机学院《编译原理》课程实习报告编号:实习题目:文法分类专业(班):2013级计科六班学生学号:2013311500123学生姓名:刘冠佐任课教师:杜 卓 敏2015 年10月13日1.题目:文法分类2.目的:熟悉和掌握文法的形式定义及各成分的含义,正确识别文法的类型。3.要求:(1)主要功能

2、:识别各类Chomsky文法(2)系统输入:任意的文法G的Vn,P和S(3)系统输出:a)文法的形式化表示G=(Vn,Vt,P,S)b)文法的Chomsky类型(0型、1型、2型、3型)(4)为了简单期间,文发符号都采用单字符符号(5)有独到个后选式的产生式允许采用缩写形式(α::=β1/β2/…/βn)作为产生式的输入形式(6)提交算法描述,最好提供某样详细设计表示(如程序框图、伪码等),而不用提交源程序清单4.程序运行实例:输入:提示输入文法:G[N]提示输入Vn:N,D提示依次输入产生式规则:N::=ND/DD::=0/1/2/3/4/

3、5/6/7/8/9输出:文法G[N]=({N,D},{0,1,2,3,4,5,6,7,8,9},P,N)P:N::=ND/DD::=0/1/2/3/4/5/6/7/8/9该文法是Chomsky2型文法(即上下文无关文法)。1.问题定义与分析1.1实习目的熟悉和掌握文法的形式定义及各成分的含义,正确识别文法的类型。1.2实习要求(1)主要功能:识别各类Chomsky文法(2)系统输入:任意的文法G的VN,P和S(3)系统输出:a)文法的形式化表示G=(VN,VT,P,S)b)文法的Chomsky类型(0型、1型、2型、3型)(4)为简单起见,文

4、法符号都采用单字符符号。(5)有多个候选式的产生式允许采用缩写形式(α::=β1

5、β2

6、…

7、βn)作为产生式的输入形式(6)要求按照软件工程的原则进行实习设计,提交实习报告,即必要的软件工程文档(可将主要内容压缩成一个文档),内容至少包括:问题定义和分析、设计(数据结构、算法、界面等)、主要测试用例(应如实提供测试结果)等。最好提供某种详细设计表示(如程序框图、伪码等),而不用提交源程序清单。1.3要求分析1.3.1输入部分对于文法G用字符串Strings保存;非终结字符集合VN,用数组c保存,Strings1=jTextField2.get

8、Text();//获取VN,charc[]=s1.toCharArray();产生式规则P的用二维数组P保存:char[][]P=newchar[10][20];Strings2=jTextArea1.getText();//获取产生式规则StringTokenizertokenizer=newStringTokenizer(s2);intsum=tokenizer.countTokens();intj;Strings4="";for(j=0;j

9、+'';P[j]=s6.toCharArray();//将产生式转换为数组保存}1.3.2输出部分非终结字符用一个数组N保存输出:Strings1=jTextField2.getText();//获取VNcharc[]=s1.toCharArray();while(i

10、'&&Is(N,P[i][j

11、])==0&&Is(T,P[i][j])==0)T[m]=P[i][j];m++;对于文法G的输出还是用Strings,在获取的文法名的基础上加上文法内容,文法内容为后面加上:Strings=jTextField1.getText();//s用于输出文法s=s+"=({"+s1+"},{";Strings3="";i=0;while(i

12、+')';jTextField3.setText(s);产生式规则的输出用Strings4表示:Strings4="";for(j=0;j

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

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

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