解释器构造任务书-2016课案.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解释器构造任务书-2016课案

《解释器构造》课程任务书 实验一 [实验名称] 编译技术的分析 编译工具的使用 [实验内容和步骤] 1、阅读文献资料,了解编译技术及编译工具的发展及功能。 2、使用自动化0月16日 提交邮箱:interpreter16@163.com 总分占比: 实验二 [实验名称] CMM语言总体架构的设计和搭建; CMM语言词法分析 [实验目的和要求] 设计CMM语言解释器的总体架构; 设计并编制调试一个分析单词的词法分析器,加深对词法分析原理的理解。 词法分析器的功能如下:、tab键回车等分隔符; 不同类型的记号; 并忽略注释; 下每记号的行号位置; 识别的记号输出; 存分析,则报错 输入形式为文件输入。 输出的结果需要呈现出词法分析器对输入内容分析的结果,例如《编译原理及实践》第56页的“程序清单2-4”。 [实验内容和步骤] 1、对词法现象的形式化描述, 附上所定义的种别码表。 2、程序结构说明,包括程序的总体结构,以及主要的数据结构、算法说明。 3.设计充分的测试数据,给出调试的数据及结果。 [实验总结] 总结本次实验内容,对所完成的结果进行分析评价。(包括在设计、实现中遇到的问题、解决的方法,实验中用到的独到的方法和见解等等。评述设计与实现的优缺点,存在的问题等) [提交时间及内容] 提交截止时间: 10月27日 提交邮箱:interpreter16@163.com 总分占比: 实验三 [实验名称] CMM语言语法分析 [实验目的和要求] 设计并编制调试一个分析CMM程序结构的语法分析器,加深对语法分析原理的理解和应用。 在实验一的基础上,以单词序列为输入,分析单词序列构成的语法结构,给出相应的输出,并进行一定的错误处理。 和实验一进行整合,输入为任意的CMM源程序文件,输出是语法树或者类似可以说明语法成分的结构形式(可以输出到文件或者输出到屏幕上)。 [实验内容] 1、编译方法说明 给出CMM语言的文法。根据所采用的实现语法分析的方法,对文件进行相应的修改。 说明使用的语法分析方法,如递归下降法、预测分析表法或LR方法,给出所采用方法的一些分析过程。 2、程序结构说明,包括程序的总体结构,以及主要的数据结构、算法说明。 3.程序调试,设计充分的测试数据,调试的数据及结果。 [实验总结] 对程序设计及编写中的情况及采取的措施进行总结,给出经验。 [实验总结] 总结本次实验内容,对所完成的结果进行分析评价。(包括在设计、实现中遇到的问题、解决的方法,实验中用到的独到的方法和见解等等。评述设计与实现的优缺点,存在的问题等) [提交时间及内容] 提交截止时间: 11月17日 提交邮箱:interpreter16@163.com 总分占比: 实验四 [实验名称] CMM语言解释器 [实验目的和要求] 设计并编制调试一个实现CMM程序结构的解释器,加深对编译技术的理解和综合应用。在实验一、二的基础上,对输入的满足CMM语法的源程序文件,进行解释执行; 注意,需要考虑一些语义的处理: 检查; 作用与声明检查; 不为 数组下标检查; 的布尔表达式的类型检查 …… 系统的输入:CMM源程序 系统的输出:可选择是否打印编译过程中的每个阶段的输出结果,但是至少需要能够打印出代码生成部分的结果并解释执行得到结果; 以开发小组形式完成; 可以在CMM语言上增加更多的功能,但是不能减少附录一中的语法。 [实验内容] 1.设计:编译方法说明 给出CMM语言的词法现象和语法现象的形式化描述。 指出所使用的语法分析方法,并根据使用的语法分析方法,给出相关的中间推导步骤(如:如果采用递归下降法则给出BNF语法图、如采用预测分析表法则给出预测分析表等)。 说明语义分析中采用的具体的属性文法,进行何种分析。 采用中间代码形式对语义分析的中间结果给出输出(可选); 实现优化技术();:第 总分占比:测试充分35%) 实验报告完整、描述清晰正确;和源代码一致;源码组织合理、结构清晰,可读性好;(10%) 好的设计思想、增添的语法功能相应的解析、相关功能的提供5%) 附录1 CMM(C Minus Minus)语言 一、实验语言的定义 CMM语言为C语言的一个子集: 语言结构:顺序结构(赋值语句、输入、输出)、选择语句(if-else)、循环结构(while)。这些语句结构和C语言的结构一样,允许嵌套。 表达式局限于关系表达式和算术表达式,运算的优先级为:算术运算、关系运算,并服从左结合规则。 算术表达式包括整数和实数上的运算、变量以及“()”、“*”、“+”、“-”、“/”,运算符的优先级顺序为:“()”大于“*”和“/”大于“+”和“-”。 关系运算符包括:“”、“==”、“”。 一条语句以“;”结束;程序由一条语句或者

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档