




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告课程设计名称: 编译技术 系 : 三 系 学生姓名: 班 级: 学 号: 成 绩: 指导教师: 开课时间: 学年 学期目录一 设计题目1二 主要内容1三 具体要求1四 进度安排1五 成绩评定1六 设计思路11.词法分析12.SLR的分析表21). 算术表达式的SLR(1)分析表:22). 布尔表达式的SLR分析表:33). 程序语句的SLR分析表:4七 程序运行结果截图5八 设计体会71 设计题目简单的小型高级程序设计语言的编译器。2 主要内容自定义一种简单的小型高级程序设计语言,采用任意一种编程语言和编程工具设计并实现其编译器,展示编译系统中词法分析和语法分析(LR分析方法)的全过程。3 具体要求1、对单词的构词规则有明确的定义;2、编写的词法分析程序能够正确识别源程序中的单词符号;3、识别出的单词以的二元式形式保存并输出;4、构造出程序设计语言各语法单位的SLR(1)分析表 (其他分析表亦可);5、能够对输入的源程序做出正确的语法分析并输出清晰的结果;6、高级语言的规模不易过大,注重编译器内核的设计,对于界面无要求;7、课程设计报告中应对所自定义高级语言进行简单描述,对编译器的设计进行简单的需求分析,给出设计说明和程序结构框架,阐明设计思路、用到的原理和方法。8、不可更改课程设计报告中已有的字体和格式,课程设计报告中新加入内容,汉字采用宋体五号字,英文字符和数字采用Times New Roman五号字,行距全部采用单倍行距。9、课程设计报告中的运行结果应以程序运行截图形式出现。10、程序源代码以附件形式发送至指定邮箱:。附件名称为:“完整学号+姓名”。4 进度安排表1 进度安排表序号内 容时间(天)1布置题目、查找资料12概要设计13详细设计34调试分析15测试结果0.56总结和完成设计报告1合 计7.55 成绩评定1、考核方法:通过现场考勤、检查源程序和批改课程设计报告相结合的方式考察学生的动手能力,独立分析解决问题的能力和创新精神,并根据学生的学习态度综合考评。2、成绩评定:成绩分优、良、中、及格和不及格五等。6 设计思路1.词法分析表1 单词符号及种别表符号种别编码说明sy_if0保留字 ifsy_then1保留字 thensy_else2保留字 elsesy_while3保留字 whliesy_begin4保留字 beginsy_do5保留字 dosy_end6保留字 enda7赋值语句semicolon8 “;”e9布尔表达式jinghao10“#”S11语句L12复合语句tempsy15临时变量EA18B andEO19B orplus34“+”times36“*”becomes38“:=”op_and39“and”op_or40“or”op_not41“not”rop42关系运算符lparent48“(”rparent49“)”ident56变量intconst57整常量2.SLR的分析表1). 算术表达式的SLR(1)分析表:算数表达式文法GE如下:E-E+E|E*E|(E)|i将文法GE拓广为文法GE: (0)SE(1)EE+E(2)EE*E(3)E(E)(4)Ei由此得到算数表达式的SLR(1)分析表如下:表2 算数表达式的SLR(1)分析表 状态 ACTIONGOTOi+*()#E0s3s211s4s5acc2s3s263r4r4r4r44s3s275s3s286s4s5s97r1s5r1r18r2r2r2r29r3r3r3r32). 布尔表达式的SLR分析表:布尔表达式的文法如下:B-BB|BB|B|I rop i|i为了便于语法分析时加工处理,我们将上述文法改为文法GS: BBAB|B0B|B|(B)|I rop i|i BABB0 B将文法GS拓广为文法GS: (0)SB(1) B i(2) B I rop i(3) B (B)(4) B NOT B(5) A B AND(6) B AB(7) O B OR(8) B OB由此得到布尔表达式的SLR(1)分析表如下:表3 布尔表达式的SLR(1)分析表状态 ACTION GOTOirop()NOTANDOR#BAO0s1s4s513781s2r1r1r1r12s33r2r2r2r24s1s4s511785s1s4s56786r4s9s10r47s1s4s514788s1s4s515789r5r5r510r7r7r711s12s9s1012r3r3r3r313s9s10acc14r6s9s10r615r8s9s10r83). 程序语句的SLR分析表:程序语句的文法GS如下 Sif e then S else S|while e do S|begin L end|a LS;L|S由于在编译程序设计与视线中,我们是将赋值语句与算数表达式归为一类处理的,故在此将赋值语句仅看作是程序语句文法中一个终结符a,将布尔表达式B也看作为终结符e。将文法GS拓广为文法GS: (0)S S(1) S if e then S else S(2) S while e do S(3) S begin L end(4) S a(5) L S(6) L S;L由此得到程序语句的SLR(1)分析表如下:表4 程序语句的SLR(1)分析表状态 ACTION GOTOifthenelsewhilebegindoenda;e#SL0s2s3s4s511acc2s63s74s2s3s4s5985r4r4r4r46s107s118s129r5s1310s2s3s4s51411s2s3s4s51512r3r3r3r313s2s3s4s591614s1715r2r2r2r216r617s2s3s4s51818r1r1r1r17 程序运行结果截图图1 词法分析结果1图2 词法分析结果2图3 变量名表图4 状态栈变化过程及归约顺序1图5 状态栈变化过程及归约顺序2图6 四元式分析结果8 设计体会这次编译原理的课程设计为时一周半,整个程序的源代码是书上现成的,课程设计初期老师给我们大致讲解了一些基础的原理,关于单词的内部定义,程序的LR分析,还有程序中一些关键性的变量和函数的讲解,但由于程序篇幅很长,我们理解起来并不是那么容易,于是采取遇错改错的方式,遇到错误大家一起讨论讨论,请教老师
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-广西-广西下水道养护工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东堤灌维护工二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-安徽-安徽客房服务员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-北京-北京护理员三级(高级工)历年参考题库典型考点含答案解析
- 2025年驾驶证考试-摩托车理论考试-摩托车驾驶证(科目四)历年参考题库含答案解析(5套)
- 2025年职业技能鉴定-铸造造型(芯)工-铸造造型(芯)工(初级)历年参考题库含答案解析(5套)
- 2025年职业技能鉴定-合成氨生产工-合成氨生产工职业技能鉴定(高级)历年参考题库含答案解析(5套)
- 2025年综合评标专家-浙江-浙江综合评标专家(医疗保障局)历年参考题库含答案解析(5套)
- 2025年综合评标专家-山东-山东综合评标专家(咨询类)历年参考题库含答案解析(5套)
- 烫伤家庭急救
- 红星美凯龙展厅租赁合同
- MRI练习题库及参考答案
- 酒店员工接待礼仪培训
- 2024-2025学年高三上学期《为什么要上一个好大学?》主题班会课件
- 管道cctv检测方案
- 职业技术学校物联网应用技术专业调研报告
- GB/T 43934-2024煤矿土地复垦与生态修复技术规范
- 2023年某技术有限公司技术规范
- 秋季传染病预防课件幼儿园
- 江苏农牧科技职业学院单招《英语》考试参考题库(含答案)
- 心得报告模板
评论
0/150
提交评论