语法分析(自顶向下 / 自底向上)
自顶向下
- 递归下降分析法
这种带回溯的自顶向下的分析方法实际上是一种穷举的不断试探的过程,分析效率极低,在实际的编译程序中极少使用。
- LL(1)分析法
又称预测分析法,是一种不带回溯的非递归自顶向下分析方法。(使用显式栈)
LL(1)的含义是:第一个L表明自顶向下分析是从左向右扫描输入串,第2个L表明分析过程中将使用最左推导,1表明只需向右看一个符号便可决定如何推导,即选择哪个产生式(规则)进行推导。
需要解决的几个问题
1. 怎么根据某个文法构造LL(1)分析表
- First集
注:first集需要注