- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算符优先词法分析器_编译原理完整课程设计
算符优先词法分析器
4
16
- 1 -
算符优先词法分析器
算符优先算法是自底而上分析方法的一种。所谓自底向上分析,也称移进—规
约分析,粗略地说他的实现思想是对输入符号串自左向右进行扫描,并将输入符逐
个移入一个后进先出的栈中,边移进边分析,一旦栈顶符号串形成某个句型的句柄
或可规约串是,就用该产生式的左部非终结符代替相应右部的文法符号串,这称为
一部规约。重复这一过程直到规约到栈中只剩文法的开始符号是则为分析成功,也
就确认输入串是文法的句子。而算符优先分析的基本思想是只规定算符之间的优先
关系,也就是只考虑终结符之间的优先关系。
本课程设计的主要目的:
1、通过本次课程设计,全面系统的了解编译原理程序构造的一般原理和基本实
现方法,尤其是对自底向上的优先分析方法的认识和理解;
2、提高对编译程序工作基本过程及其各阶段基本任务的分析技能;
3、加强对编译程序的生成过程、构造工具及编译程序总流程框图的理解,巩固
所学的课本知识。
算符优先分析法是一种有效的自底向上的分析方法。自底向上分析方法面临的
主要问题是如何确定可归约串,而算符优先分析法根据两个终结符号之间的优先关
系比较,成功的解决了可归约串的问题。算符优先分析法是采用最左素短语进行归
约的,严格来讲不属于规范规约的范畴。
因此,在设计以前我们必须要知道什么是素短语和最左素短语。所谓素短语就
是指句型中具有这样性质的短语:至少含有一个终结符,且除了自身之外,不再含
有任何更小的素短语的短语。最左素短语,是指在句型的所有素短语中,处于句型
最左边的素短语。
了解了素短语和最左素短语,那么如何构造这种算法呢?首先,根据非终结符
的FIRSTVT集和LASTVT集找出它们之间的优先关系,构造算符优先矩阵。然后,由
此矩阵构造相应符号串的算符优先分析表并编写程序。
- 2 -
算符优先词法分析器
在算符优先算法中,存在定理:
一个算符优先文法G的任何句型
# NaNaNaN# 1 1 2 2 ? n n n+1
(a?V,N?V,i=1, 2, ?,n, n+1,N可有可无) TjNj
的最左素短语是满足下列条件的最左子串:
NaNaNaNj j j+1 j+1 ? i i i+1
其中,aaj-1 j
a= a, ?,a = aj j+1i-1i
aai i+1
由该定理可以看出,在算符优先文法的句型中,任何素短语中最相近的两个终
结符的优先级相等,且素短语中位于最前面的终结符的优先级高于在句型中紧临其
前的终结符的优先级,而素短语中处于最后面的终结符的优先级高于在句型中紧随
其后的终结符的优先级。
设有算符优先文法G[S]=(V, V, P, S),则得出如下步骤:NT
1、根据G[S]文法构造优先关系矩阵;
2、设置一个符号栈S,存放已经归约的或待形成最左素短语的符号串,另设一
个工作单元R,存放当前的待输入符号;
3、采用移进归约的方法,当符号栈S的栈顶形成可归约串——最左素短语时,
进行归约。具体方法如下:
?分析开始时,符号栈S中只有一个符号“#”,工作单元R中存放输入串的第一个终结符;
?查优先关系矩阵,比较符号栈中最靠栈顶的终结符号(假设为a)与工作单元R中的终结符(假设为b)的优先关系;
?)若a,b之间无优先关系,则出错并退出分析程序;
- 3 -
算符优先词法分析器
?)若ab或a=b,则将b进栈,扫描指针后移,工作单元R中存放下一待
输入的终结符,重复?;
?)若ab,则表明此时栈顶已经形成最左素短语,转?; ?从符号栈中最靠栈顶的终结符X开始,依次向前(向栈底方向)与最近的终n
结符比较,若X=X则继续比较X和X如此反复,直至 n-1n,n-2n-1
X X(i=1, 2, ? n, 设X= #) i-1 i 0
为止,
于是最左素短语的左界也确定,此时最左素短语为从N开始(N为在X之前紧iii临X的非终结符,若为“空”,则从X开始)一直到栈顶的符号串: ii
NXNX? NXNi i i+1 i+1 n n n+1
?在文法G[S]的产生式中,选择其右部具有NXNX? NXN形式的规i i i+1 n+1 n n n+1则进行规约(注意:此时非终结符号不必完全相同):弹出符号栈栈顶的最左素短语,
相应规则的左部非终结符进栈。若此时分析栈中只有#和文法的一个非终结符,且待分析符号串只剩下#(即工作单元R中符号为#),则表明分析成功,所分析的输入串
(源程序)是文法G[S]的句子,退出分析程序;否则,重复?。
有了以上的思路,我们首先对已经给定的文法按其产生式构造算符优先关系表,
有了算符优先关系表并满足算符优先文法时,我们就可以对
您可能关注的文档
- 学校交通安全教育自查报告.doc
- 论我国金融市场的发展现状及其未来创新趋势8000.doc
- 斜拉桥施工方案.doc
- 班级特色管理.doc
- 对梦圆无线家庭影院的剖析与比较-市场研究报告_4661.doc
- 人教版小学数学2年级下册堂堂清全册.doc
- 调车长必知必会手册.doc
- 同心、同行、我与XX企业共成长.doc
- 实用中医基础学.doc
- 值班电工岗位职责.doc
- 二零二四版豪华别墅木地板设计与施工一体化合同.docx
- 二零二四版豪华别墅木工小班组装修工程承包合同.docx
- 二零二四版谷颖离婚协议书:2024年度财产分割与子女抚养协议.docx
- 二零二四版豪华别墅短期居住租赁合同.docx
- 2025年中国包装产业园区行业市场深度分析及发展前景预测报告.docx
- 2022-2027年中国内镜专用消毒液行业发展监测及发展战略规划报告.docx
- 二零二四版谷颖李明离婚协议书:2024年度财产分割与子女监护具体条款.docx
- 二零二四版谷颖李明离婚协议书:2024年度财产分割与子女监护具体条款.docx
- 二零二四版谷颖离婚协议书:2024年度婚姻解除与财产分配具体条款书.docx
- 二零二四版语音识别技术服务合同doc.docx
最近下载
- 沪教版(2024)化学九年级上册第6章 综合素质评价.docx VIP
- 铝压延加工设备维护与故障排除考核试卷.docx
- 沪教版(2024)化学九年级上册第3章 综合素质评价.docx VIP
- 北师大版五年级数学上册-易错题.doc VIP
- 沪教版(2024)化学九年级上册第2章 综合素质评价.docx VIP
- (完整word)八年级英语单词听写表(新人教版).docx
- 沪教版(2024)化学九年级上册第5章 综合素质评价.docx VIP
- 沪教版(2024)化学九年级上册第1章 综合素质评价.docx VIP
- 《3-6岁儿童学习与发展指南》解读.ppt VIP
- 沪教版(2024)化学九年级上册第4章 综合素质评价.docx VIP
文档评论(0)