编译原理复习笔记 第四章 语法分析

编译原理第四章

(本章有一些手写图片,后来编辑的时候才发现有些较小的图片没有改成png导致排版看起来不太合理,后续一定注意~)
在这里插入图片描述

4-1 自顶向下分析概述

  1. 从文法的开始符号S推导出词串w的过程
    在这里插入图片描述

  2. 最左推导:总是选择每个句型的最左非终结符进行替换
    在这里插入图片描述
    最左句型:
    在这里插入图片描述

  3. 最右推导:总是选择每个句型的最右非终结符进行替换
    在这里插入图片描述

  4. 最左推导和最右推导具有唯一性

  5. 扫描器从左向右扫描,故自顶向下的分析采用最左推导

  6. 自顶向下语法分析的通用形式:
    递归下降分析:由一组过程组成,每个过程对应一个非终结符
    在这里插入图片描述
    预测分析:一种确定的自顶向下分析方法,不需要回溯
    在这里插入图片描述

4-2 文法转换

(不是所有的文法都适合自顶向下的分析)

  1. 问题:同一个非终结符的多个候选式存在共同前缀,导致回溯现象;
    左递归导致无限循环;

在这里插入图片描述 3. 消除直接左递归→左递归转换为右递归
在这里插入图片描述
消除直接左递归的一般形式:
在这里插入图片描述
4. 消除间接左递归
在这里插入图片描述
5. 提取左公因子
在这里插入图片描述

4-3 LL(1)文法

  1. S_文法:
    在这里插入图片描述

  2. 非终结符的后继符号集:
    可能在某个句型中紧跟在A后的终结符a的集合,记为FOLLOW(A);
    如果A是某个句型的最后符号,则将结束符“$”添加到FOLLOW(A)中

  3. 产生式的可选集

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值