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

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

ID:35626962

大小:234.50 KB

页数:25页

时间:2019-04-03

编译原理课程设计--LL(1)文法分析器_第1页
编译原理课程设计--LL(1)文法分析器_第2页
编译原理课程设计--LL(1)文法分析器_第3页
编译原理课程设计--LL(1)文法分析器_第4页
编译原理课程设计--LL(1)文法分析器_第5页
资源描述:

《编译原理课程设计--LL(1)文法分析器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、目录引言...............................................................1第一章概述.....................................................41.1设计内容....................................................41.2设计要求...................................................4第二章设计的基本原理...........................................

2、42.1预测分析表的构成原理.......................................42.2预测分析程序的生成.........................................5第三章程序设计.................................................53.1总体方案设计...............................................63.2各模块设计.................................................6第四章程序测试............

3、.....................................7附录程序清单.................................................825课程设计设计题目LL(1)文法分析器学生姓名号学号指导教师专业班级2010年12月25合肥工业大学课程设计任务书设计题目LL(1)文法分析器成绩主要内容预测分析表自动构造程序的实现设计内容及要求:对于任意输入的一个LL(1)文法,构造其预测分析表。要求:首先实现集合FIRST(X)构造算法和集合FOLLOW(A)构造算法,再实现教材P.79给出的预测分析表构造算法。程序显示输出预测分析表或输出到指定文件

4、中。预测分析程序的实现设计内容及要求:对文法G:E→E+T

5、T按教材P.76表4.1构造出G的预测分析程序,T→T*F

6、F程序显示输出如P.78那样的匹配过程。F→(E)

7、i指导教师意见该生能按时完成课程设计任务书所规定的程序设计,综合运用所学知识独立分析和解决问题的能力。程序设计方案。论文论述,文理,格式。程序运行结果。程序验收时回答问题。签名:25第一章概述1.1设计内容:1:预测分析表自动构造程序的实现2:预测分析程序的实现1.2设计要求1:设计内容及要求:对于任意输入的一个LL(1)文法,构造其预测分析表。要求:首先实现集合FIRST(X)构造算法和集合FOLLOW(A)构造算法,再

8、实现教材P.79给出的预测分析表构造算法。程序显示输出预测分析表或输出到指定文件中。2:设计内容及要求:对文法G:E→E+T

9、T按教材P.76表4.1构造出G的预测分析程序,T→T*F

10、F程序显示输出如P.78那样的匹配过程。F→(E)

11、i第二章设计的基本原理2.1预测分析表的构成原理对于任意给定的LL(1)文法G,为了构造它的预测分析表M,我们就必须构造与文法G有关的集合First和fellow.首先我们对每一个X∈VTUVn,构造FIRST(X),办法是,连续使用下面的规则,直至每个集合FIRST不再增大为止.(1)若X∈VT,,则FIRST(X)={X}.(2)若X∈Vn,且有产生式X

12、->a……,则把a加入到FIRST(X)中,若X->ε,也是一条产生式,则把ε也加到FIRST(X)中.(3)若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)中,特别是,若所有的FIRST(Yj)均含有ε,j=1,2,……,k,则把ε加到FIRST(X)中.对于文法G中每个非终结符A构造FOLLOW(A)的办

13、法是,连续使用下面的规则,直到每个FOLLOW不在增大为止.(1)对于文法的开始符号S,置#于FOLLOW(S)中;(2)若A->aBb是一个产生式,则把FIRST(b){ε}加至FOLLOW(B)中;(3)若A->aB是一个产生式,或A->aBb是一个产生式而b=>ε(即ε∈FIRST(b))则把FOLLOW(A)加至FOLLOW(B)中25构造分析表M的算法是:(1)对文法G的每个产生式A->a执行第二

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。