欢迎来到天天文库
浏览记录
ID:44900258
大小:596.66 KB
页数:18页
时间:2019-11-02
《编译原理-方法分类》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、文档编号:实习一二三四五六七八九十总评教师签名成绩实习题目:文法分类专业(班):13级计科六班学生学号:2013311500123学生姓名:刘冠佐任课教师:杜 卓 敏评语及建议:2015 年10月13日文档编号:实习一二三四五六七八九十总评教师签名成绩武汉大学计算机学院《编译原理》课程实习报告编号:实习题目:文法分类专业(班):2013级计科六班学生学号:2013311500123学生姓名:刘冠佐任课教师:杜 卓 敏2015 年10月13日文档1.题目:文法分类2.目的:熟悉和掌握文法的形式定义及各成分的含义,正确识别文法的类型。3.要求:(1)主要功能:识别各类Chomsky文法(2)系统
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/5/6/7/8/9输出:文法G[N]=({N,D},{0,1,2,3,4,5,6,7,8
3、,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)为简单起见,文法符号都采用单字符符号。(5)有多个候选式的产生式允许采用缩写形式(α::=β1
4、β2
5、…
6、βn)作为产生式的输入形式(6)要求按照软
7、件工程的原则进行实习设计,提交实习报告,即必要的软件工程文档(可将主要内容压缩成一个文档),内容至少包括:问题定义和分析、设计(数据结构、算法、界面等)、主要测试用例(应如实提供测试结果)等。最好提供某种详细设计表示(如程序框图、伪码等),而不用提交源程序清单。1.3要求分析1.3.1输入部分文档对于文法G用字符串Strings保存;非终结字符集合VN,用数组c保存,Strings1=jTextField2.getText();//获取VN,charc[]=s1.toCharArray();产生式规则P的用二维数组P保存:char[][]P=newchar[10][20];Strings2=
8、jTextArea1.getText();//获取产生式规则StringTokenizertokenizer=newStringTokenizer(s2);intsum=tokenizer.countTokens();intj;Strings4="";for(j=0;j9、toCharArray();while(i10、'&&Is(N,P[i][j])==0&&Is(T,P[i][j])==0)T[m]=P[i][j];m++;对于文法G的输出还是用Strings,在获取的文法名的基础上加上文法内容,文法内容为后面加上:Strings=jTextField1.getText();//s用于输出文法s=s+"=({"+s11、1+"},{";Strings3="";i=0;while(i
9、toCharArray();while(i10、'&&Is(N,P[i][j])==0&&Is(T,P[i][j])==0)T[m]=P[i][j];m++;对于文法G的输出还是用Strings,在获取的文法名的基础上加上文法内容,文法内容为后面加上:Strings=jTextField1.getText();//s用于输出文法s=s+"=({"+s11、1+"},{";Strings3="";i=0;while(i
10、'&&Is(N,P[i][j])==0&&Is(T,P[i][j])==0)T[m]=P[i][j];m++;对于文法G的输出还是用Strings,在获取的文法名的基础上加上文法内容,文法内容为后面加上:Strings=jTextField1.getText();//s用于输出文法s=s+"=({"+s
11、1+"},{";Strings3="";i=0;while(i
此文档下载收益归作者所有