- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 书
《编译原理》课程设计—预测分析法LL(1) 第 PAGE 1页
四 川 理 工 学 院
课 程 设 计 书
系别: 计算机科学系
专业: 计算机科学与技术
班级: 2004级3班
题目:语法分析器-预测分析法
教师: 黎远松、田永红
学生: 赵 小 平
学号: 04101010416
目 录
一、设计内容·····························································1
二、目的与基本要求·······················································1
三、语法分析器的功能·····················································1
四、算法分析·····························································1
4.1相关理论介绍···················································1
4.2设计原理·····························································2
4.3构造LL(1)分析表·················································3
4.4利用分析表进行预测分析的步骤·········································5
4.5预测分析程序的总控程序的算法描述·····································6
五、流程框图·····························································6
六、函数相关说明·························································8
七、参考程序清单·························································8
八、程序运行结果·························································17
九、使用方法·····························································19
十、课程设计心得·························································20
参考资料································································20
语 法 分 析 器
—预测分析法
一、设计内容
用预测分析法(即LL(1)分析法)构造文法G[E]:
Eà E + T | T
Tà T * F | F
Fà ( E ) | i | x | y
的预测分析程序(即语法分析器)。
二、目的与基本要求
1、通过该课程设计要学会用消除左递归的方法来使文法满足进行确定自顶向下分析的条件。
2、学会用C/C++高级程序设计语言来设计一个LL(1)分析法的语法分析器;
3、通过该课程设计,加深对语法分析理论的理解,培养动手实践的能力。
三、语法分析器的功能
该语法分析器能够分析词法分析器的结果,即单词二元式。在输入单词二元式后,能输出分析的结果。
四、算法分析
4.1相关理论介绍
语法分析是编译过程的核心部分。语法分析的任务就是识别词法分析程序输出的单词序列是否为给定方法的正确句子,并确定其语法结构。尽管目前已提出很多语法分析方法,但总体上语法分析的方法可分为两大类:自顶向下的分析方法和自底向上的分析方法。
自底向上的分析方法就是归约的方法,即从待分析符号串出发,从底向上构造语法树,若能够造至树根(能够归约到方法开始符号),则表示该符号串是方法的句子。
自顶向下的分析法其实就是推导的方法,也就是从方法的开始符号出发,试图向下构造待分析符号串的语法树,若语法的叶结点可以构成该符号串(能够推导出该符号串),则表示这个符号串是方法的句子。自顶向下的分析方法又分为:带回溯的自顶向下分析方法和确定的自顶向下分析方法。一个文法如果要能进行确定的自顶向下分析,必须满足什么条件呢?
由可选集的定义可知,规则A→x的可选集SELECT(A→x)是指采用该规则能够推导出的下一个终结符号的集合。因此
文档评论(0)