河北工业大学城市学院本科毕业设计(论文)前期报告
河北工业大学城市学院本科毕业设计(论文)前期报告
毕业设计(论文)题目:高级语言编译系统前端程序的开发
专业:计算机科学与技术
学生信息:学号:075851 姓名:柏少乾 班级:网络C072班
指导教师信息:姓名:吴清 职称:教授
报告提交日期:20xx年03月17日
1、课题意义
对源程序的词法分析开始到中间代码生成,编译程序所完成的处理工作只依赖于源语言,而与运行目标程序的计算机(或目标语言)无关,通常将这些环节统称为编译程序的前端(Front End)。代码优化和目标代码生成,一般只依赖于目标语言,通常将它称为编译程序的后端(Back End)。
如果能将编译程序严格划分为前端和后端两个相对独立的部分,并以中间代码作为其间信息交流的载体这样的模式来构造编译程序,将会给编译程序的开发和维护带来许多好处。例如在构建支持不同硬件平台的编译程序时,只需以编译前端生成的中间代码为接口开发不同硬件平台下的编译后端,以实现代码最大程度的复用。
本次课题主要提供的是一个适合于教学的编译器前端系统的软件雏形和演示程序。要完成具有词法扫描、语法和语义分析、符号表管理等模块的编译器前端的编程工作,即将字符串形式的源程序翻译成四元式形式的中间代码。
2、国内外研究现状
上世纪50年代,Noam Chomsky开始了他对自然语言结构的研究。他的发现最终使得编译器的结构异常简单,甚至还带有了一些自动化。Chomsky的研究导致了根据语言文法的难易程度以及识别它们所需要的算法来对语言分类。正如现在所称的Chomsky架构(Chomsky Hierarchy),它包括了文法的四个层次:0型文法、1型文法、2型文法和3型文法,且其中的每一个都是其前者的特殊情况。2型文法(或上下文无关文法)被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。分析问题(parsing problem,用于上下文无关文法识别的有效算法)的研究是在60年代和70年代,它相当完善的解决了这个问题。现在它已是编译原理中的一个标准部分。
…… …… 余下全文