蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOCX文档下载
 

编译系统设计_实验大纲

  • 资源ID:53169375       资源大小:107.18KB        全文页数:6页
  • 资源格式: DOCX        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

编译系统设计_实验大纲

编译系统设计实验指导书 1实验目的 设计并实现一个Pascal-语言的编译系统(Pascal-语法见教材附录),掌握编译原理的各个环节词法分析、语法分析、语义 分析、代码生成,以及实现所需的数据结构语法树、符号表等。通过这样的实验,提高学生协作编程的能力,加深对编译技术 的理解,编译原理是一门综合各个学科知识的课程,编译系统设计让学生在实践中综合理解计算机学科知识。 2实验需求 2.1需求概述 Pascal-语法定义 见网站文法”。 生成代码 生成MIPS目标代码,代码在MIPS模拟器上运行,或者生成TM目标码,代码在TM虚拟机运行。也可以生成汇编代码, 直接在PC上运行。 运行环境 Windows系统环境或者Linux环境。 输入 输入为符合Pascal-语法规则程序示例。 输出 MIPS指令代码或TM代码或者汇编代码。 2.2要实现的编译器各个环节 编译器包含词法分析、语法分析、语义分析、代码生成、代码优化、运行环境等阶段和环节,是一个复杂的系统,本实验针 对前四个阶段进行,不包括代码优化阶段。 词法分析 可以考虑用词法分析生成器LEX来生成。实验者提供Pascal-的词法规则脚本文件。 语法分析 语法分析器考虑用语法分析器生成工具YACC来实现。实验者提供Pascal-语法规则的YACC脚本文件。具备错误恢复能力。 语义分析 根据附录中的Pascal-语法规则写出语义分析程序。 代码生成 生成MIPS指令代码或者TM目标码或者汇编代码。 运行环境 基于堆栈的运行环境,支持局部函数。 符号表 用hash table实现符号表。给出hash函数设计及其实现。 3设计指导 3.1系统体系结构 编译系统体系结构如下 源代码 符号表 错误处 理器 目标代码 图1编译系统体系结构 本次实验不要求有代码优化阶段。错误处理有简单的处理即可。 3.2模块概述 3. 2. 1词法分析程序 在这个阶段编译器实际阅读源程序(通常以字符流的形式表示)。词法分析程序从左到右读入字符,按照源语言规定的词法 规则,识别出一个个的单词(token)。即这个模块的输入是Pascal-源程序,输出是单词流。 3. 2. 2语法分析程序 语法分析程序从词法识别程序中获取记号形式的源代码,并完成定义程序结构的语法分析syntax analysis或者parsing. 本模块的输入是单词流,输出是语法树。 3. 2. 3语义分析程序 语义分析的一个重要组成部分是类型推理和类型检查,其输入是语法树,输出是带语义信息的语法树和带语义信息的符号表。 3. 2. 4代码生成程序 编译器在完成语法分析和语义分析以后,就可以进行代码生成。可以直接生成tm目标码;也可以生成三地址码后生成汇编 代码或者直接生成汇编代码。 3. 2. 5符号表 符号表是编译系统的重要的数据结构。从词法分析到代码生成都和它有关系。 3. 2. 6错误处理 本实验对错误处理不仅要求能及时报错并指出错误所在位置,还要求能够恢复错误状态,继续编译运行,直至程序处理完毕。 4文档要求和评分标准 本实验有一定的规模,实现上有一定的复杂度,推荐3人一组最多不得超过4人,完成一个完整的系统。系统设计开发完 成后,需要经过现场运行验收才算通过,并将设计文档上传到指定的服务器。 1、设计文档包括 0实验报告封面见下页 1 总体设计报告同一个组里各同学该报告相同,报告里要注明组内分工, 2 模块设计报告 3 其他设计开发文档如测试报告,开发体会、小结等, 4 源代码文件。 要求每组将设计文档打包为一个文件文件名为“学号姓名.rar” 2、设计文档包括最终成绩由平时实验分30和Pascal-编译器实验得分70构成。 3、Pascal-编译器实验具体的评分标准如下 1 实验最后得分由两部分构成实验报告和文档的规范性35,又分为词法分析设计、语法分析设计、语义分析设计、 运行环境设计、代码生成设计、符号表设计和其他文档设计七个部分,各占5;实验的正确性和合理性65,根据运行情 况来判断实验的正确性和合理性,又划分为5个子模块词法分析、语法分析、语义分析和符号表、运行环境和代码生成。 2 报告及时提交,则根据报告的质量给相应得分;未及时提交,则在报告质量分级基础上降一级,未提交报告或报告为 抄袭,相应的报告得分为“不及格”。 3 总体报告得分各小组成员相同,在总体报告中应给出各成员负责的模块,详细报告根据各人的任务单独给分。 4 多人协作完成一个完整的系统,经验收功能完善且几乎没有错误,则组内各成员验收得分都为优;如某模块功能不完 善或有较多错误,则对负责该模块的成员进行扣分。 5 多人协作完成一个系统,但最后系统无法联合运行,则按各人完成他负责的模块进行处理。 6 若程序编写工作基本完成,但无法运行或无法进行测试,则根据程序质量给验收得分为60-79 若基本上末编写程序或程序纯属抄袭,验收得分为“不及格”。 课程名称 姓 名 学 院 系 专 业 学 号 指导教师 本科实验报告

注意事项

本文(编译系统设计_实验大纲)为本站会员(aaakkpc)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开