编译原理课程总结--第四章:语法分析-自上而下分析

本文介绍了编译原理中语法分析的自上而下方法,包括消除左递归和回溯的过程,强调了LL(1)分析的重要性,并详细阐述了预测分析表的构造及其在分析程序中的应用。

第四章 语法分析–自上而下分析

首先语法分析部分是作为编译过程的核心部分。它的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。
本质上就是按文法的产生式,识别输入符号串是否为一个句子。
就是建立一棵与输入串相匹配的语法分析树

这里写图片描述

(语法分析器在编译程序中的地位)

根据语法分析树的建立方法把语法分析分成两类: 自上而下分析法、自下而上分析法

  判断
  1、从文法的起始符出发进行句子的推导,即**自上而下的分析**
  2、从句子本身出发,进行归约,看能否把句子规约为到起始符,即**自下而上的规约**

自上而下的分析方法的基本思想:
对任何一个输入串,试图用一切可能的办法,从文法的开始符号(根节点)出发,根据文法自上而下地为输入串建立一棵语法树,即为输入串寻找一个最左推导。

思想本质:是一种试探过程,是反复使用不同产生式谋求匹配输入串的过程。

从下面的例子中可以看出自上而下分析法面临的问题
这里写图片描述

首先从上面的例子中得到语法分析器的构造方法是这样的
让每个非终结符号对应一个递归子程序。每个子程序可以作为一个布尔过程(返回“真”或“假”):
(1)一旦发现该非终结符的某个候选式与输入串相匹配,就用这个候选式去扩展语法树,并返回“真”值;
(2)该候选式和输入串不匹配,则保持原来

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值