码迷,mamicode.com
首页 > 其他好文 > 详细

编译原理(四)语法分析之自顶向下分析

时间:2018-01-17 22:01:52      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:分析   语法分析   markdown   特点   标准   下一步   效率   根据   内容   

语法分析之自顶向下分析

说明:以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记。

基本过程分析

1. 一般方法:对任一字符串,试图用一切可能的方法,从树根节点(开始符号)出发,根据文法自上而下地为输入符号串建立一棵语法树。直观理解为从开始符号出发,依据规则建立推导序列,最后推至目标字符串。

2. 特点:分析过程是带有预测的,是一种试探过程。试探失败就会出现回溯问题,降低了分析的效率。

3. 存在问题:左递归问题、回溯问题。

问题一:左递归问题

1. 左递归文法:文法规则中有形如 \(U::=U···\) 或 $ U=+>U···$。

为什么自顶向下分析不能处理左递归?
答:试想,若遇到非终结符U时,尝试用该规则右部 "U···" 去匹配字符串,下一步又要匹配U,又要尝试用用该规则右部 "U···" 右部去匹配,无限循环无终止。

2. 消除左递归

引用说明

- 邵老师课堂PDF
- 《编译原理级编译程序构造》

编译原理(四)语法分析之自顶向下分析

标签:分析   语法分析   markdown   特点   标准   下一步   效率   根据   内容   

原文地址:https://www.cnblogs.com/AlvinZH/p/8306007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!