- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)