- 20
- 0
- 约4.64千字
- 约 37页
- 2019-11-27 发布于福建
- 举报
4-2-2 语法分析 算符优先三、用栈实现移进归约分析移入归约分析器使用了一个栈来保存文法符号, 用输入缓冲区来存放待分析的串w,$为栈底符号和输入结束标记。初始时,栈和输入串的情形为: 栈 输入串 $w $ 终止时,形成如下格局: 栈 输入串 $S$ 考虑文法4.2: E→E+T|T T→T*F|F F→(E)|idid1*id2+id3的分析过程如下: 步骤符号栈输入串动作0 $id1*id2+id3 $ prepare1$id1*id2+id3 $移入 2$F*id2+id3 $归约F→id3$T *id2+id3 $归约T→F 移进$T*4 id2+id3 $5$T* id2 +id3 $移进归约F→id6$T*F +id3 $ 归约T→T*F$T +id3 $ 7 归约E→T$E +id3 $8$E+ id3 $移入910 $E+id3$移入归约F→id11$E+F$12$E+T$归约T→F13归约E→E+T$$E$access14 $E 移进归约的基本动作:移进:把下一个输入符号移进栈归约:栈顶已形成句柄右端,需向栈 内搜索确定句柄的左端,并选 择正确的非终结符进行替换接受:分析成功出错:调用错误处理程序 四、句柄的识别解决两个问题: 1、最左性:栈顶形成的一定是最左直接短语2、判断句柄的左、右端:优先法状态法 5.2 算符优先分析四则运算的优先规则: 先乘除后加减,同级从左到右考虑二义文法文法G(E):G(E): E ? i| E+E|E-E|E*E|E/E|(E)它的句子有几种不同的规范规约。归约即计算表达式的值。归约顺序不同,则计算的顺序也不同,结果也不一样。如果规定算符的优先次序,并按这种规定进行归约,则归约过程是唯一的。起决定作用的是相邻的两个算符之间的优先关系。所谓算符优先分析法就是定义算符之间的某种优先关系,借助于这种关系寻找“可归约串”和进行归约。定义4. 4 算符文法一个文法,如果它的任一产生式的右部都不含两个相邻的非终结符,即不含有形如A→……QR……的产生式,则该文法是算符文法定义4.5 相邻若S= …ab …或S= …aQb …,称a,b相邻 定义关系① a b:当且仅当存在产生式A→…ab… 或A→…aTb…,称a、b同等归约②a b:当且仅当存在产生式A→…aT…, 且T=b…,或T=Rb…,称a后 于b归约③a b:当且仅当存在产生式A→…Tb…, 且T=…a,或T=…aR,称a先 于b归约④ab无关系:当且仅当a与b在任何句型 都不相邻 算符优先文法如果一个算符文法G中的任何终结符对(a,b)至多只满足下述三关系之一:ab,ab, ab 则称G是一个算符优先文法。 例:考虑下面的文法G(E): (1) E→E+T | T (2) T→T*F | F (3) F→P ? F | P (4) P→(E) | i由第(4)条规则,有 ‘(’‘)’;由规则E→E+T和T?T*F, 有 +*;由(2) T→T*F 和(3) F→P ? F ,可得*↑;由(1)E→E+T和E ? E+T,可得++;由(3)F→P?F和F ? P?F,可得↑↑。由(4)P→(E)和 E?E+T?T+T?T*F+T?F*F+T?P↑F*F+T?i↑F*F+T 有 (+、(*、(↑和(i。 优先关系表2. ab 当且仅当G中含有形如P→…aR…的产生式, 而R b…或R Qb…;3. ab 当且仅当G中含有形如P→…Rb…的产生式,而 R …a或R …aQ。从算符优先文法G构造优先关系表的算法。通过检查G的每个产生式的每个候选式,可找出所有满足ab的终结符对。1. ab 当且仅当文法G中含有形如P→…ab…或P→…aQb…的产生式;确定满足关系和的所有终结符对:从算符优先文法G构造优先关系表的算法。通过检查G的每个产生式的每个候选式,可找出所有满足ab的终结符对。确定满足关系和的所有终结符对:首先需要对G的每个非终结符P构造两个集合FIRSTVT(P)和LASTVT(P):比较比较有了这两个集合之后,就可以通过检查每个产生式的候选式确定满足关系和的所有终结符对。假定有个产生式的一个候选形为…aP… 那么,对任何b?FIRSTVT(P),有 ab。假定有个产生式的一个候选形为…Pb… 那么,对任何a?LASTVT(P),有 ab。首先讨论构造集合FIRSTVT(P)的算法。按其定义,可用下面两条规则来构造集合FIRSTVT(P):1. 若有产生式P→a…或P→Qa…,则a?FIRSTVT(P);2. 若a?FIRSTVT(Q),且有产生式P→Q…
您可能关注的文档
- 人教版九年级上册 24.1.2 垂直于弦的直径 .pptx
- 高中数学人教版必修二:3.1直线的倾斜角和斜率导学案(无答案).doc
- 牛津译林英语九年级上册Unit5 Integrated skills.ppt
- 洛得电子珠海保税区厂房加固工程计算书.doc
- 2020届高三地理专题提高训练:人口问题.docx
- 黑龙江省讷河市育才学校2019-2020年八年级上学期期中考试生物(无答案).docx
- 湘教版高中地理必修一第一章第三节 地球的运动 .pptx
- 浙教版九年级数学上册1.4:二次函数的三种解析式课件.pptx
- 供应链编制成网-超越供应链整合的梦想.doc
- 《培训课件体系构建与管理》.ppt
- 2026年陕西省安康地区单招职业适应性考试题库参考答案详解.docx
- 2026年陕西省安康地区单招职业适应性测试题库及答案详解一套.docx
- 2026年陕西省安康地区单招职业适应性测试题库及完整答案详解1套.docx
- 边坡支护锚杆施工与监测方案.docx
- 2026年陕西省安康地区单招职业适应性测试题库及答案详解1套.docx
- 智慧交通创新施工方案.docx
- 安庆薪酬制度与薪酬管理.docx
- 2025年(完整版)项目竣工验收报告(简单版).docx
- 2026年陕西省安康地区单招职业适应性测试题库及参考答案详解一套.docx
- 2026年陕西省安康地区单招职业适应性测试题库及参考答案详解1套.docx
最近下载
- (人教版2026新教材)数学二年级下册新教材解读课件.pptx
- 松下sj-mr220中文使用说明书.pdf VIP
- 融优学堂明式家具赏析(中国美术学院)章节测验答案.docx
- 2025年铁道统计公报 .pdf VIP
- 北汽新能源EU5维修手册OBC.pptx VIP
- ISO10292-1994建筑玻璃.多层玻璃稳态U值(热透过率)的计算.PDF VIP
- 北汽新能源EU5维修手册-电路图.pdf VIP
- TCNEA-核电工程班组建设评价指南及编制说明.pdf VIP
- 基层行低利率环境对金融增加值的影响分析.pdf VIP
- 2025-2026学年小学音乐鲁教版五四学制2024一年级下册-鲁教版(五四学制)(2024)教学设计合集.docx
原创力文档

文档评论(0)