编译器构造实验-202420181
授课教师:004973,200082,220175
总学时:36
课程教材:[1] A. V. Aho, M. S. Lam, R. Sethi and J. D. Ullman, 编译原理, 机械工业出版社,2014.
先修课程:算法与数据结构、计算机组成原理、编译原理(同时)
主要参考书目:
[2] 陈火旺等,程序设计语言编译原理(第3版),国防工业出版社,2000。
[1]. [3] 陈意云,编译原理和技术(第2版),中国科技大学出版社,1997。
[2]. [4] N.Wirth, 算法 + 数据结构 = 程序,科学出版社,1984(曹德和等译)
课程内容简介(中文):本课程作为编译原理理论课程的配套实验,通过实践教学环节帮助学生更深入地理解编译程序构造的原理、方法、技术和工具,掌握基本的计算机语言(程序设计语言,或特定领域语言DSL)实现能力(包括led/yacc族工具的使用),让学生在实践中领会“语言也是求解问题的一种有效途径”。具体实验内容包括:词法分析程序(Scanner)的手工编码实现;词法分析程序的基于lex族工具的实现;语法分析程序(Parser)的自顶向下分析技术实现,即递归下降预测分析器的实现;语法分析程序的自底向上分析技术实现,即基于yacc族工具的LALR(1)分析的实现;根据特定问题开发特定的语义动作(如针对程序设计语言的语义分析、中间代码生成等;或依赖于特定领域需求的语义动作,如根据源代码自动生成调用图或程序流程图)。 本课程要求学生使用规范的软件工程方法和面向对象技术来完成各实验项目,为此专门安排了预备实验来提升学生在这方面的能力。本课程允许学生在与任课老师充分沟通的前提下,根据自己的兴趣、背景和能力自选实验案例取代本课程指定的实验案例,但要求自选实验案例的难度与工作量不低于指定的实验案例。
课程内容简介(英文):