一、 LL(1)文法的判别条件
若一个文法满足以下条件,则称该文法G为LL(1)文法:

例题1
有文法
G(S):
S → S*aP | aP | *aP
P → +aP | +a
(1)判断该文法是否为LL(1)文法,如果不是,请改写成LL(1)文法
解:不是,因为 S → S*aP | aP | *aP 中含有左递归,P → +aP | +a 中含有左公共因子
改写:
①
消除左递归
S → aP S’| *aPS’
S’ → *aPS’|ε
P → +aP | +a
提取左公共因子
S → aP S’| *aPS’
S’ → *aPS’|ε
P → +aP’
P’→P|ε
②


③