文档详情

编译原理课程设计--LL(1)文法分析器.doc

发布:2018-05-11约1.59万字共25页下载文档
文本预览下载声明
目 录 引言...............................................................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)中,特别是,若所有的
显示全部
相似文档