编译原理(三)语法分析基础

语法分析基础

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

功能与方法

1. 根据文法规则,从源程序单词符号串中识别出语法成分,并进行语法检查,未予以分析和代码生成做准备。

2. 两大分析方法:自顶向上分析与自底向上分析。

自顶向下分析

1. 自顶向下分析方法:直观理解为从开始符号出发,依据规则建立推导序列,最后推至目标字符串。

2. 存在主要问题

  • 左递归问题
  • 回溯问题

3. 主要解决方法

  • 递归子程序法
  • LL分析法

自底向上分析

1. 自底向上分析方法:直观理解,从目标串出发,自左向右扫描,反复查找当前句型的句柄建立规约序列,最后规约至开始符号。

2. 存在主要问题

  • 句柄的识别问题
  • 若两个以上规则右部有相同符号且构成句柄,如何选择?

3. 主要解决方法

  • 算符优先分析法
  • LR分析法

如何实现自顶向下分析与自底向上分析?请看下回分解。

引用说明

- 邵老师课堂PDF
- 《编译原理级编译程序构造》
原文地址:https://www.cnblogs.com/AlvinZH/p/8305744.html