- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 直观算符优先分析法 为了易于理解算符优先分析法,先介绍一种简单的算符优先分析法—直观算符优先分析法。 四则运算的例子说明了运算的次序只与运算符有关,而与运算对象无关。 因而直观算符优先分析法的关键是对一个给定文法G,人为地规定其算符(终结符)的优先关系,再根据任何两个可能相继出现的终结符的优先关系对输入串进行归约。 * 算符文法(OG文法) 设有一文法G,如果文法中没有形如 A → …BC…的产生式,则称G为算符文法,也称OG文法(Operater Grammar)。 即:产生式右部不包含两个相邻非终结符。 由此定义,算符文法的句型形式如下 [V1]a1[V2]a2……[Vn]an[Vn+1] 其中, ai ∈ VT,Vi∈ VN,Vi为可选项。 * 算符优先关系 设G是一个不含ε产生式的算符文法,a,b∈ VT; 而A,B,C∈VN,定义算符优先关系如下: 1. a±b:当且仅当G中存在形如A→…ab…或A→…aBb…的产生式。 2. a≮b:当且仅当G中存在形如A→…aB…的产生式,且B=+ b…或B =+ Cb…。 3. a≯b:当且仅当G中存在形如A→…Bb…的产生式,且B =+ …a或B =+ …aC。 * 算符优先文法(OPG文法) 设有一不含ε产生式的算符文法G,如果对任意两个终结符a、b之间至多存在一种算符优先关系,那么该算符文法是一个算符优先文法,也称OPG文法(Operator Precedence Grammar)。 至多:要有关系就有±、≮、≯中的一种,要不就没有。 算符优先分析仅适用于算符优先文法。 算符优先分析法中,我们用最左素短语来刻划可归约串。 * 举例 设有文法G: (1) E→E+T|T (2) T→T*F|F (3) F→P↑F|P (4) P→(E)|i 试问G是OPG文法吗? 1. 先根据OG文法的定义判断G是否是OG文法; 2. 再找出G中所有终结符对的优先关系; 3.最后根据OPG文法的定义判断G是否是OPG文法。 * OPG优先关系的构造 1. 由算法构造算符优先关系 2. 由关系图构造算符优先关系(自学) * 由算法构造算符优先关系 定义: FIRSTVT(B)={b|B=+ b…,或B=+ Cb…} LASTVT(B)={a|B=+… a,或B=+… aC} 构造优先关系: 1. ±关系:若有形如A→…ab… A→…aBb…的产生式,则a ± b。 2. ≮关系:若有形如A→…aB…的产生式,b ∈ FIRSTVT(B),则a ≮b。 3. ≯关系:若有形如A→…Bb…的产生式,a ∈ LASTVT(B),则a ≯ b。 * FIRSTVT和LASTVT的构造 FIRSTVT(A)的构造: LASTVT(A)的构造: 1.若有A→a…或A→Ba…,则 a∈FIRSTVT(A); 2. 若 a∈FIRSTVT(B),且有A→B…,则a∈FIRSTVT(A)。 1. 若有A→… a或A→… aB,则a∈LASTVT(A); 2. 若 a∈LASTVT(B),且有A→…B,则a∈LASTVT(A) * 素短语 素短语是满足下面条件的短语: 1. 至少包含一个终结符。 2. 该短语不再包含满足第一个条件的更小的短语。 最左素短语:是处于句型最左边的那个素短语。 * 关于句型T+T*F+i的素短语 短语有T+T*F+i,T+T*F,T*F,T,i。 其中,素短语为T*F,i。 T+T*F+i,T+T*F不是素短语,因为其中包含了T*F。 T不是素短语,因为其中没有终结符号。 最左素短语:T*F。 E E + T E T + F i T * F T * 关于最左素短语的定理 一个算符优先文法的句型的最左素短语是该句型中满足下列条件的最左子串 [Vi]ai……[Vj]aj[Vj+1]: ai-1≮ai ±ai+1±…±aj≯aj+1 算符优先分析算法就是根据这个最左素短语的定理构造的。 * 算符优先分析算法的实现 工作原理:对当前句型不断寻找最左素短语进行归约的过程。寻找最左素短语时,首先找到最左素短语的末尾终结符,然后再向前搜索最左素短语的首终结符。 使用的数据结构:栈,数组。 有关约定:#作为语句括号,视为终结符,其优先级最低。 * 算符优先分析算法与简单优先分析算法的比较 两个算法类似,所不同的是算符优先分析算法每一步归约不一定是规范归约,而是找出最左素短语进行归约,并且在寻找最左素短语的过程中,只比较终结符之间优先关系,不受非终结符的影响。 *
您可能关注的文档
最近下载
- 甲醇应急处置方案.docx VIP
- 2025下半年广东珠海市纪委监委招聘所属事业单位工作人员12人备考笔试试题及答案解析.docx VIP
- 物业工程部人员个人年终总结PPT.pptx
- 广东省大湾区2026届高三上学期10月联合模拟考试 英语试卷含答案.docx VIP
- 2025下半年广东珠海市纪委监委招聘所属事业单位工作人员12人考试备考试题及答案解析.docx VIP
- 投标文件—质保期服务计划(模板).docx VIP
- 中心小学2022年控辍保学工作总结六篇范例.docx VIP
- 2025下半年广东珠海市纪委监委招聘所属事业单位工作人员12人参考考试题库及答案解析.docx VIP
- 大概念教学视角下初中“二次函数”的单元教学设计一则.pptx VIP
- 建设工程施工合同(示范文本)GF-2013-0201(1).pdf VIP
原创力文档


文档评论(0)