编译原理课程设计--LL(1)文法分析器.doc
文本预览下载声明
目 录
引言...............................................................1
第一章 概述.....................................................4
1.1设计内容....................................................4
1.2设计要求...................................................4
第二章 设计的基本原理...........................................4
2.1预测分析表的构成原理.......................................4
2.2预测分析程序的生成.........................................5
第三章 程序设计.................................................5
3.1总体方案设计...............................................6
3.2各模块设计.................................................6
第四章 程序测试.................................................7
附录 程序清单.................................................8
课 程 设 计
LL(1)文法分析器
2010 年 12 月
合肥工业大学课程设计任务书
设 计
题 目 LL(1)文法分析器 成绩 主
要
内
容 预测分析表自动构造程序的实现
设计内容及要求:对于任意输入的一个LL(1)文法,构造其预测分析表。要求:首先实现集合FIRST(X)构造算法和集合FOLLOW(A)构造算法,再实现教材P.79给出的预测分析表构造算法。程序显示输出预测分析表或输出到指定文件中。
预测分析程序的实现
设计内容及要求:
对文法 G: E→E+T|T 按教材P.76表4.1构造出G的预测分析程序,
T→T*F|F 程序显示输出如P.78那样的匹配过程。
F→(E)|i
指
导
教
师
意
见 该生能按时完成课程设计任务书所规定的程序设计,综合运用所学知识独立分析和解决问题的能力 。程序设计方案 。论文论述 ,文理 ,格式 。程序运行结果 。程序验收时回答问题 。
签名:
第一章 概述
1.1 设计内容:
1:预测分析表自动构造程序的实现
2:预测分析程序的实现
1.2 设计要求
1:设计内容及要求:对于任意输入的一个LL(1)文法,构造其预测分析表。要求:首先实现集合FIRST(X)构造算法和集合FOLLOW(A)构造算法,再实现教材P.79给出的预测分析表构造算法。程序显示输出预测分析表或输出到指定文件中。
2:设计内容及要求:
对文法 G: E→E+T|T 按教材P.76表4.1构造出G的预测分析程序,
T→T*F|F 程序显示输出如P.78那样的匹配过程。
F→(E)|i
第二章 设计的基本原理
2.1预测分析表的构成原理
对于任意给定的LL(1) 文法G,为了构造它的预测分析表M,我们就必须构造与文法G有关的集合First和fellow.首先我们对每一个X∈VT U Vn ,构造FIRST(X),办法是,连续使用下面的规则,直至每个集合FIRST不再增大为止.
若X∈VT,,则FIRST(X)={X}.
若X∈Vn ,且有产生式X-a……,则把a加入到FIRST(X)中,若X-ε,也是一条产生式,则把ε也加到FIRST(X)中.
若X-Y……是一个产生式且Y∈Vn,则把FIRST(Y)中所有非ε-元素都加到FIRST(X)中,若X-Y1Y2……YK ,是一个连续的产生式, Y1Y2……Yi-1 都是非终结符,而且,对于任何j,1≤j≤i-1,FIRST(Yj) 都含有ε(即Y1Y2……Yi-1=ε),则把FIRST(Yi) 中的所有非ε-元素都加到FIRST(X)中,特别是,若所有的
显示全部