- 13
- 0
- 约1.23万字
- 约 53页
- 2017-04-04 发布于江苏
- 举报
5-_bottom_up
第5章 语法分析——自下向上分析 5.1 移进-归约分析 (自底向上分析的一般过程) 5.2 算符优先分析法 自底向上分析基本算法思想 5.1.1 移进—规约分析(Shift-reduce parsing) 要点:用一个寄存符号的先进后出栈,把输入符号一个一个地移进到栈里,当栈顶形成某个产生式的一个候选式时,即把栈顶的这一部分替换成(规约为)该产生式的左部符号(非终结符)。 可归约串:栈顶上的一串可用某个候选式左部符号代替的符号串称为“可归约串”。 上例中,栈顶Ab形成“可归约串”,而b不是,这是从下而上分析的关键问题。 在算符优先分析中,用最左素短语来刻画“可归约串”,在规范规约中,则用“句柄”来刻画“可归约串”。 在自下而上分析中,每一步规约都可画出一棵子树来,随着规约的完成,这些子树被连成一棵统一的语法分析树。如上例中,每步栈顶的规约形成的语法树情况为: 5.1.2 规范规约简述 令G是一个文法,S是文法的开始符号,假定αβδ是文法G的一个句型,如有S=αAδ,且A=β,则称β是句型αβδ相对于非终结符A的短语。如有A=β,则称β是句型αβδ相对于产生式A β的直接短语,一个句型的最左直接短语为该句型的句柄。 例如,考虑如下文法(5.2): E→T|E+T T→F|T*F F→i|(E) 的一个句型i1*i2+i3,尽管有E=i2+i3,但i2+i3不是该句型的短语,因为不存在从E到i1*E的推导。而i1,i2,i3 ,i1*i2 i1+i2*i3自身都是句型i1*i2+i3的短语,而i1,i2,i3 均为直接短语, i1为句柄。 用句柄来对句子进行规约,例如文法5.1的句子abbcde,逐步用句柄对应的左部符号去替换,得到如下规约过程(见黑板) 5.1.3 符号栈的使用与语法树的表示 栈是语法分析的一种基本的数据结构。一个“移进—规约”分析器使用了这样的一个符号栈和一个输入缓冲区。用不属于文法的符号“#”作为栈底符号和输入串的“结束符”。 分析开始时,栈和输入串的初始情况为: 符号栈 输入串 # W# 分析器的工作过程:自左向右把输入串W的符号一一移进符号栈里,一旦发现栈顶形成了可规约串时,就把这个串用相应的规约符号代替(产生式左部)。持续多次替换,直至栈顶不再呈现可规约串为止。然后继续移进符号,重复整个过程,直至最终形成如下格局: 符号栈 输入串 #S (开始符号) # (输入串全部被吸收) 这种格局表示分析成功,否则意味着输入串w含有语法错误。 语法分析对符号栈的使用有四类操作: 移进(shift)——把输入串的符号移进栈; 规约(reduce)——当发现栈顶呈现可规约串时,用适当的相应符号去替换这个串。 接受(accept)——宣布最终的分析成功,是规约的一种特殊形式。 出错处理(error)——发现栈顶的内容与输入串相悖,此时需调用出错处理程序进行诊断和校正,并对栈顶的内容和输入符号进行调整。 *规约时任何可规约串的出现必在 栈顶,不会在栈的内部 在上述移进—规约分析中,关键需要解决两个问题: 1 如何确定栈顶是否已经形成句柄: 2 当句柄形成时,如何选择正确的产生式,用其左部进行规约。 这两个问题可待解决。 5.2 算符优先分析(Operator-precedence Parsing) 5.2.1 概述 直观算符优先算法 使用两个工作栈: OPTR——用来存放运算符、括号和# OPND——用来存放操作数和运算结果 分析开始时,OPTR 栈底放一个#,输入串之后也放一个#,OPND为空。令θ代表OPTR现行栈顶符号,a存放新输入的那个符号,分析算法如下: 把一个输入符号读到a中; 若a为i,则推进OPND,转第1步; 若θa,则调用关于θ的处理程序(语义程序),处理子表达式E(1) θE(2)。 其中,E(1)和E(2)分别为OPND栈的最顶项和次顶项,即为θ的两个操作数;用代表这个子表达式的有关信息代替OPND栈顶原项,同时把θ从OPTR栈顶逐出,然后重新进入第3步(此时θ已代表OPTR的新栈顶了)。 若θ=a,按优先表只有两种可能: θ=‘(’ a=‘)’此时逐出OPTR栈顶的‘(’,放弃a中的‘)’,然后转第1步; θ=a=‘#’,此时分析过程结束。 若θa,把a推进OPTR栈,转至第1步; 6 θ与a不存在优先关系,这意味着输入串含有错误,调用出错处理程序进行诊断。 分析成功的标志 OPTR栈中的#与输入串后的#相遇(第4步),而OPND仅含一项(代表表达式的分析结果);否则分析失败,源程序出错。 在第3步和第4步,当要形成子式E(1)θ
您可能关注的文档
- 零基础学会写英文句子.ppt
- 青少年版新概念英语1A_Unit2.ppt
- 韩国艾滋病检测试纸ppt.ppt
- 韩范唯美水彩家长会教师通用说课PPT模板.pptx
- 高一英语课件:上学期module 3 外研英语.ppt
- 马武中学初二英语第一次测评.doc
- 高一英语上学期Unit3 travel journal词汇讲解.ppt
- 香奈儿channel介绍PPT.ppt
- 高中英语必修4 Unit3 A taste of English humor达标训练.doc
- 高中英语必修四unit2全单元课件2.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 塔吊工作安全培训内容课件.pptx VIP
- 2024-2025学年天津市部分区七年级(上)期末历史试卷(含答案).docx
- 天津大学物理化学教学课件ppt合集.pptx
- 土豆种植时间和方法.doc VIP
- SMAR公司DT301密度计说明书.pdf
- 2、高鸿业宏观经济学教案.doc VIP
- 高杆灯取电照明装置.pdf VIP
- Unit 2 Expressing yourself Part B let's learn 教案 三年级英语下册 人教PEP版.docx VIP
- 【通用】马年猜猜乐PPT(猜成语)打印版【课件】.pptx
- PDCA循环-提高手术间无菌物品定位放置规范率PPT优秀案例.pptx
原创力文档

文档评论(0)