snl编译器实现开发_第1页
snl编译器实现开发_第2页
snl编译器实现开发_第3页
snl编译器实现开发_第4页
snl编译器实现开发_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-1-编译程序的面向对象设计与实现Dr. Zheng XiaojuanProfessorSoftware College of Northeast Normal UniversityAug. 2013-2-本课程与其它理论课程的关系C+/Java 面向对象程序设计编译程序构造原理与实现技术(前导课程: 离散数学、数据结构、 C及C+程序设计语言、操作系统)实验教学 编译器的面向对象设计与实现-3-Optional Textbooks1 Aho, Alfred V., Ravi Sethi, and Jeffrey Ullman. Compilers: Principles, Technique

2、s and Tools. Reading, MA: Addison-Wesley, 1986. ISBN: .2 Appel, Andrew W. Modern Compiler Implementation in Java. Cambridge, UK: Cambridge University Press, 1997. ISBN: .3 Kenneth C. Louden. Compiler Construction: Principles and Practice. PWS Publishing Company, 1997. IBSN 0-534-3972-4.4 金成植 编译程序构造原

3、理与实现技术高等教育出版社.5 刘磊 编译程序的设计与实现高等教育出版社.-4-开发编译器的目的加深对程序设计语言的理解。因为设计一个编译程序,需要准确认识程序语言的语法和语义,了解目标机及目标代码的结构,这些知识对于学习新的程序设计语言是非常有帮助的。编译程序本身是一个十分庞大而复杂的系统软件,涉及到许多复杂的数据结构和实现算法,若能系统全面的掌握编译技术,必将大大提高程序设计能力,特别是开发大型软件的能力。编译技术可以应用于许多实际的软件开发工作中,如软件开发平台、软件自动生成、模式匹配等许多方面。可以培养学生的抽象思维能力,掌握形式化描述技术,这种思想和方法可能对今后从事的软件开发工作产

4、生深远的影响。编译程序是一种元级程序,即它处理的对象就是程序,因此学习编译原理和实现技术,对于我们掌握元级程序设计方法十分有帮助。(编译程序、解释程序、程序转换、程序分析、程序调试)软件工程学科本科生能力规格具有从事工程工作所需的相关数学知识;对软件系统、计算机系统、信息系统乃至与计算机软件相关的社会系统具有系统级的认识能力;具备扎实的理论基础,能够全面通晓计算机软件和软件工程的基础知识,较深入理解至少一个计算机软件应用领域;有较强的动手能力,能够具有一定的系统分析和软件设计的能力,熟练使用一种以上主流的操作系统、数据库管理系统和程序设计语言,做到理论与实践相结合;有实际项目的工作经验;具备自

5、学习的能力以适应软件技术的快速变化,能够通过自学的方式在较短时间内掌握系统软件的使用;能够综合应用各类方法、技术和工具,运用工程技术方法解决复杂软件问题的能力;具备语言、交流、写作等基本的软件从业能力,认同现行的法律、道德和伦理。掌握文献检索、资料查询及运用现代信息技术获取相关信息的基本方法具有一定的组织管理能力、较强的表达能力和人际交往能力以及在团队中发挥作用的能力; 软件工程师的基础能力识别问题与寻求解决的能力驾驭复杂系统的能力数据抽象与处理能力过程描述与控制能力在实际环境中发挥上述能力的能力本课程教学目标集中训练能力规格4,要求做到自主开发。针对能力规格6,要求做到以开发小组为单位的自学

6、能力训练,要求做学习汇报。学习内容可自选也可从以下内容选取:软件复用,软件设计,软件测试,软件工程新方法、技术和工具以及每一开发阶段的创新。针对能力规格8,要求做到开发的所有阶段都必须具有完整标准文档。针对能力规格10,要求做到开发小组为管理单位,分工合作,发挥团队的集体智慧。-8-编译程序的源语言面向过程: SNL5 C-13面向对象: MiniJava2-9-编译程序的开发语言面向对象语言: C+; Java; C#;-10-编译程序开发的程序设计方法面向过程: 35面向对象: 12-11-教学方式: 小组设计开发,阶段全体授课,小组汇报学习、开发方法(建议): 熟练编译技术 精通源语言;

7、(SNL,C-,MiniJava) 精通开发语言;(C,C+,Java,C#) 熟悉目标语言;(汇编语言,虚拟机) 熟悉开发环境;( ,eclips) 强调全局思维; 参考源程序;教学方式与学习、开发方法-12- 考核方法-presentation组长做项目总结(60分)整个项目的开发文档,小组讨论内容呈现。给出至少4个测试程序作为编译程序的输入,进行词法分析,语法分析,和语义分析得出正确的token链,语法分析树,符号表。以及分别输出词法,语法和语义错误。小组汇报内容呈现。组长自己的开发工作呈现和讲述。小组成员的开发工作呈现和讲述(30)。 给出每个人在整个开发过程中担当的角色和完成的工作。小组成员不记名为其它成员打分(10分) 考核内容:小组讨论出席情况,项目参与情况,互助情况。 整个开发过程表现优秀(9-10分);良好(6-8分);一般(1-5分);不好(0分)-13-编译器开发时间安排源语言学习(1周)词法分析(3周)语法分析(3周)符号表管理与语义分析 (4周)目标代码生成(3周)界面(2周) 验收(2周) 自学习内容选择与确定时间为第2周开始,汇报开始时间为第4周,结束时间为16周之前。-14-开发编译器的性能要求可移植性;可扩展性;可维护性;编译可靠性;编译速度;目标代码的运行速度;空间节省;-15-小组讨论要求(1)认

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论