编译原理学习笔记10——语法分析|自下而上分析1

10.1 语法分析

语法分析的方法

  • 自上而下(Top-down)
    • 从文法的开始符号出发,反复使用各种产生式,寻找"匹配"的推导推导∶根据文法的产生式规则,把串中出现的产生式的左部符号替换成右部
    • 从树的根开始,构造语法树递归下降分析法、预测分析程序
  • 自下而上(Bottom-up)
    • 从输入串开始,逐步进行归约,直到文法的开始符号
    • 归约∶根据文法的产生式规则,把串中出现的产生式的右部替换成左部符号
    • 从树叶节点开始,构造语法树算符优先分析法、LR分析法

在这里插入图片描述

  • 自下而上分析的基本思想
  • 基本思想
    • 从输入串开始,逐步归约,直到文法的开始符号
    • 归约:根据文法的产生式规则,把串中出现的产生式的右部替换成左部符号
    • 从树叶节点开始,构造语法树
  • 算符优先分析法
    • 按照算符的优先关系和结合性质进行语法分析
    • 适合分析表达式
  • LR分析法
    • 规范归约:句柄作为可归约串

移进-归约分析示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.2 短语

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

短语和直接短语
在这里插入图片描述

10.3 分析过程描述

在这里插入图片描述

自下而上分析法回顾

自下而上分析法(Bottom-up) 基本思想:

  • 从输入串开始,逐步归约,直到文法的开始归约:根据文法的产生式规则,把串中出现式的右部替换成左部符号

  • 从树叶节点开始,构造语法树算符优先分析法 按照算符的优先关系和结合性质进行语法分LR分析法 规范归约:句柄作为可归约串

10.4 优先关系与算符优先文法

在这里插入图片描述
在这里插入图片描述

算符文法
一个文法,如果它的任一产生式的右部都不含两个相继(并列)的非终结符,即不含…QR…形式的产生式右部,则我们称该文法为算符文法。约定:

  • a、b代表任意终结符
  • P、Q、R代表任意非终结符
  • '…’代表由终结符和非终结符组成的任意序列,包括空字

算符优先文法
在这里插入图片描述

First vt 和 Last vt 集合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.5 构造优先关系表

在这里插入图片描述
在这里插入图片描述

最左素短语

  • 最左素短语
  • 可归约串,句型,短语
  • 一个文法G的句型的素短语是指这样一个短语,它至少含有一个终结符,并且,除它自身之外不再含任何更小的素短语
  • 最左素短语是指处于句型最左边的那个素短语

在这里插入图片描述
在这里插入图片描述

10.6 算符优先分析算法描述

  • 使用一个符号栈S,用它寄存终结符和非终结符,k代表符号栈S的使用深度

  • 在正确的情况下,算法工作完毕时,符号栈S应呈现:#N#

  • 算符优先分析程序构成 总控程序,根据现行栈顶符号和当前输入符号,执行动作

  • 优先关系表,用于指导总控程序进行移进-归约分析栈STACK,用于存放文法符号

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值