编译原理课程设计报告
课程设计报告
设计题目:一个简单文法的编译器的设计与实现
班
级:计算机1206班
组长学号:2012XXX组长姓名:XXX指导教师:XXX设计时间:2014年12月
1
f编译原理课程设计报告
设计分工
组长学号及姓名:2012XXXXXX
分工:1)读取源文件进行词法分析2)进行LL1分析生成分析表3)设计顶层自动机将源程序分段4)生成可执行的汇编程序
组员1学号及姓名:2012XXX
XXX
分工:1)设计第二层自动机处理程序片段2)生成中间语言四元式3)源程序错误处理
组员2学号及姓名:2012XXX
XXX
分工:1)设计第三层自动机处理复合表达式2)设计带动作的LL1文法3)源程序错误处理
2
f编译原理课程设计报告
摘要
编译原理课程具有很强的理论性和实践性,是计算机专业的一门非常重要的专业基础课程,在系统软件中也是占有十分重要的地位。本次课程设计我们是在VisualC的平台上应用了词法分析、语法分析、语义分析、中间语言生成以及目标语言生成的知识设计了一个简单的编译器前端。其中设计了一个简单的有限自动机来扫描源程序即进行语法分析,并生成了关键字表、标志符表、界符表、常数表和Toke
串;设计了一个LL1文法和一个带动作的文法来实现语法分析,并生成了Select集和LL1分析表;采用了四元式序列的设计来生成中间语言;通过汇编语言设计来生成目标语言。最后为了使该编译器更加完善,我们设计了简单的的错误检查机制,能够对源程序进行比较全面的错误检查同时也能够指出错误出现的大致位置,增强了该编译器的健壮性。
关键字:编译器,前端,有限自动机,LL1文法,汇编语言,错误处理
3
f编译原理课程设计报告
目
录
摘要31、概述52、课程设计任务及要求521设计任务522设计要求63、算法与数据结构631词法分析器的算法632语法分析器的算法12321LL1文法设计算法12322递归下降子程序设计算法1933中间语言生成器算法2034处理复合表达式算法2435目标语言生成器算法r