如何判定一个文法是LL(1)文法?
时间: 2024-05-22 15:11:10 浏览: 91
LL1文法判定
5星 · 资源好评率100%
一个文法是LL(1)文法,当且仅当它符合以下条件:
1. 对于每个非终结符 A 和每个输入符号 a,都最多有一个产生式以 A 开始且以 a 开始。
2. 对于每个非终结符 A,它的所有产生式的首符集互不相交。
3. 对于每个非终结符 A 和每个输入符号 a,它的产生式中没有一个以 A 开始且包含 a 的产生式能够推导出空串。
4. 对于每个非终结符 A,它的每个产生式的首符集和其后继符号的首符集互不相交,或者它的某个产生式能够推导出空串,并且它的每个产生式的首符集和其后继符号的首符集的并集互不相交。
如果一个文法符合以上四个条件,那么它就是LL(1)文法。
阅读全文