首先介绍一下什么是LL(1)文法
在清华大学编译原理(第三版)第四章 自顶向下语法分析方法中涉及到LL(1)文法。
LL(1)文法是一种确定的自顶向下的判断文法,它对文法有一定的限制,然而其实现方法简单直观,便于手工构造或自动生成语法分析器,是最常用的分析方法之一。
对文法G的句子进行确定的自顶向下语法分析的充分必要条件是,G的任意两个具有相同左部的
产生式A—>α|β 满足下列条件:
(1)如果α、β均不能推导出ε,则 FIRST(α) ∩ FIRST(β) = ∅。
(2)α 和 β 至多有一个能推导出 ε。
(3)如果 β *═> ε,则 FIRST(α) ∩ FOLLOW(A) = ∅。
将满足上述条件的文法称为LL(1)文法。
判断LL(1)文法的步骤
1、求储能推出ε的非终结符、
2、计算FIRST集
3、计算FOLLOW集
4、计算SELECT集
SELECT交集为空则为LL(1)文法。