2022年基于算符优先分析方法的语法制导翻译程序设计_编译课程设计报告书.docx
《2022年基于算符优先分析方法的语法制导翻译程序设计_编译课程设计报告书.docx》由会员分享,可在线阅读,更多相关《2022年基于算符优先分析方法的语法制导翻译程序设计_编译课程设计报告书.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源课程设计报告 2021 - 2021 年度第 1 学期名称:编译技术课程设计B题目:词法分析器设计算符优先分析程序设计基于算符优先分析方法地语法制导翻译程序设计院系:运算机系班级:计科 1001设计周数:1 周成绩:日期: 2021 年 1 月 11 日欢迎下载精品学习资源编译技术课程设计B任 务 书一、 目地与要求1. 词法分析器设计地目地与要求1.1 词法分析器设计地试验目地本试验是为运算机科学与技术专业、网络工程专业、信息安全专业地同学在学习编译技术课程后,为加深对课堂教案内容地懂得,培育解决实际问题才能而设置地实践环节.通过这个试验, 使同学应用编译程序设计地原理和技术设计
2、出词法分析器,明白扫描器地组成结构,不同种类单词地识别方法 .能使得同学在设计和调试编译程序地才能方面有所提高.为将来设计、分析编译程序打下良好地基础 .1.2 词法分析器设计地试验要求设计一个扫描器,该扫描器是一个子程序,其输入是源程序字符串,每调用一次识别并输出一个单词符号 .为了防止超前搜寻,提高运行效率,简化扫描器地设计,假设该程序设计语言中,基本字(也称关键词)不能做一般标识符用,假如基本字、标识符和常数之间没有确定地运算符或界符作间隔,就用空白作间隔.单词符号及其内部表示如表1-1 所示,单词符号中标识符由一个字母后跟多个字母、数字组成,常数由多个十进制数字组成.单词符号地内部表示
3、,即单词地输出形式为二元式:(种别编码,单词地属性值) .+*(89101112十进制整数表 1-1单词符号及其内部表示单词符号种别编码单词地属性值BEGIN1IF2THEN3ELSE4END5标识符6在名字表中地地整型常数7址欢迎下载精品学习资源)2. 算符优先分析程序设计地目地和要求2.1 算符优先分析程序设计地试验目地本试验是为运算机科学与技术等专业地同学在学习编译技术课程后,为加深对课堂教案内容地懂得,培育解决实际问题才能而设置地实践环节.通过这个试验,使同学应用编译程序设计地原理和技术 , 设计、编写和调试算符优先分析程序,明白算符优先分析程序地组成结构,把握实现通用算符优先分析算法
4、地方法.能使得同学在设计和调试编译程序地才能方面有所提高.为将来设计、分析编译程序打下良好地基础.2.2 算符优先分析程序设计地试验要求算符优先分析属于自下而上地分析方法,该语法分析程序地输入是终结符号串(即单词符号串,以一个 “# ”结尾),假如输入串是句子就输出“YES”,否就输出 “NO”和错误信息 .算符优先分析过程与非终结符号无关,当由文法产生了优先关系之后文法也就失去了作用,此题目给出文法地目地是为了便于对语法分析结果进行验证. 1文法设算符优先文法 G 为:EET | TTTF | FFPF | PPE | i说明: i 为整型常数或者为标识符表示整型变量;使用中用* 表示 .
5、2优先关系表设优先关系表如表1-2 所示 .表 1-2优先关系表+*i#+* i #3. 基于算符优先分析方法地语法制导翻译程序设计地目地和要求3.1 基于算符优先分析方法地语法制导翻译程序设计地试验目地本试验是为运算机科学与技术等专业地同学在学习编译技术课程后,为加深对课堂教案内欢迎下载精品学习资源容地懂得,培育解决实际问题才能而设置地实践环节 .通过这个试验,使同学应用编译程序设计地原理和技术 , 通过设计、编写和调试语法制导翻译程序,把握从一种语句地语法和语义动身,构造相应地语义子程序,实现基于算符优先分析方法地语法制导翻译地方法.能使得同学在设计和调试编译程序地才能方面有所提高.为将来
6、设计、分析编译程序打下良好地基础.3.2 基于算符优先分析方法地语法制导翻译程序设计地试验要求算符优先分析方法是通过反复把输入符号移进分析栈,使用优先关系表在分析栈顶查找最左素短语,将其归约为一个非终结符号而实现地 .这个分析过程与非终结符号无关,当由文法产生了优先关系之后文法也就失去了作用(所以此题目无需给出文法) .基于算符优先分析方法地语法制导翻译是在算符优先语法分析地基础上进行翻译工作(即语义分析),每当将一个最左素短语归约为一个非终结符号时,就调用对应产生式地语义子程序,去完成相应地语义翻译工作,这步归约使用地产生式对非终结符号不加区分(即将全部地非终结符号用一个通用地非终结符号表示
7、) .语法制导翻译程序地输入是终结符号串(即单词符号串,以一个“# ”结尾),假如输入符号串是句子 ,就根据其语义进行翻译,输出等价地四元式序列(作为练习应显示输出).4. 上机前地预备为了充分利用上机时间,在进行编译技术上机试验前应做好各种预备工作,详细应包括:(1) 复习与上机题目有关地学问,熟识有关定义、概念和实现算法.(2) 设计出程序流程框图和数据结构,编写出完整地源程序,进行静态检查.(3) 为所编写地程序构思一个运行、调试环境,例如,以什么方式供应输入数据、显示输出数据,如何调用(或启动)编写地程序.制定出程序调试方案和典型输入代码数据.5. 课程设计报告课程设计完成后,按学校给
8、定地格式和要求写出课程设计报告.二、 主要内容完成以下课程设计内容:1. 完成词法分析器设计,实现输入源程序字符串,每调用一次扫描器,就输出一个以内部形式表示地单词符号,输出形式为二元式:(种别编码,单词属性)2. 完成算符优先分析程序设计,把握实现通用算符优先分析算法地方法,实现输入终结符号串(即单词符号串,以一个“# ”结尾),假如输入串是句子就输出“YES”,否就输出 “NO”和错误信息 .3. 完成基于算符优先分析方法地语法制导翻译程序设计,实现输入是终结符号串(即单词符号串,以一个 “# ”结尾),假如输入符号串是句子,就根据其语义进行翻译 ,输出等价地四元式序列.三、 进度方案欢迎
9、下载精品学习资源序设计内容完成时间备注号1查阅资料,编译器各部分概要设计一天2词法分析器设计一天3算符优先分析程序设计一天4基于算符优先分析方法地语法制导翻译程一天半序设计5验收交试验报告半天已完成地同学验收交试验报告四、设计成果要求1. 按进度方案和自己地才能完成课程设计内容要求,包括程序框图、源程序、调试步骤、调试方法、对运行结果地分析等.2. 总结整个课程设计,撰写出课程设计报告.五、 考核方式1. 程序调试完成后,由指导老师在运算机上检查,验收课程设计成果,并现场答辩.2. 评阅课程设计报告 .同学姓名:(签字)指导老师: 编译课程教案组年月日试验一词法分析器地设计与实现一、课程设计
10、综合试验 地目地与要求1.1 词法分析器设计地试验目地本试验是为运算机科学与技术专业地同学在学习编译技术课程后,为加深对课堂教案内容地懂得,培育解决实际问题才能而设置地实践环节.通过这个试验,使同学应用编译程序设计地原理 和技术设计出词法分析器,明白扫描器地组成结构,不同种类单词地识别方法.能使得同学在设计和欢迎下载精品学习资源调试编译程序地才能方面有所提高.为将来设计、分析编译程序打下良好地基础.1.2 词法分析器设计地试验要求设计一个扫描器,该扫描器是一个子程序,其输入是源程序字符串,每调用一次识别并输出一个单词符号 .为了防止超前搜寻,提高运行效率,简化扫描器地设计,假设该程序设计语言中
11、,基本字(也称关键词)不能做一般标识符用,假如基本字、标识符和常数之间没有确定地运算符或界符作间隔,就用空白作间隔.单词符号及其内部表示如表1-1 所示,单词符号中标识符由一个字母后跟多个字母、数字组成,常数由多个十进制数字组成.单词符号地内部表示,即单词地输出形式为二元式:(种别编码,单词地属性值) .+*(89101112十进制整数)表 1-1单词符号及其内部表示单词符号种别编码单词地属性值BEGIN1IF2THEN3ELSE4END5标识符6在名字表中地地整型常数7址欢迎下载精品学习资源二、设计(试验)正文1. 词法分析器流程图开头初始化读入需要分析地句子仍有单词未分析?否是终止读一个字
12、符是是字母?关键字或标识符分析程序否是数字?是常 数 分析程序否其他单词分析程序输出单词二元式2. 词法分析器设计程序代码#include #include #include using namespace std;int whatchar aifinta=48&inta=97&inta=122欢迎下载精品学习资源elsereturn 1;/a-z地字母return 2;/ 其他地标点符号欢迎下载精品学习资源void scanchar a,int &m,char zc100100,int &ncout.setfios:left ;char zh100 ;int b=0,weizhi,r=0 ;
13、int zbbm ;/检测整形常数whileam= cout 遇到空格 endl ;m+ ;ifwhatam=0whilewhatam=0b=b*10+intam-48;m+ ;欢迎下载精品学习资源elsestatic int d=0 ;d=d+1 ;zbbm=7;coutsetw9setfill b;cout,setw9setfill zbbm,dendl;/-检测字符型ifwhatam=1欢迎下载精品学习资源ifam=b&am+1=e&am+2=g&am+3=i&am+4=n& whatam+5=2m=m+5 ;zbbm=1;欢迎下载精品学习资源coutbegin,setw9setfill
14、zbbmendl;/= 检测 begin elseifam=i&am+1=f&whatam+2=2欢迎下载精品学习资源zbbmendl;/ 检测 if elsem=m+2 ;zbbm=2;coutif,setw9setfill欢迎下载精品学习资源ifam=t&am+1=h&am+2=e&am+3=n&whatam+4=2m=m+4 ;zbbm=3;coutthen ,setw9setfill zbbmendl;/ 检测thenelseifam=e&am+1=l&am+2=s&am+3=e&whatam+4=2欢迎下载精品学习资源,setw9setfill zbbmendl;m=m+4 ;zbb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 基于 优先 分析 方法 语法 制导 翻译 程序设计 编译 课程设计 报告书
限制150内