正在加载图片...
第1章概述 1.2.3课程设计选题 下面列出儿个课程设计的选题,我们给出每个选题的输入和输出,以及这个选题的功能 要求。其中,每个选题要实现的源语言在1.21节中已做规定,即你所做的部分必须能实现 SimpleMiniJOOL语言,这是一个基本要求。你可以在此基础上进行扩展,直至实现 SkipOOMiniJOOL语言. 1.23.1选题一:实现一个语言的解释器 输入:源语言程序对应的AST 输出:输出对该AST解释执行的结果 功能要求:在解释执行中,要对不合法的AST节点进行异常检查和处理。 你需要用文字描述你的解释器中所处理的异常情况。你也需要构造一些测试用例来测试 你的程序,你所构造的测试用例有两类:一类是自己手工编码构造的AST:另一类是编写 m程序,再利用其他的分析器来生成所需要的AST。你也需要用文字说明你的设计实现关 键以及你的测试用例的设计意图。 12.3.2选题二:语法分析器的生成 输入:源语言程序 输出:该源语言程序对应的AST 功能要求:你将使用分析器的生成工具PIex和CUP来完成对源语言程序的词法分析 和语法分析。你要对输入的不合法程序进行异常处理。 你需要用文字描述你所处理的异常情况。你也需要编写m程序,再利用我们提供的 ASTViewer(见第3章)来图形化显示你所构造的AST,你还需要和其他同学实现的解释器 或代码生成器集成来形成一个完整的编译器。你需要用文字说明你的设计实现关键以及你的 测试用例的设计意图。 123.3选题三:类型检查器 输入:源语言程序对应的AST 输出:是否满足类型要求 功能要求:你需要对不合法的AST进行错误定位以及必要的错误恢复处理。 你需要用文字描述你所处理的异常情况,你也需要参照选题一米编写测试用例。你还需 要和其他同学实现的分析器、解释器或代码生成器集成来形成一个完整的编译器。你需要用 文字说明你的设计实现关键以及你的测试用例的设计意图。 1.2.34选题四:x86汇编代码生成器 输入:源语言程序对应的中间表示(如AST) 输出:对应的x86汇编代码文件 功能要求:输出的x86汇编代码应能用gc汇编而得到可执行文件,运行可执行文件可 以得到正确的执行结果。 3第 1 章 概述 3 1.2.3 课程设计选题 下面列出几个课程设计的选题,我们给出每个选题的输入和输出,以及这个选题的功能 要求。其中,每个选题要实现的源语言在 1.2.1 节中已做规定,即你所做的部分必须能实现 SimpleMiniJOOL语言,这是一个基本要求。你可以在此基础上进行扩展,直至实现 SkipOOMiniJOOL语言。 1.2.3.1 选题一:实现一个语言的解释器 输入:源语言程序对应的 AST 输出:输出对该 AST 解释执行的结果 功能要求:在解释执行中,要对不合法的 AST 节点进行异常检查和处理。 你需要用文字描述你的解释器中所处理的异常情况。你也需要构造一些测试用例来测试 你的程序,你所构造的测试用例有两类:一类是自己手工编码构造的 AST;另一类是编写 mj 程序,再利用其他的分析器来生成所需要的 AST。你也需要用文字说明你的设计实现关 键以及你的测试用例的设计意图。 1.2.3.2 选题二:语法分析器的生成 输入:源语言程序 输出:该源语言程序对应的 AST 功能要求:你将使用分析器的生成工具 JFlex 和 CUP 来完成对源语言程序的词法分析 和语法分析。你要对输入的不合法程序进行异常处理。 你需要用文字描述你所处理的异常情况。你也需要编写 mj 程序,再利用我们提供的 ASTViewer(见第 3 章)来图形化显示你所构造的 AST,你还需要和其他同学实现的解释器 或代码生成器集成来形成一个完整的编译器。你需要用文字说明你的设计实现关键以及你的 测试用例的设计意图。 1.2.3.3 选题三:类型检查器 输入:源语言程序对应的 AST 输出:是否满足类型要求 功能要求:你需要对不合法的 AST 进行错误定位以及必要的错误恢复处理。 你需要用文字描述你所处理的异常情况,你也需要参照选题一来编写测试用例。你还需 要和其他同学实现的分析器、解释器或代码生成器集成来形成一个完整的编译器。你需要用 文字说明你的设计实现关键以及你的测试用例的设计意图。 1.2.3.4 选题四:x86 汇编代码生成器 输入:源语言程序对应的中间表示(如 AST) 输出:对应的 x86 汇编代码文件 功能要求:输出的 x86 汇编代码应能用 gcc 汇编而得到可执行文件,运行可执行文件可 以得到正确的执行结果
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有