本文的图片来自网易云课堂华保健老师的编译原理
这五种文法都是自动生成的,基于表驱动的语法分析方法。
可以分为两类:LL(1)和其余四种。前者是自顶向下的,从最初的S推导出整个句子。后者是自底向上的,从句子规约为S。(S为代表整个句子的非终止符。)
SLR和LR(1)是在LR(0)基础上,对规约进行了改进,其余部分基本一样。
LL(1)
构造LL(1)表的过程中涉及的概念:
FIRST集:从非终结符N开始推导得出的句子开头的所有可能终结符集合。
FIRST_S(X Y Z):从FIRST推广出的概念,句子XYZ的FIRST集。
NULLABLE集:可能推导出空的非终结符集合。
FOLLOW集:非终结符后可能跟的符号。