编译原理(4):语法分析上——自顶向下分析

声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。

一、自顶向下分析概述

最左推导(Left-most Derivation)

在这里插入图片描述

最右推导(Right-most Derivation)

在这里插入图片描述

自顶向下分析(Top-Down Parsing)
  • 从分析树的顶部(根节点)向底部(叶节点)方向构造分析树可以看成是从文法开始符号S推导出词串w的过程
    在这里插入图片描述
  • 每一步推导中,都需要做两个选择
    • 替换当前句型中的哪个非终结符
    • 用该非终结符的哪个候选式进行替换
自顶向下的语法分析采用最左推导方式
  • 总是选择每个句型的最左非终结符进行替换
  • 根据输入流中的下一个终结符,选择最左非终结符的一个候选式
    在这里插入图片描述
自顶向下语法分析的通用形式

递归下降分析 (Recursive-Descent Parsing)

  • 由一组过程组成,每个过程对应一个非终结符
  • 从文法开始符号S对应的过程开始,其中递归调用文法中其它非终结符对应的过程。如果S对应的过程体恰好扫描了整个输入串,则成功完成语法分析
    在这里插入图片描述
预测分析 (Predictive Parsing)
  • 预测分析是递归下降分析技术的一个特例,通过在输入中向前看固定个数(通常是一个)符号来选择正确的A-产生式。
  • 可以对某些文法构造出向前看k个输入符号的预测分析器,该类文法有时也称为LL(k) 文法类
  • 预测分析不需要回溯,是一种确定的自顶向下分析方法

二、文法转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值