科技学院课程设计报告
20112012年度第1学期
名院班学
称:系:级:号:
编译技术课程设计A
科技学院信息工程系软件09k20919闫雪峰郭丰娟2
学生姓名:指导教师:设计周数:
成
绩:
日期:2011年12月6日
f《编译技术课程设计A》
任
一、目的与要求
务
书
1理解和掌握编译程序设计原理及常用的技术,建立编译程序的整体概念;2理解和掌握编译程序词法分析、语法分析、语义分析、中间代码生成和目标代码生成等几个关键环节原理和实现算法;3掌握软件模块设计技能;熟悉并能较好地利用软件开发环境独立编程、调试和分析程序运行情况,逐渐形成创新思维和从事系统软件的研究和开发能力。
二、主要内容
定义一个简化的类C语言L语言作为源语言,重点针对词法分析、语法分析、语义分析、中间代码生成和目标代码生成等几个关键环节进行编程和调试训练,最终设计实现L语言的编译程序。通过调试L编译程序,了解一般编译程序的总体框架,掌握编译各阶段程序的构造,理解和掌握错误处理方法及符号表的组织方式,理解和掌握语法制导翻译方法。还可以适当扩展L语言成分,并对相应的编译程序进行扩充。可使用C、VC等语言编程实现。
具体内容包括:
1由单词的语法规则出发、画出识别单词的状态转换图,然后用程序实现扫描器设计。2设计、编写和调试算法优先分析程序,了解算法优先分析器的组成结构以及对文法的要求,掌握实现通用算法优先分析算法的方法。3在算符优先分析文法的基础上进行翻译工作,生成四元式表;4设计一个简单的代码生成器,该代码生成器以基本块为单位,依次将每条中间代码变换成相应的目标代码。5综合以上实验的结果,并进行集成与设计,开发出一个小型编译程序。对于各项主要内容的实现细节描述和指导,请参考《计算机综合实践指导》编译技术的相关内容。
三、进度计划
序号设计实验内容词法分析器设计算符优先分析程序设计语法制导翻译程序设计完成时间备注
1234
2天3天3天2天
简单代码生成器设计
f四、设计(实验)成果要求
至少完成简单变量定义语句及包含算术运算符的赋值语句的整个编译过程,统一使用课程设计报告书,文字清楚、工整。
五、考核方式
实验结果(60%)实验报告(30%)实验过程表现(10%)
学生姓名:指导教师:年月日
f一、课程设计综合实验的目的与要求实验整体思想:
单词符号字符词法分析器取一下个单词符号语法分析器
字符串表示的源程序
ar