课程设计报告
20102011年度第1学期
名题院班学
称:
编译技术课程设计A
目:L语言编译器的设计与实现系:级:号:
计算机系软件0802200809020205龚泽滢鲁斌2李莉周
学生姓名:指导教师:设计周数:
成
绩:
日期:2011年1月14日
f《编译技术》课程设计编译技术》
任务书
一、课程设计的目的与要求课程设计的目的与要求设计1.任务:实现一个简单的编译程序,能够对指定程序设计语言进行编译。2.目的:加深对课堂讲授知识的理解,熟练掌握编译程序设计原理及常用的技术,建立编译程序的整体概念,使得学生初步具有研究、设计、编制和调试编译程序的能力。3.要求:熟悉有关定义、概念和实现算法,设计出程序流程框图和数据结构,编写出完整的源程序,进行静态检查,设计出输入数据、显示输出数据;基本功能完善,方便易用,操作无误;通过课程设计学会编译程序设计与实现的常用技术,具备初步分析、设计和开发编译程序的能力,具备分析与检查软件错误、解决和处理实验结果的能力。4.学生要求人数:2人,1人负责扫描器和目标代码生成器的设计和实现,另1人负责语法分析器和语法制导翻译程序的设计和实现。
二、主要内容
下面是课程设计主要内容的简介,详细内容请见《编译技术课程设计指导书》。1.扫描器设计该扫描器是一个子程序,其输入是源程序字符串,每调用一次输出一个单词符号。为了避免超前搜索,提高运行效率,简化扫描器的设计,假设程序设计语言中,基本字不能用作一般标识符,如果基本字、标识符和常数之间没有确定的运算符或界符作间隔,则用空白作间隔。2.语法分析器设计以算法优先分析方法为例,设计一个算符优先语法分析程序。算符优先分析属于自下而上的分析方法,该语法分析程序的输入是终结符号串(即单词符号串,以一个“”结尾),如果输入串是句子则输出“YES”,否则输出“NO”和错误信息。当然,也可采用预测分析等方法设计语法分析器,具体方法自定。3.语法制导翻译程序设计采用语法制导翻译方法,实现算术表达式、赋值语句和基本控制语句等的翻译。本语法制导翻译程序的输入是终结符号串(即单词符号串,以一个“”结尾),如果输入符号串是句子则按照其语义进行翻译输出等价的四元式序列。4.目标代码生成器设计将程序设计语言的中间代码翻译为目标代码,输入是四元式序列,输出是汇编代码文件。
1
f三、进度计划
序号设计内容任务布置,资料查询,方案制定算法设计,r