编译i原理5 算符优先文法

算符优先文法

自下而上语法分析

  1. 简述自下而上语法分析的基本思想,基本过程和基本操作

基本思想:就是从待分析的终结符号串出发,反向使用产生式规则,将产生式规则右部的符号串归约为左部的非终结符。通过一系列这样的归约,最终能归约出文法的起始符号,则证明待分析的终结符号串是合法的句子

  1. 关键问题:寻找可归约串,即对于待分析的符号串,应选择其中的哪个子串进行归约
  2. 算符优先文法时,使用优先函数有什么优点和缺点
    (1) 优点:使用优先函数为文法中每一个终结符赋予两个函数值f和g,减少了优先关系表尺寸,节省了存储空间;同时通过数值表达终结符之间的优先关系,提高了比较终结符之间优先关系的效率
    (2) 缺点:在优先关系表中,某些终结符之间不存在优先关系,但是变成优先函数后,由于任意数值之间都可以比较,会导出任意终结符对都存在优先关系的结论,这样就产生了新问题

算符优先文法

  1. 优先级符合的规矩:
    在这里插入图片描述

  2. 步骤:

    1. 构造FIRSTVT:
      在这里插入图片描述

    2. 构造LSATVT:
      在这里插入图片描述

    3. 构造分析表:
      在这里插入图片描述
      在这里插入图片描述

    4. 分析过程:
      ①入栈符号优先级比栈顶符号优先级大则入栈
      ②相等也入栈
      ③如果入栈符号优先级小于栈顶的优先级,栈顶非终结符号进行递归

    5. 算符优先分析法分析句子成功的标志:
      堆栈中符号为‘#’和文法的开始符号,缓冲区的指针指向符号‘#’

    6. 算符优先分析法按照算符优先关系表进行归约,每一次归约当前句型的最左素短语,而不是句柄,所以其归约过程不是规范的

    7. 不相邻的终结符没有相应的优先关系

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值