本文主要是介绍自顶向下语法分析方法:提取左公共因子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
若文法中含有形如A->αβ|αγ的产生式,就会使FIRST集相交,就满足不了LL(1)文法的充分必要条件。
可以做下面的等价变换:
A->αβ|αγA->α(β|γ) A->αA' 引入新的终结符A'A'->β|γ
一般形式:
A->αβ1|αβ2|...|αβn
A->α(β1|β2|...|βn)
A->A'
A'->β1|β2|...|βn
例子:
文法的产生式为:
S->aSb
S->aS
S->ε
对产生式提取左公共因子:
S->aS(b|ε)
S->ε
引入终结符A
S->aSA
A->b
A->ε
S->ε
这篇关于自顶向下语法分析方法:提取左公共因子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!