编辑: 南门路口 2013-06-08

1、每增加两个采用者加1分;

2、课程设计和平时作业合计不超过50分.独自完成整个编译器,分组评定成绩后降10分前后端人数比例严重失调,抬高少数人一端分数备注成绩评定可能有考虑不周的地方,解释权在老师系统地发现所提供的参考源代码中的错误,给予表彰和奖励 编译原理实验指导 * 编译原理实验指导 * 实验入门指南―深入学习1 开发基础写一个简单的Java程序 mydir/src/test.java或者直接利用lab1中的代码lab1/src/…用Eclipse编译和调试尝试按实验教程中1.3.3节介绍的各种方法来建立工程学习在Eclipse下调试和运行在命令控制台下编译和调试用javac编译Java源程序,得到Java字节码用java运行Java字节码写一个ant编译文件(参见实验教程中1.3.4节),用ant来编译和运行Java程序用实验平台运行,熟悉配置文件 编译原理实验指导 * 实验入门指南―深入学习2 SkipOOMiniJOOL语言及其AST编写SkipOOMiniJOOL程序目的:了解语言特点,所写程序可以作为测试程序查看SkipOOMiniJOOL程序的AST方法:参见lab3目的:通过AST图形化输出了解一个SkipOOMiniJOOL程序与其AST的对应关系手工构造SimpleMiniJOOL程序的AST方法:参见实验教程第2章, TestCase.java等从小语言入手来学习AST的构造构造AST的一些注意事项关于List类型的实例:可以用java.util.LinkedList(或ArrayList)一个AST节点不能被多棵AST(子树)所引用 编译原理实验指导 * 实验入门指南―深入学习3 前端:词法分析+语法分析+语义分析做法使用JFlex+CUP来生成分析器的源码: 参见ch4和ch5使用JavaCC来生成分析器的源码: 参见ch5手工编写分析器先支持SimpleMiniJOOL,再扩展到SkipOO…语言中的注意点:变量的作用域,同名问题的处理,等等了解AST访问者类、管理符号的一些容器类(如HashMap)、List等等各类符号的描述信息?定义符号类、符号表类 编译原理实验指导 * 实验入门指南―深入学习4 前端:词法分析+语法分析+语义分析利用分析器的生成工具构造分析器时,先构造简单的语法分析器:不构造AST、不进行错误处理重点:熟悉分析器的生成工具及其使用方法再构造能输出AST的语法分析器,它只能分析正确的源程序重点:熟悉在产生式的语义动作中添加构造AST的代码再构造能处理语法错误并产生AST的语法分析器重点:识别哪些错误?如何处理错误?如何恢复错误?错误信息?以AST Visitor的实现类为基础实现语义检查重点:符号表的设计,语义检查修改文法规范文件,增加符号表的维护与语义检查动作重点:注意了解语法和语义分析之间的相互影响 编译原理实验指导 * 实验入门指南―深入学习5 前端:词法分析+语法分析+语义分析AST->LIR了解LIRAST中的结构到LIR的映射关系 编译原理实验指导 * 实验入门指南―深入学习6 后端:由LIR/AST生成x86或MIPS汇编码了解x86/MIPS汇编码及其相关工具(gcc/spim)总结语言的语法结构与汇编码之间的映射关系写出对应的C程序,用gcc编译得到x86汇编码或spim汇编码AST和LIR的表示与使用(见实验教程的第2,6章)了解汇编语言特征配置文件及汇编码的内部表示(见实验教程的第7章)不考虑寄存器分配的代码生成(lab6或lab7中的Generator1.java)考虑寄存器分配的代码生成(lab6或lab7中的Generator2.java/Generator3.java )

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题