2022年编译原理-实验递归下降分析法 .pdf
《2022年编译原理-实验递归下降分析法 .pdf》由会员分享,可在线阅读,更多相关《2022年编译原理-实验递归下降分析法 .pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译原理实验报告项目名称递归下降分析法设计与实现专业班级学号姓名实验成绩:批阅教师:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 实验 4递归下降分析法设计与实现实验学时:2 实验地点:实验日期:一、实验目的根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解。二、实验内容程序输入 / 输出示例(以下仅供参考):对下列文法,用递归下降分析法对任意输入的符号
2、串进行分析:(1)E-TG (2)G-+TG|TG (3)G-(4)T-FS (5)S-*FS|/FS (6)S-(7)F-(E) (8)F-i 输出的格式如下:(1) 递归下降分析程序,编制人:姓名,学号,班级(2) 输入一以 #结束的符号串( 包括 +*/ () i#) :在此位置输入符号串例如:i+i*i# (3) 输出结果: i+i*i#为合法符号串备注:输入一符号串如i+i*#,要求输出为“非法的符号串”。注意:1.表达式中允许使用运算符(+-*/ ) 、分割符(括号) 、字符 I ,结束符 #;2.如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好)。三、实验方法用 C 语
3、言,根据递归下降分析法的规则编写代码,并测试。四、实验步骤1.对语法规则有明确的定义;2.编写的分析程序能够对实验一的结果进行正确的语法分析;3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成语法分析过程;五、实验结果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
4、 - - - - - 第 3 页,共 11 页 - - - - - - - - - 六、实验结论#include #include #include #include char a50,b50,d200,e10; char ch; int numOfEq,i1=0,flag=1,n=6; int E(); int E1(); int T(); int G(); int S(); int F(); void input(); void input1(); void output(); /= void main()/* 递归分析 */ int foe1,i=0; char x; d0=E; d1=
5、; d2=; d3=?; d4=T; d5=G; d6=#; printf( 请输入字符串 (以#号结束) n); do scanf(%c,&ch); ai=ch; i+; while(ch!=#); numOfEq=i; ch=b0=a0; printf( 文法 t 分析串 tt 分析字符 t 剩余串 n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - foe1=E1(); if (foe1=0) return; if
6、(ch=#) printf(acceptn); i=0; x=di; while(x!=#) printf(%c,x); i=i+1;x=di;/*输出推导式 */ printf(n); else printf(errorn); printf( 回车返回 n); getchar();getchar(); return; /= int E1() int fot,fog; printf(E-TGt); flag=1; input(); input1(); fot=T(); if (fot=0) return(0); fog=G(); if (fog=0) return(0); else retur
7、n(1); /= int E() int fot,fog; printf(E-TGt); e0=E; e1=; e2=; e3=?; e4=T; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - e5=G; e6=#; output(); flag=1; input(); input1(); fot=T(); if (fot=0) return(0); fog=G(); if (fog=0) return(0); else re
8、turn(1); /= int T() int fof,fos; printf(T-FSt); e0=T; e1=; e2=; e3=?; e4=F; e5=S; e6=#; output(); flag=1; input(); input1(); fof=F(); if (fof=0) return(0); fos=S(); if (fos=0) return(0); else return(1); /= int G() int fot; if(ch=+) bi1=ch; printf(G-+TGt); e0=G; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年编译原理-实验递归下降分析法 2022 编译 原理 实验 递归 下降 分析
限制150内